活到老学到老之Jenkins Pipeline Job
应用场景:
每天早上都要打Android包和iOS包,多个人多个项目的时候打包就要排队,可能需要半个小时不止,等的比较焦急,有这样的情况,就可以使用Jenkins Pipeline Job定时打包了。
创建Jenkins Pipeline Job
- New Item
- job类型选择:Pipeline,给job起个名字例如:HiTestMan,点击 OK
- 配置job,Pipeline配置区域选择Pipeline script,脚本如下:
pipeline {agent anystages {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,这样就可以等待任务定时触发了。