当前位置: 首页 > 知识库问答 >
问题:

如何使用kubernetes插件将jenkins构建环境传递到pod中?

荣俊杰
2023-03-14

在容器中,我希望获得正常的jenkins构建环境变量,如build_number

podTemplate(label: 'mypod', containers: [
    containerTemplate(name: 'python', image: 'python:2.7.8', ttyEnabled: true)
]) {

    node("mypod") {
        echo sh(returnStdout: true, script: 'env')

        container('python') {
            stage('Checkout') {
                sh "env"
            }
        }
    }
}

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

有什么解决方案可以在容器中获得这些变量吗?

共有1个答案

郭兴平
2023-03-14

您可以使用env.build_number。

node{
    echo env.BUILD_NUMBER
}

另外,如果您想要所有可用的env var的列表,您可以运行

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

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

envVars: [
  envVar(key: 'GOPATH', value: '/home/jenkins/go')
]),
 类似资料:
  • 问题内容: 在我的Scala测试中,我通过读取了一个环境变量。 测试通过詹金斯进行。 我添加了一个作为构建步骤。 通过查看SO上的类似问题,我想到了这个解决方案-即将“操作”字段设置为: 但它不起作用。执行时未设置任何变量。 Jenkins控制台输出包含: last 问题答案: 如果您不使用新的JVM执行测试,则设置不会执行任何操作。SBT摘录: 这解释了为什么不进行分叉测试时不使用您的代码。 您

  • 问题内容: 我对詹金斯(Jenkins)非常陌生,我一直在尝试使用curl来完成我的工作。伴随着这种卷曲,我想将文件发送到Jenkins,该文件应放在我的工作区的特定目录中。我一直在大量搜索,但是似乎找不到清晰的文档来引导我解决问题。请指导。我也查看了Google和StackOverflow上的其他文章,但找不到我想要的东西。 curl -X POST JENKINS_URL / job / JO

  • 问题内容: 我希望获得有关通过其环境促进构建的最佳方法的一些指导。 我们有3个环境,DEV,STAGING,PROD。 DEV Jenkins构建在连续集成设置中运行,因为将代码签入到Subversion中,Jenkins将运行一个新构建(干净,编译,测试,部署)。 棘手的是涉及到STAGING和PROD。 这个想法是为了能够将成功的DEV构建手动升级到STAGING。STAGING构建将签出DE

  • 问题内容: 我创建了一个参数化的Jenkins作业,该作业将变量从Java传递到。 这是Java: 所以这很简单,因为我只是将s 传递给工作。但是,我现在想使用Jenkins中的A将A传递给工作。 我看到的一件事是Jenkins中的拥有一个和。因此,甚至不知道如何从Java将其设置为参数。 这可能吗? 问题答案: 这是一个可运行的类。使用apache-httpclient(4.5.1)和相关的ja

  • 在构建docker映像时,可以将环境变量作为文件传递给Dockerfile吗? 我按照这里的建议使用了,但由于我有多个参数,我更喜欢使用一个文件。 我也尝试使用方法,但我需要在构建时添加这些参数。 提前感谢。

  • 问题内容: 我正在使用Gerrit触发插件启动Jenkins构建,但是还没有找到记录所有环境变量的好地方。是否存在此类文档? 问题答案: 首先,我有一个Jenkins构建shell脚本,以以下名称转储所有环境变量: