首页 > 解决方案 > 如何将 bash 标准存储在环境变量中

问题描述

我尝试在 Jenkins 中设置一个作业,该作业使用 ssh 在远程主机上执行 shell 脚本,并将部分输出(所述服务器上的文件的路径)存储在 env 变量中,以便在其他步骤中进一步使用。目前,我不知道是否应该尝试使用管道插件,或者以某种方式将输出存储在文件中。我将不胜感激有关如何执行此操作的任何建议。

标签: jenkins-pipeline

解决方案


在我的情况下,我将它存储在一个文件中,然后将其作为环境变量读取。

因此,例如让我们获取 git 修订值并将其用作环境变量,我将假设我们已经在克隆的 git 存储库中

stage('Get Git Revision') {
    steps {
        script {
            ...
            sh 'git log --pretty=format:\'%h\' -n 1 > ../GIT_REVISION'
            env.GIT_REVISION = readFile 'GIT_REVISION'
            sh 'echo $GIT_REVISION'
            ...
        }
    }
    ....
}

您可以GIT_REVISION稍后删除文件或让它在cleanWs()


推荐阅读