tic*_*evi 6 variables pipeline gitlab-ci
我正在尝试建立一个管道来构建和测试我们的项目。A 已在组级别设置文件变量,以在 mvn 设置和证书的管道变量中使用
问题是,mvn_settings 文件被解析为文本而不是路径。所以我的构建失败了。
$ mvn $MAVEN_CLI_OPTS compile
Unable to parse command line options: Unrecognized option: --><!--
Run Code Online (Sandbox Code Playgroud)
如果我“回声”$mvn_settings我就得到了路径。另外,当我对管道正在工作的路径进行硬编码时,我的管道:
variables:
...
MAVEN_CLI_OPTS: "--batch-mode -s '$mvn_settings'"
...
before_script:
- keytool -importcert -file "$db_trust" -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -trustcacerts -noprompt
generate:
stage: generate
script:
- mvn $MAVEN_CLI_OPTS compile
artifacts:
paths:
- target/
expire_in: 3 days
...
Run Code Online (Sandbox Code Playgroud)
有什么方法可以确定管道何时使用内容以及何时使用路径?
当您在 .gitlab-ci.yml 文件的变量部分使用文件变量时,该变量将扩展为包含内容而不是文件名。这是 GitLab 中的一个错误,他们可能会在即将发布的版本中修复。这是 GitLab 上的问题:
https://gitlab.com/gitlab-org/gitlab/issues/29407
他们已将其标记为P2,这意味着他们将在标记后的 60 天内尝试修复它。不过,他们似乎错过了本月的最后期限。
同时,您可能必须在需要时手动使用该变量。如果您有一个巨大的 .gitlab-ci.yml 文件,您可能可以使用yaml 锚点或extends 关键字来重用部分脚本,而不必依赖变量扩展。
| 归档时间: |
|
| 查看次数: |
5586 次 |
| 最近记录: |