如何在Openshift Build Config中使用现有环境变量的值
问题解答
可以实现,你不需要修改现有BuildConfig的占位符配置,只需要调整Jenkins触发构建的逻辑即可。
- 首先,OpenShift BuildConfig本身无法直接读取Jenkins构建代理的本地环境变量,你可以在调用OpenShift CLI触发构建时,将环境变量动态传入本次构建任务。
- 你现有BuildConfig中的占位符写法完全符合要求,无需调整:
source: git: ref: "${BRANCH_NAME}" uri: "${SOURCE_REPOSITORY_URL}"
- 修改你的Jenkins流水线构建步骤,在执行
oc start-build命令时通过--env参数传入当前Jenkins代理的环境变量值即可,参考命令如下:
# 将Jenkins环境中已有的BRANCH_NAME、SOURCE_REPOSITORY_URL传入本次构建 oc start-build <你的BuildConfig名称> \ --env BRANCH_NAME=${BRANCH_NAME} \ --env SOURCE_REPOSITORY_URL=${SOURCE_REPOSITORY_URL} \ --follow
- 执行上述命令后,OpenShift会自动用你传入的环境变量值替换BuildConfig中的对应占位符,无需每次新建分支都手动更新BuildConfig的参数值。
- 如果你使用Jenkins OpenShift插件触发构建,也可以在插件的构建参数配置项中,将
BRANCH_NAME的值设置为Jenkins环境变量${BRANCH_NAME}即可,效果和CLI传参一致。
内容的提问来源于stack exchange,提问作者askids
相关产品推荐
相关产品推荐

