jenkins管道 - 使用执行maven释放按钮

时间:2017-01-09 13:40:19

标签: maven jenkins release jenkins-pipeline

是否有任何选项如何在jenkins管道作业中添加“执行maven release”按钮。我正在使用选项与管道中的另一个阶段,等待2分钟的用户输入,但我不喜欢每次工作等待和释放有时。

感谢。

https://i.stack.imgur.com/vwFF6.jpg

1 个答案:

答案 0 :(得分:2)

我同样的问题......不,M2 Release插件只适用于Maven项目,而不是自由式或Pipeline,但您可以使用来自管道的用户输入来实现相同的结果:

stage('release')
    {       
        def performRelease = input  message             : "Perform Maven Release?", 
                                    ok                  : "Schedule Maven Release Build", 
                                    submitter           : env.ALLOWED_SUBMITTER_RELEASE, 
                                    submitterParameter  : 'APPROVING_SUBMITTER',
                                    parameters: 
                                    [   
                                        booleanParam
                                        (
                                            defaultValue: true, 
                                            description: '',
                                            name: 'Dry run only?'
                                        ),                              
                                        string
                                        (
                                            defaultValue: '', 
                                            description: '', 
                                            name: 'Release Version'
                                        ), 
                                        string
                                        (
                                            defaultValue: '', 
                                            description: '', 
                                            name: 'Development version'
                                        )                                       
                                    ]

        if( performRelease )
        {
            dir( env.PROJECT_FOLDER ) 
            {
                withMaven(jdk:  env.JDK_VERSION , maven:  env.MVN_VERSION )
                {
                    sh "mvn ${ performRelease['Dry run only?'] ? env.MVN_RELEASE_DRYRUN_GOALS : env.MVN_RELEASE_GOALS }"        
                }
            }   
        }       
    }