在本地或CI中生成时,如何在Gradle中的存储库之间切换

在本地或CI中生成时,如何在Gradle中的存储库之间切换,gradle,gitlab,environment-variables,build.gradle,Gradle,Gitlab,Environment Variables,Build.gradle,在本地或CI中构建项目时,我希望在存储库之间切换。我在这里读到Gitlab创建了环境变量“CI”,并希望使用它。我下一步要做: if (System.getenv('CI') != null) { repositories { println 'CI=' + System.getenv('CI') mavenCentral() maven { url 'myrepo' } } } else {

在本地或CI中构建项目时,我希望在存储库之间切换。我在这里读到Gitlab创建了环境变量“CI”,并希望使用它。我下一步要做:

if (System.getenv('CI') != null) {
    repositories {
        println 'CI=' + System.getenv('CI')
        mavenCentral()
        maven {
            url 'myrepo'
        }
    }
} else {
    repositories {
        println '*CI= ' + System.getenv('CI')
        mavenCentral()
        mavenLocal()
    }
}
但是当我在CI中构建时,我看到CI=null。如何根据我构建项目的位置正确定义存储库


更新:我在gitlab ci中使用kaniko。它在没有kaniko的项目中运行良好。

必须在gitlab CI中使用--build arg定义CI变量,在project Dockerfile中使用arg指令定义CI变量:

Dockerfile:

ARG CI
gitlab ci:

build:
  stage: build
  script:
    - /kaniko/executor
      --build-arg CI="${CI}"
使用ARG指令,我告诉Dockerfile让Docker知道,它希望在构建期间向它传递一个名为CI的变量。和--build arg设置值