Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用kaniko时无法访问build.gradle UPD:中的gitlab ci环境变量_Gradle_Gitlab_Environment Variables_Gitlab Ci - Fatal编程技术网

使用kaniko时无法访问build.gradle UPD:中的gitlab ci环境变量

使用kaniko时无法访问build.gradle UPD:中的gitlab ci环境变量,gradle,gitlab,environment-variables,gitlab-ci,Gradle,Gitlab,Environment Variables,Gitlab Ci,我想获取gitlab环境变量并在build.gradle脚本中使用它。我在gitlab ci中定义了变量: build: stage: build variables: TEST: "HELLO WORLD" script: - export build: stage: build script: - /kaniko/executor --build-arg TEST="HELLO WORLD" 此外,我还使用-export命令打印所

我想获取gitlab环境变量并在build.gradle脚本中使用它。我在gitlab ci中定义了变量:

 build:
  stage: build
  variables:
    TEST: "HELLO WORLD"
  script:
    - export
build:
  stage: build
  script:
    - /kaniko/executor
      --build-arg TEST="HELLO WORLD"
此外,我还使用-export命令打印所有变量。我在gitlab作业控制台中看到了我的测试变量。但是当我试图在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()
    }
}
所有环境变量都打印为null,但在gradle试图打印它们之前,我在gitlab作业控制台中看到了所有这些变量,它们都是通过-export命令打印的。怎么了


更新:在ci gitlab中,我使用kaniko:-/kaniko/executor

来获取变量,它必须在Dockerfile和gitlab ci中用ARG指令定义为build ARG。ARG指令设置用户传递给图像采集器的变量

Dockerfile:

ARG TEST
gitlab ci:

 build:
  stage: build
  variables:
    TEST: "HELLO WORLD"
  script:
    - export
build:
  stage: build
  script:
    - /kaniko/executor
      --build-arg TEST="HELLO WORLD"

“variables:”节不是获取变量所必需的,它必须在Dockerfile和gitlab ci中使用ARG指令定义为build ARG。ARG指令设置用户传递给图像采集器的变量

Dockerfile:

ARG TEST
gitlab ci:

 build:
  stage: build
  variables:
    TEST: "HELLO WORLD"
  script:
    - export
build:
  stage: build
  script:
    - /kaniko/executor
      --build-arg TEST="HELLO WORLD"
“变量:”部分不是必需的