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

猜你喜欢

转载自blog.51cto.com/12217124/2476401