【问题标题】:To find out last commit using jenkins pipeline script使用 jenkins 管道脚本找出最后一次提交
【发布时间】:2019-03-13 04:33:51
【问题描述】:
我们正在使用下面的命令来找出对 git 的最后一次提交
{ git log -1 --pretty=format:'%an'; echo "@xyzcompany.com, developer@xyzcompany.com"; } | xargs -I{} echo {} | sed 's/\n//'
注意:此命令在 jenkins 工作区项目的 CLI 中运行。
如何在 jenkins 管道脚本中注入这个命令??
【问题讨论】:
标签:
linux
git
jenkins
devops
【解决方案1】:
您可以只使用sh 来执行命令。如果您使用声明性语法(以 pipeline 而不是 node 开头),我建议您在 environment 中执行此操作,这样您就可以在管道的所有阶段读取结果:
environment {
COMMIT = sh(script: '{ git log -1 --pretty=format:\'%an\'; echo "@xyzcompany.com, developer@xyzcompany.com"; } | xargs -I{} echo {} | sed \'s/\n//\'', returnStdout: true).trim()
}
或者——如果你使用脚本语法——你只需声明一个变量:
def commit = sh(script: '{ git log -1 --pretty=format:\'%an\'; echo "@xyzcompany.com, developer@xyzcompany.com"; } | xargs -I{} echo {} | sed \'s/\n//\'', returnStdout: true).trim()