Jenkins + iOS 持續(xù)集成(Python)Job配置

結(jié)合上一篇 iOS 腳本的配置,此篇整理一下通過 Pipeline 配置 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)系我

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容