Declarative pipeline "when" tag is pushed

已查看 1,628 次
跳至第一个未读帖子

Lynn Lin

未读,
2017年12月20日 02:12:442017/12/20
收件人 Jenkins Users
HI ,All,

 i followed with page https://wiki.jenkins.io/display/JENKINS/GitHub+Branch+Source+Plugin to enable tag will trigger a new build then the questions comes 

How can I use "when" in declarative pipeline to do something like deployment when a new tag is pushed to remote repository


stage('Example Deploy') {
            when {
                branch 'production' // here how we can use tag as condition 
            }
            steps {
                echo 'Deploying'
            }
        }



"
  • When used with the Branch API Plugin, tags will show up as a new category. The default configuration of Branch API will not trigger builds for tags automatically. 

    This is by design, as one of the use-cases for tag discovery is to use the tag job to perform deployment. If tags were built automatically, given that the order in which the tag jobs actually execute is undefined, the automatic build could cause significant issues. Branch API does provide a mechanism to control what gets built automatically (known as the BranchBuildStrategy) but that cannot be configured until you have at least one extension plugin that provides a BranchBuildStrategy

    If you want tags to build automatically, you will need an extension plugin for Branch API that implements at least one BranchBuildStrategy, see AngryBytes/jenkins-build-everything-strategy-plugin for a prototype example of such an extension plugin.


Thanks
Lynn

Steven Foster

未读,
2017年12月20日 20:53:442017/12/20
收件人 Jenkins Users
I think you can get that with this:

when {
    expression
{
        env
.
TAG_NAME != null
   
}

}

You get the env.TAG_NAME from the branch api when it's a tag build.
A shortcut would be helpful, I suggested it here https://issues.jenkins-ci.org/browse/JENKINS-48523

Lynn Lin

未读,
2018年1月3日 08:56:112018/1/3
收件人 jenkins...@googlegroups.com

Steven Foster <steven...@gmail.com>于2017年12月21日 周四上午9:54写道:
I think you can get that with this:

when {
    expression
{
        env
.
TAG_NAME != null
   
}

}


Thanks,it works

You get the env.TAG_NAME from the branch api when it's a tag build.
A shortcut would be helpful, I suggested it here https://issues.jenkins-ci.org/browse/JENKINS-48523
This is even great 

On Wednesday, December 20, 2017 at 7:12:44 AM UTC, Lynn Lin wrote:
HI ,All,

 i followed with page https://wiki.jenkins.io/display/JENKINS/GitHub+Branch+Source+Plugin to enable tag will trigger a new build then the questions comes 

How can I use "when" in declarative pipeline to do something like deployment when a new tag is pushed to remote repository


stage('Example Deploy') {
            when {
                branch 'production' // here how we can use tag as condition 
            }
            steps {
                echo 'Deploying'
            }
        }



"
  • When used with the Branch API Plugin, tags will show up as a new category. The default configuration of Branch API will not trigger builds for tags automatically. 

    This is by design, as one of the use-cases for tag discovery is to use the tag job to perform deployment. If tags were built automatically, given that the order in which the tag jobs actually execute is undefined, the automatic build could cause significant issues. Branch API does provide a mechanism to control what gets built automatically (known as the BranchBuildStrategy) but that cannot be configured until you have at least one extension plugin that provides a BranchBuildStrategy

    If you want tags to build automatically, you will need an extension plugin for Branch API that implements at least one BranchBuildStrategy, see AngryBytes/jenkins-build-everything-strategy-plugin for a prototype example of such an extension plugin.


Thanks
Lynn

--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-users/D0jCrBe-7A0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/9db42595-b6ad-4496-bf3f-0cd2db6c6ae2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
回复全部
回复作者
转发
0 个新帖子