我对Jenkins管道有疑问。我想有一个从git commit获取数据的变量。
例如,如果git commit表示“版本1.0.0”,则Jenkins文件中的变量应为“ 1.0.0”。如果提交为2.0.0,则变量应为2.0.0
我已经看到在Jenkins中使用选项changelog
可以从Git Commit获取数据,不幸的是我不知道如何将这些数据放入变量中?
有人可以帮助我吗?
我已经看过并尝试了以下
pipeline {
when {
changelog '1.0.0.0'
}
environment {
nicevariable = " here should be the gitcommit see changelog"
}
agent none
stages {
stage("first") {
sh "echo ${nicevariable}"
}
}
}
答案 0 :(得分:1)
您可以定义环境变量dynamically,例如:
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}--"'
}
}
}
}