在Gitlab中使用Gitlab变量README.md用于SonarQube徽章

Joe*_*erg 16 badge gitlab sonarqube gitlab-ci readme

我正在使用Gitlab和Sonarqube以及Sonarqube插件SVG徽章.
为了在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)
Run Code Online (Sandbox Code Playgroud)

这很完美.我的徽章显示,链接正常,一切都很好.

有没有办法建立像:

[![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})
Run Code Online (Sandbox Code Playgroud)

我想提供一个框架,每个开发人员都可以复制并粘贴到他们的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)
Run Code Online (Sandbox Code Playgroud)

有人有想法吗?

mat*_*yah 7

https://gitlab.com/help/ci/variables/README.md中的变量仅存在于CI环境(即作业)中,因此在显示文件时无法在Markdown查看器中使用它们. - 不过,对于功能提案来说,这是一个好主意.我开了一个 - 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
Run Code Online (Sandbox Code Playgroud)

注意使用双引号(")而不是单引号(').使用双引号将扩展,$CI_PROJECT_NAME而单引号将保留它的文字值.