詹金斯管道:如果有新的提交,如何构建新的工件 [英] Jenkins pipeline: How to build new artifacts only if has a new commit

查看:113
本文介绍了詹金斯管道:如果有新的提交,如何构建新的工件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

stage('Checkout repo'){
    git branch: 'mybranch', 
    credentialsId: '6b83e39e-1c8c-44c2-9165-b1f5a857f6cb', 
    url: 'git@gitlab.com:myproject.git'}

stage('run tests'){
    sh 'mvn test'
}

stage('build artefact'){
    sh 'mvn clean package'
}

只有在有新的提交时,如何运行测试并创建新的工件?
无触发器

how to run tests and make new artifact only if has a new commit? without a trigger

推荐答案

您可以使用 Git Plugin 并创建一个条件:

You could use environment variables from the Git Plugin and create a condition:

if (env.GIT_COMMIT != env.GIT_PREVIOUS_SUCCESSFUL_COMMIT) {
  stage('run tests'){
    sh 'mvn test'
  }
  stage('build artefact'){
    sh 'mvn clean package'
  }
}




  • GIT_COMMIT - 当前提交的SHA

  • GIT_PREVIOUS_SUCCESSFUL_COMMIT - 来自同一分支的先前成功构建提交的SHA

  • 这篇关于詹金斯管道:如果有新的提交,如何构建新的工件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆