groovy 我有一个具有两个阶段的管道,每个阶段必须在一周中的两个不同的日子调用

rn0zuynd  于 2022-11-28  发布在  其他
关注(0)|答案(1)|浏览(132)

我的Jenkins脚本管道有2个不同的阶段,一个必须在星期五建立,另一个阶段必须在星期天建立...
我试过用cron作业分别针对不同的阶段,但是我想根据星期几进行过滤,我可以使用任何当条件进行此操作吗?

node {
    
    stage('build on friday ') {
        echo "Hai its friday"
    }
        
    stage('build on sunday') {
         echo "Hai its sunday"
    }
}
csbfibhn

csbfibhn1#

溶液

我包含了一个使用Calendar的命令式(脚本化)示例。

命令管道示例

node {

    def today = Calendar.getInstance();
    def dayOfWeek = today.get(Calendar.DAY_OF_WEEK);

    if( dayOfWeek == Calendar.FRIDAY ) {
        stage('build on friday') {
            echo "Hai its friday"
        }
    } 
                    
    if( dayOfWeek == Calendar.SUNDAY ) {
        stage('build on sunday') {
            echo "Hai its sunday"
        }
    }
}

很明显,运行需要在星期五和星期天进行,因此您的cron需要反映这一点。例如:0 1 * * 0,5

相关问题