应用场景:
每天早上都要打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,这样就可以等待任务定时触发了。