如何在Makefile中使用Jenkins环境变量

时间:2018-11-06 09:13:09

标签: jenkins makefile continuous-integration jenkins-pipeline

我有一个makefile(GNUmake),在其中我想使用当前发行版号进行某些操作。我能想到的最好方法是让Jenkins将其导出为环境变量,在构建进行时可以在makefile中访问该变量。我知道在ant和Jenkins中可能会发生类似的事情,但不确定如何使用makefile实现相同的目的。

有人可以指导吗?

1 个答案:

答案 0 :(得分:2)

您可以定义一个函数,该函数运行shell命令(或makefile或生成输出的任何东西),并返回该输出。

def getShellScriptResults() {
    def bashresult = sh(
        script: """
            # run here shell script or anything that generates output 
            echo "bashValue"
        """,
        returnStdout: true
    )
    return bashresult.trim()
}

然后调用该函数并将结果分配给这样的常规变量:

node('mynode') {
    stage('Cloning repositories') {
        # call the function and capture the result to a groovy var
        res = getShellScriptResults()
        println(res)
    }
}