【问题标题】:How to pass jenkins build environment into pod using kubernetes plugin?如何使用 kubernetes 插件将 jenkins 构建环境传递到 pod?
【发布时间】:2018-03-05 03:06:57
【问题描述】:

环境:Jenkins 2.73.1 & Kubernetes 插件 1.0

在容器内部,我喜欢获取像BUILD_NUMBER这样的普通jenkins构建环境变量

podTemplate(标签:'mypod',容器:[ 容器模板(名称:'python',图像:'python:2.7.8',ttyEnabled:true) ]) { 节点(“mypod”){ echo sh(returnStdout: true, script: 'env') 容器('python'){ 阶段(“结帐”){ sh“环境” } } } }

到目前为止,在上面的代码中,python 内部没有传统的构建变量。

有什么解决方案可以将这些变量放入容器中?

【问题讨论】:

  • 我收到错误:Jenkins 在 jenkins 中没有标签 mypod 并且无法启动 POD。有什么想法吗?

标签: kubernetes jenkins-plugins jenkins-pipeline


【解决方案1】:

您可以使用 env.BUILD_NUMBER 即

node{
    echo env.BUILD_NUMBER
}

另外,如果你想要一个所有可用环境变量的列表,你可以运行

node{
    echo "${env.getEnvironment()}"
}

这些是默认的 jenkins 插件 env var,但您也可以在 pod 模板中为您的 kubernetes 插件构建 pod 设置 env var,例如..

envVars: [
  envVar(key: 'GOPATH', value: '/home/jenkins/go')
]),

FWIW 这是正在使用的代码https://github.com/fabric8io/fabric8-pipeline-library/blob/3834f0f/vars/goTemplate.groovy#L27

更多详情here

【讨论】:

  • 如何将 $BUILD_NUMBER 传递到容器中?你能提供工作代码吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-24
  • 2016-09-24
  • 2022-08-18
  • 2015-06-20
  • 2020-02-12
  • 2018-07-10
  • 1970-01-01
相关资源
最近更新 更多