gpt4 book ai didi

docker - 如何将环境变量传递到 Jenkins 的 docker 容器中?

转载 作者:行者123 更新时间:2023-12-02 18:34:17 26 4
gpt4 key购买 nike

我在 docker 容器 (node:latest) 中运行我的 Jenkins 构建。

但是环境变量并没有在容器中定义:

$GIT_BRANCH, $GIT_COMMIT

所以我得到了这个错误:

GitHub has been notified of this commit’s build result

groovy.lang.MissingPropertyException: No such property: GIT_BRANCH for class: groovy.lang.Binding

at groovy.lang.Binding.getVariable(Binding.java:63)

我有很多变量需要传递到容器中。如何使用 Jenkins 做到这一点?

我正在寻找继承 Jenkins 进程和我的主机/docker 中存在的所有环境变量的解决方案

这是我的 Jenkins 文件:

throttle(['throttleDocker']) {
node('docker') {
wrap([$class: 'AnsiColorBuildWrapper']) {
try{
docker.image('node:latest').inside {
stage('Checkout SCM'){
checkout scm
}
stage('PS'){
sh 'node -v'
sh 'ls'
}
stage('Verify Branch') {
echo "$GIT_BRANCH"
echo "$GIT_COMMIT"
}
stage('Build'){
sh "npm run build"
sh 'ls'
}
stage('Test'){
sh 'echo "Test Stage inside container."'
}
}

最佳答案

也许 this

node ('linux-slave') {
withEnv(['PATH=/usr/local/Cellar/coreutils/8.25/libexec/gnubin:/usr/local/Cellar/gnu-sed/4.2.2/libexec/gnubin:/Users/fbelzunc/cloudbees/support/support-shinobi-tools:/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home//bin:/Users/fbelzunc/bin:/usr/local/sbin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/MacGPG2/bin:/usr/local/sbin:/usr/local/Cellar/ruby/2.1.0/lib/ruby/gems/2.1.0/gems/bundler-1.6.5/bin:/usr/local/Cellar/ruby/2.1.0/lib/ruby/gems/2.1.0/gems/beaker-1.16.0/bin:/usr/local/Cellar/ruby/2.1.0/bin/:/path/testing']) {
docker.image('maven:3.3.3-jdk-8').inside {
sh 'echo $PATH'
sh 'mvn --version'
}
}
sh 'echo $PATH'
}

关于docker - 如何将环境变量传递到 Jenkins 的 docker 容器中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62338100/

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