結(jié)合上一篇 iOS 腳本的配置,此篇整理一下通過 Pipeline 配置 iOS 持續(xù)集成打包
- 針對(duì)配置 iOS 持續(xù)集成分為兩個(gè)部分
- iOS 持續(xù)集成打包腳本
- Jenkins + iOS 持續(xù)集成配置 ?
示例說明
-
Jenkins 示例
示例
示例說明
下載 HTML 頁面示例
Tip:下載頁面由 iOS-CI-Script 打包腳本提供

PC 示例

PC 示例說明

移動(dòng)端示例
JOB 配置
參數(shù)化配置
參數(shù)化構(gòu)建中配置圖中三個(gè)環(huán)境變量
下載 HTML 頁面示例
注:圖中的變量名,不要填錯(cuò)?。?!若需要自定義,請(qǐng)同步修改腳本的變量名

image.png
Pipeline 配置
pipeline {
agent { label 'agent-name' }
environment {
JENKINS_URL_HTTPS = 'Jenkins https 協(xié)議的 url' // 如果 Jenkins 本身就是 Https 協(xié)議,則不用填寫
CONF_FILE_NAME = 'Exmaple' // 配置文件名稱
ITC_USER = '開發(fā)者賬號(hào)用戶名'
ITC_PASSWORD = '開發(fā)者賬號(hào)用戶名' // 若開發(fā)者賬號(hào)已開啟雙重認(rèn)證,請(qǐng)使用專用密碼
}
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 到項(xiàng)目根目錄,也就是 xcworkspace 所在的目錄
sh('cd $WORKSPACE && pod install --no-repo-update')
}
}
stage('Compile') {
steps {
sh('rm -rf $WORKSPACE/build')
// cd 到項(xiàng)目根目錄,也就是 xcworkspace 所在的目錄
sh('cd $WORKSPACE && python3 $WORKSPACE/scripts/ci.py')
}
}
stage('Archive') {
steps {
archiveArtifacts 'Products/*'
script {
// 請(qǐng)先安裝 `Description Setter Plugin`
currentBuild.description = '渠道類型:' + CONFIGURATIONS + '<br><img src=' + BUILD_URL + 'artifact/Products/' + CONF_FILE_NAME + '_iOS_' + BUILD_NUMBER + '.png>'
}
// 如果要取消以下注釋,請(qǐng)確保已經(jīng)安裝了 `Last Changes Plugin`
// step([$class: 'LastChangesPublisher', format: 'LINE', matchWordsThreshold: '0.25', matching: 'NONE', matchingMaxComparisons: '1000', showFiles: true, synchronisedScroll: true, endRevision: ''])
}
}
}
}
以上配置完成后,保存即可構(gòu)建,如遇問題請(qǐng)及時(shí)聯(lián)系我

