19

Gitlab と Sonarqube およびSonarqube Plugin SVG Badgesを使用しています。
gitlab で Sonarqube の状態を表すために、README.mdファイルに次のようなものがあります。

[![coverage](https://sonar.domain.com/api/badges/measure?key=com.domain:projectname&metric=coverage)](https://sonar.domain.com/component_measures/metric/coverage/list?id=de.domain:projectname)

これは完璧に機能します。私のバッジが表示され、リンクが機能し、すべて問題ありません。

次のようなものを構築する方法はありますか:

[![coverage](https://sonar.domain.com/api/badges/measure?key={MYDOMAIN}:{THIS}&metric=coverage)](https://sonar.domain.com/component_measures/metric/coverage/list?id={MYDOMAIN}:{THIS})

README.mdすべての開発者がコピーしてファイルに貼り付けるだけで、変数が README に自動的に入力されるようなスケルトンを提供したいと考えています。.gitlab-ci.yml

ここに記載されている永続的な Gitlab 変数も試しましたが、それも機能しませんでした!

 [![coverage](https://sonar.domain.com/api/badges/measure?key=com.mydomain:$CI_PROJECT_NAME&metric=coverage)](https://sonar.domain.com/component_measures/metric/coverage/list?id={MYDOMAIN}:$CI_PROJECT_NAME)

誰でも何か考えがありますか?

4

2 に答える 2

11

https://gitlab.com/help/ci/variables/README.mdの変数はCI 環境 (つまりジョブ) にのみ存在するため、ファイルを表示するときに Markdown ビューアーでそれらを使用することはできません。- とはいえ、それは機能の提案としては素晴らしいアイデアです。私は1つを開きました - https://gitlab.com/gitlab-org/gitlab-ce/issues/32255。お気軽に声をかけてください。

あなたができることは、それらの変数を配置したい場所にプレースホルダーを追加してから、sedそれらのジョブを作成することです。

update_readme:
  script:
    - echo $CI_PROJECT_NAME # Sanity check
    - sed -ie "s/{THIS}/$CI_PROJECT_NAME/g" README.md

単一引用符 (') ではなく、二重引用符 (") の使用に注意してください。二重引用符を使用すると補間されますが$CI_PROJECT_NAME、単一引用符はそのリテラル値を保持するだけです。

于 2017-05-15T09:34:59.547 に答える