目录
基础环境
centos7、jenkins、git插件、gradle插件、nginx 、python3、myqr、
android-sdk:platforms;android-29
jdk1.8
Jenkins配置
安卓SDK安装
cd ${ANDROID_HOME}/tools/bin
./sdkmanager --list
./sdkmanager --sdk_root=/opt/android-sdk/ "platforms;android-29"
./sdkmanager --sdk_root=/opt/android-sdk/ "platform-tools"
./sdkmanager --sdk_root=/opt/android-sdk/ "build-tools;29.0.3"
git相关
Gradle构建
脚本
二维码图片:myqr(依赖python3)会根据url生成二维码图片 ;
二维码中的url:gradle打的debug包会上传到nginx的指定目录,通过http可以访问apk包
cp命令:是为什么把每次打的包区分,所以带上build_id(jenkins的环境变量)
pwd
echo $BUILD_ID
echo $WORKSPACE
myqr http://192.168.25.62:81/homelife/android/homelife-${BUILD_ID}.apk -n homelife-${BUILD_ID}.png -d app/build/outputs/apk/debug/
cp app/build/outputs/apk/debug/app-debug.apk app/build/outputs/apk/debug/homelife-${BUILD_ID}.apk
上传文件到nginx
APK文件:homelife-${BUILD_ID}.apk
二维码:homelife-${BUILD_ID}.png
文件服务器:上传到nginx的映射目录/opt/app/apk/homelife/android/
cp命令:为了保证homelife.apk最新
ls xargs rm命令:删除最旧的版本,即时间最旧的*.apk、*.png;
二维码配置
效果
脚本
<img src='http://192.168.25.62:81/homelife/android/homelife-${BUILD_ID}.png' height="120" width="120" /><br/><a href='http://192.168.25.62:81/homelife/android/homelife-${BUILD_ID}.apk'>Install Online</a>
归档成品
钉钉通知
自定义机器人-webhook
钉钉插件的配置
再系统配置里
job中选择钉钉插件
钉钉效果