结合上一篇 iOS 脚本的配置,此篇整理一下通过 Pipeline 配置 iOS 持续集成打包
- 针对配置 iOS 持续集成分为两个部分
- iOS 持续集成打包脚本
- Jenkins + iOS 持续集成配置 ⇦
示例说明
-
Jenkins 示例
示例
示例说明
下载 HTML 页面示例
Tip:下载页面由
iOS-CI-Script 打包脚本提供
JOB 配置
参数化配置
参数化构建中配置图中三个环境变量
下载 HTML 页面示例
注:图中的变量名,不要填错!!!若需要自定义,请同步修改脚本的变量名
Pipeline 配置
pipeline {
agent { label 'agent-name' }
environment {
JENKINS_URL_HTTPS = 'Jenkins https 协议的 url' // 如果 Jenkins 本身就是 Https 协议,则不用填写
CONF_FILE_NAME = 'Exmaple' // 配置文件名称
ITC_USER = '开发者账号用户名'
ITC_PASSWORD = '开发者账号用户名' // 若开发者账号已开启双重认证,请使用专用密码
}
stages {
stage("SCM Checkout") {
steps {
// Project Code
checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: '']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'xxxx-xxxx-xxxx-xxxxxx', url: 'http://gitlab.xxxx.com/group-name/project-name.git']]])
// Scripts
checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'scripts']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'xxxx-xxxx-xxxx-xxxxxx', url: 'https://github.com/Naisisor/iOS-CI-Script.git']]])
}
}
stage('Pod Install') {
steps {
// cd 到项目根目录,也就是 xcworkspace 所在的目录
sh('cd $WORKSPACE && pod install --no-repo-update')
}
}
stage('Compile') {
steps {
sh('rm -rf $WORKSPACE/build')
// cd 到项目根目录,也就是 xcworkspace 所在的目录
sh('cd $WORKSPACE && python3 $WORKSPACE/scripts/ci.py')
}
}
stage('Archive') {
steps {
archiveArtifacts 'Products/*'
script {
// 请先安装 `Description Setter Plugin`
currentBuild.description = '渠道类型:' + CONFIGURATIONS + '<br><img src=' + BUILD_URL + 'artifact/Products/' + CONF_FILE_NAME + '_iOS_' + BUILD_NUMBER + '.png>'
}
// 如果要取消以下注释,请确保已经安装了 `Last Changes Plugin`
// step([$class: 'LastChangesPublisher', format: 'LINE', matchWordsThreshold: '0.25', matching: 'NONE', matchingMaxComparisons: '1000', showFiles: true, synchronisedScroll: true, endRevision: ''])
}
}
}
}
以上配置完成后,保存即可构建,如遇问题请及时联系我
网友评论