Jenkins之android APP打包上傳蒲公英平臺

1. 需求

實現android項目的系統化打包以及各版本apk歸檔管理並通過蒲公英平臺API自動上傳到蒲公英平臺(之前是android開發自己開發工具手動打包再上傳蒲公英)

2. 實現方式

jenkins slave節點安裝android sdk 和 gradle

3. pipeline

node('slave-201'){
    stage("從gitlab拉取代碼"){
       checkout([$class: 'GitSCM', branches: [[name: '**']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], 
       userRemoteConfigs: [[credentialsId: '認證ID', url: '項目地址']]])
    }
    stage("替換更新配置文件和簽名文件"){
        sh '''/usr/bin/cd ${WORKSPACE}
        /usr/bin/rm -rf ${WORKSPACE}/app/build.gradle
        /usr/bin/cp /root/jenkins/android/build.gradle ${WORKSPACE}/app
        '''
    }
    stage("編譯打包和簽名打包"){
        sh '''export JAVA_HOME=/usr/local/jdk8
        export ANDROID_HOME=/usr/local/android
        export GRADLE_HOME=/usr/local/gradle
        cd app
        /usr/local/gradle/bin/gradle clean
        /usr/local/gradle/bin/gradle assembleRelease'''
    }
    stage("歸檔"){
        archiveArtifacts artifacts: 'app/build/outputs/apk/release/app-release.apk', fingerprint: true
    }
    stage('發佈到蒲公英平臺'){
        sh'''curl -F 'file=@app/build/outputs/apk/release/app-release.apk' -F '_api_key=apikey' -F "buildInstallType=2" 
        -F "buildPassword=password" https://www.pgyer.com/apiv2/app/upload
        '''
    }
}

4. 構建結果

image.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章