jenkins-pipeline - 如何将 bash 标准存储在环境变量中
问题描述
我尝试在 Jenkins 中设置一个作业,该作业使用 ssh 在远程主机上执行 shell 脚本,并将部分输出(所述服务器上的文件的路径)存储在 env 变量中,以便在其他步骤中进一步使用。目前,我不知道是否应该尝试使用管道插件,或者以某种方式将输出存储在文件中。我将不胜感激有关如何执行此操作的任何建议。
解决方案
在我的情况下,我将它存储在一个文件中,然后将其作为环境变量读取。
因此,例如让我们获取 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()
推荐阅读
- javascript - 如何检查对象是否在我的数组中?
- node.js - MongoDB:加载导航时发生错误:拓扑已破坏
- laravel - 我的数据库中的神秘用户不是来自我的注册过程
- python - 应用程序结构应该是什么样子?
- html - 如何通过我编写的 HTML 将保存的照片放入网页
- laravel-5 - 如何解决“您的要求无法解决为一组可安装的软件包。” 在 laravel 锅炉模板中
- c - c字符串数组和指针传递方法不起作用
- python - np.reshape(-1) 做什么
- java - 通过Maven支持多个应用服务器
- apache-spark - 如何将 rdd 的 pandas DataFrame 转换为 Spark DataFrame