活到老学到老之Jenkins Pipeline Job

应用场景:

每天早上都要打Android包和iOS包,多个人多个项目的时候打包就要排队,可能需要半个小时不止,等的比较焦急,有这样的情况,就可以使用Jenkins Pipeline Job定时打包了。

创建Jenkins Pipeline Job

  • New Item
  • job类型选择:Pipeline,给job起个名字例如:HiTestMan,点击 OK
  • 配置job,Pipeline配置区域选择Pipeline script,脚本如下:
groovy 复制代码
pipeline {
    agent any
    stages {
        stage('Build All') {
            parallel {
                stage('Build Android') {
                    steps {
                        script {
                            build job: 'android_build', wait: true, parameters: [
                                string(name: 'BUILD_BRANCH', value: params.BUILD_BRANCH),
                                string(name: 'IOT_SDK_VERSION', value: params.IOT_SDK_VERSION),
                                string(name: 'BUILD_DISPLAY_CHANNEL', value: params.BUILD_DISPLAY_CHANNEL),
                                string(name: 'BUILD_MODE', value: params.BUILD_MODE_ANDROID),
                                string(name: 'BUILD_TYPE', value: params.BUILD_TYPE),
                                string(name: 'BUILD_ENV_SERVER', value: params.BUILD_ENV_SERVER),
                                string(name: 'BUILD_ENV_H5', value: params.BUILD_ENV_H5),
                                string(name: 'BUILD_ENV_PUSH', value: params.BUILD_ENV_PUSH)
                            ]
                        }
                    }
                }
                stage('Build iOS') {
                    steps {
                        script {
                            build job: 'ios_build', wait: true, parameters: [
                                string(name: 'BUILD_BRANCH', value: params.BUILD_BRANCH),
                                string(name: 'BUILD_DISPLAY_CHANNEL', value: params.BUILD_DISPLAY_CHANNEL),
                                string(name: 'BUILD_MODE', value: params.BUILD_MODE_IOS),
                                string(name: 'BUILD_TYPE', value: params.BUILD_TYPE),
                                string(name: 'BUILD_ENV_SERVER', value: params.BUILD_ENV_SERVER),
                                string(name: 'BUILD_ENV_H5', value: params.BUILD_ENV_H5)
                            ]
                        }
                    }
                }
            }
        }
    }
}
  • 在This project is parameterized中定义参数

    例如,BUILD_BRANCH:

    这样就可以通过params.BUILD_BRANCH的方式进行引用了
  • 在Build Triggers中设置定时触发时间,勾选Build periodically,例如,每天早上8点30
  • Apply、Save
    最后设置完成后,先Apply之后在Save,这样就可以等待任务定时触发了。