我有几个项目使用几乎相同的 Jenkinsfile。唯一的区别是它必须签出的 git 项目。这迫使我每个项目都有一个 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, default= http://xxxx,并通过 env.GIT_REPO_LOCATION 访问它。
缺点是提示用户使用默认值开始构建或更改它。我需要它对他的用户是透明的。有没有办法做到这一点?