版权声明: https://blog.csdn.net/u010577768/article/details/83626122
只适合本人项目使用,其他项目可参看脚本代码
记一下,怕以后自己也忘了
# delete old apk (before 1 min) in sub folders
test $? -eq 0 && find ${WORKSPACE}/app/build/outputs/apk -mindepth 1 -maxdepth 3 -type f -mmin +2 -exec rm -f {} \;
# move mapping.txt to archive dir
archive_dir=${WORKSPACE}/app/build/outputs/archive
test -d ${archive_dir} && rm -rf "${archive_dir}"
mkdir -p ${archive_dir}
build_dir=$(echo ${ENVIRONMENT})
cp ${WORKSPACE}/app/build/outputs/apk/${build_dir}/*.apk ${archive_dir}
#有mapping文件则拷贝,否则不拷贝mapping文件
mappingFile=${WORKSPACE}/app/build/outputs/mapping/${build_dir}/mapping.txt
if [ -f "${mappingFile}" ];then
cp ${WORKSPACE}/app/build/outputs/mapping/${build_dir}/mapping.txt ${archive_dir}
fi
#构建完成,并把输出文件拷贝到archive_dir之后,把其余构建生成文件全部删除,避免磁盘空间变小导致打包速度减慢
rm -rf ${WORKSPACE}/app/build/outputs/apk
rm -rf ${WORKSPACE}/app/build/outputs/logs
rm -rf ${WORKSPACE}/app/build/outputs/mapping
rm -rf ${WORKSPACE}/app/build/tmp
rm -rf ${WORKSPACE}/app/build/intermediates
rm -rf ${WORKSPACE}/app/build/generated
#生成二维码
urlString=http://10.0.20.6:8080/job/AKULAKU_ANDROID/${BUILD_NUMBER}/artifact/app/build/outputs/archive/
files=$(ls $archive_dir)
for file in ${files}; do
echo $file
fileExtension=${file##*.}
echo ${fileExtension}
apkExtension="apk"
if [ $fileExtension = $apkExtension ];then
fileName=${file##*/}
echo "文件名:"$fileName
urlString=http://10.0.20.6:8080/job/AKULAKU_ANDROID/${BUILD_NUMBER}/artifact/app/build/outputs/archive/${fileName}
break;
fi
done
java -jar /var/lib/jenkins/qrcodelib/qrcode.jar url=${urlString} image=qrcode.jpg save=/var/lib/jenkins/qrcodelib/
cp /var/lib/jenkins/qrcodelib/qrcode.jpg ${archive_dir}
Jenkins切换root账号,免密验证
在Jenkins宿主服务器上运行如下命令
$ sudo visudo
在文件的末尾加上一行
jenkins ALL=(ALL) NOPASSWD: ALL
保存文件(注意保存的时候修改文件名,文件名后缀不要加上默认的.tmp,即可覆盖原文件)
Ctrl+O
退出编辑
Ctrl+X
重启Jenkins服务