jenkins - 在访问构建变量时在从站上运行(系统/詹金斯)groovy 脚本
问题描述
我正在尝试运行一个 groovy 脚本,该脚本build.description
在执行期间更新从节点上的进程。
我的问题是“系统常规脚本”仅在主节点上执行,而“Jenkins 常规脚本”在从节点上运行但无法访问该build
变量。
我有一个类似于这个的脚本:
import hudson.model.*
// works on slave node
def param = args[0]
// works on master node
//def param = build.getEnvironment(listener).get('Params')
def ws = new File(".").absolutePath
def myCommand = ws + "\\Something.exe " + param
def proc = myCommand.execute();
// Cannot use on slave
build.description = "Running executable..."
int exitVal = proc.waitFor();
// Cannot use on slave
build.description = "Executable finished"
有没有办法修改在从属设备上运行的“Jenkins Groovy 脚本”上的构建变量?
提前致谢!
解决方案
不。
Jenkins 管道公开了对此类事情的更多控制。
以下是我们拥有的脚本。nodeexpression
可以是节点名称。
node(nodeexpression) {
println "env :"
echo sh(script: 'env|sort', returnStdout: true)
currentBuild.displayName = "branch ${BRANCH}:${MAIL_TO}"
currentBuild.description = "${BRANCH}:${MAIL_TO} : message -> ${MESSAGE}"
}
推荐阅读
- javascript - UPDATE SQL TABLE 使用绑定变量或绑定参数将新值减去存储值
- c# - 从 http 上下文获取访问令牌
- android - Android Spinner - 选定值文本未正确对齐
- android - 存储访问权限在应用信息中不可见
- c# - 使用一键单击读取文本文件和xml文件C#
- algorithm - 曲面重建中如何避免填孔?
- c# - 将 varchar 值“System.Windows.Forms.ComboBox+ObjectCollection”转换为数据类型 int 时转换失败
- android - 什么相当于 xCode for Android 中的 Bundle Identifier?
- python - 没有这样的列:Schedule_footballscore.match_played
- python - 正确构建本地 python3,支持 bz2