gpt4 book ai didi

gradle - 在本地或CI中构建时如何在Gradle中的存储库之间切换

转载 作者:行者123 更新时间:2023-12-03 05:29:00 25 4
gpt4 key购买 nike

我想在本地或CI中构建项目时在存储库之间切换。我在这里https://docs.gitlab.com/ee/ci/variables/predefined_variables.html读到,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以及在项目Dockerfile中使用ARG指令定义CI变量:

Dockerfile:

ARG CI

gitlab-ci:
build:
stage: build
script:
- /kaniko/executor
--build-arg CI="${CI}"

使用ARG指令,我告诉Dockerfile让Docker知道,它希望在构建期间将一个名为CI的变量传递给它。然后--build-arg设置值。

关于gradle - 在本地或CI中构建时如何在Gradle中的存储库之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60186989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com