欢迎光临
我们一直在努力

如何实现android项目的系统化打包

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

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。