美文网首页
Jenkins + iOS 持续集成(Python)Job配置

Jenkins + iOS 持续集成(Python)Job配置

作者: 24k纯帅哥 | 来源:发表于2021-04-28 17:15 被阅读0次

    结合上一篇 iOS 脚本的配置,此篇整理一下通过 Pipeline 配置 iOS 持续集成打包

    示例说明

    • Jenkins 示例


      示例
      示例说明

    下载 HTML 页面示例
    Tip:下载页面由 iOS-CI-Script 打包脚本提供

    PC 示例 PC 示例说明 移动端示例

    JOB 配置

    参数化配置

    参数化构建中配置图中三个环境变量
    下载 HTML 页面示例
    注:图中的变量名,不要填错!!!若需要自定义,请同步修改脚本的变量名

    image.png

    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: ''])
                }
            }
        }
    }
    

    以上配置完成后,保存即可构建,如遇问题请及时联系我

    相关文章

      网友评论

          本文标题:Jenkins + iOS 持续集成(Python)Job配置

          本文链接:https://www.haomeiwen.com/subject/wgnvrltx.html