Val*_* K. 1 environment-variables gradle gitlab gitlab-ci
我想获取 gitlab 环境变量并在 build.gradle 脚本中使用它。我在gitlab-ci中定义了变量:
build:
stage: build
variables:
TEST: "HELLO WORLD"
script:
- export
Run Code Online (Sandbox Code Playgroud)
另外,我使用 -export 命令来打印所有变量。我在 gitlab 作业控制台中看到了我的 TEST 变量。但是当我试图在 build.gradle 中获取这个变量时,它是空的。这是build.gradle代码片段:
if (System.getenv('TEST') != null) {
repositories {
println 'CI=' + System.getenv('CI')
println 'M- ' + System.getenv('MAVEN_REPO_USER')
println 'T- ' + System.getenv('TEST')
println 'CI_JOB_STAGE ' + System.getenv('CI_JOB_STAGE')
mavenCentral()
}
} else {
repositories {
println '*CI= ' + System.getenv('CI')
println '*MAven ' + System.getenv('MAVEN_REPO_USER')
println '* ' + System.getenv('CI_JOB_STAGE')
println 'T-+++ ' + System.getenv('TEST')
mavenCentral()
mavenLocal()
}
}
Run Code Online (Sandbox Code Playgroud)
所有环境变量都打印为 null,但在 gradle 尝试打印它们之前,我在 gitlab 作业控制台中看到所有这些变量都由 -export 命令打印。怎么了?
更新:在 ci-gitlab 中我使用 kaniko : - /kaniko/executor
要获取变量,必须在 Dockerfile 和 gitlab-ci 中使用 ARG 指令将其定义为 build-arg。ARG 指令设置用户传递给图像收集器的变量。
Dockerfile:
ARG TEST
Run Code Online (Sandbox Code Playgroud)
gitlab-ci:
build:
stage: build
script:
- /kaniko/executor
--build-arg TEST="HELLO WORLD"
Run Code Online (Sandbox Code Playgroud)
“变量:”部分不是必需的
| 归档时间: |
|
| 查看次数: |
2292 次 |
| 最近记录: |