jenkins - 如何将命令的输出放入 Jenkinsfile 中的环境变量中?
问题描述
所以,我可以在这样的步骤中捕获一个变量:
stage('blah') {
script {
INVENTORY_FILE = sh(returnStdout: true, script: 'echo $(date +%Y%m%d).yml')
}
}
这有效。除了我需要这个变量在整个 Jenkinsfile 的范围内,对于所有阶段,而不仅仅是这个。但我似乎无法在舞台之外使用 sh() 。有任何想法吗?
解决方案
您可以在 Jenkinsfile 的顶部定义一个变量,然后您可以在整个 Jenkinsfile 中访问该变量。
def INVENTORY_FILE
pipeline {
stages {
stage('blah') {
script {
INVENTORY_FILE = sh(returnStdout: true, script: 'echo $(date +%Y%m%d).yml').trim()
}
}
}
}
推荐阅读
- swift - 在弹出 UIViewController 之前向上滚动 UITableView
- c# - 在填充有 txt 文件的 GridView 中过滤组合框
- sql - 我可以在更大的 SQL 查询中只连接一列,或者将多行转换为额外的列吗?
- azure - 无法将 LUIS 应用添加到新的调度模型
- python - 如何将JPG文件从服务器发送到客户端
- javascript - 如何正确解析输入类型对象 - 复选框数组 - Javascript
- angular - NgxChartsComponent_Host.ngfactory.js?[sm]:1 错误类型错误:无法读取未定义的属性“地图”
- c# - 将 wpf 控件渲染到位图
- github - 并行使用 github 操作时拆分测试文件
- c++ - C++ 中编译器指令重新排序的保证