我有几个使用Jenkinsfile的项目几乎相同。唯一的区别是它必须签出的git项目。这迫使我必须每个项目一个Jenkinsfile虽然可以共享相同的一个:如何配置Jenkins 2管道,以便Jenkinsfile使用预定义变量
node{
def mvnHome = tool 'M3'
def artifactId
def pomVersion
stage('Commit Stage'){
echo 'Downloading from Git...'
git branch: 'develop', credentialsId: 'xxx', url: 'https://bitbucket.org/xxx/yyy.git'
echo 'Building project and generating Docker image...'
sh "${mvnHome}/bin/mvn clean install docker:build -DskipTests"
...
有没有办法预先配置git的位置作为创造就业过程中的变量,所以我可以重复使用相同的Jenkinsfile?
...
stage('Commit Stage'){
echo 'Downloading from Git...'
git branch: 'develop', credentialsId: 'xxx', url: env.GIT_REPO_LOCATION
...
我知道我可以将它设置这种方式:
该项目是参数 - >字符串参数 - > GIT_REPO_LOCATION,默认= http://xxxx,并与env.GIT_REPO_LOCATION访问它。
缺点是用户被要求用默认值开始构建或者改变它。我需要对用户透明。有没有办法做到这一点?
感谢您的建议,我会在接下来的几天尝试它,并回来一些反馈。 – codependent
考虑使用多分支管道。然后jenkins会为每个分支显示一个单独的subjob。这是一个更好的可视化,您可以开始为每个分支手动构建。 – herm