如何实现android项目的系统化打包
更新:HHH   时间:2023-1-7


1. 需求

实现android项目的系统化打包以及各版本apk归档管理并通过蒲公英平台API自动上传到蒲公英平台

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. 构建结果

返回系统运维教程...