Jenkins管道从git提交获取变量
我有一个关于詹金斯管道的问题。我希望有一个从git提交中获取数据的变量 例如,如果git提交说“Version1.0.0”,那么Jenkins文件中的变量应该是“1.0.0”。如果提交是2.0.0,那么变量应该是2.0.0 我已经看到,在Jenkins中使用Jenkins管道从git提交获取变量,git,jenkins,jenkins-pipeline,pipeline,Git,Jenkins,Jenkins Pipeline,Pipeline,我有一个关于詹金斯管道的问题。我希望有一个从git提交中获取数据的变量 例如,如果git提交说“Version1.0.0”,那么Jenkins文件中的变量应该是“1.0.0”。如果提交是2.0.0,那么变量应该是2.0.0 我已经看到,在Jenkins中使用changelog选项可以从Git提交中获取数据,不幸的是,我不知道如何将这些数据放入变量中 有人能帮我吗 我已经看到并尝试了以下内容 pipeline { when { changelog '1.0.0.0'
changelog
选项可以从Git提交中获取数据,不幸的是,我不知道如何将这些数据放入变量中
有人能帮我吗
我已经看到并尝试了以下内容
pipeline {
when {
changelog '1.0.0.0'
}
environment {
nicevariable = " here should be the gitcommit see changelog"
}
agent none
stages {
stage("first") {
sh "echo ${nicevariable}"
}
}
}
您可以定义环境变量,例如:
非常感谢,但问题是,如果我发出一条echo GIT_消息,我也将成为执行的整个命令E:/workspace blabal gitlog。。。在第二行中,我变成了git消息,我们可以禁用整个命令吗?我只需要git消息,您的git消息将在
${git_message}
中。此回显部分仅用于说明值,您可以根据需要对值执行任何操作,而不一定回显它。
pipeline {
agent any
environment {
GIT_MESSAGE = """${sh(
script: 'git log --no-walk --format=format:%s ${GIT_COMMIT}',
returnStdout: true
)}"""
}
stages {
stage('test') {
steps {
sh 'echo "Message: --${GIT_MESSAGE}--"'
}
}
}
}