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. 構建結果