美文网首页
Jenkins搭建实现Android自动化打包(Windows版

Jenkins搭建实现Android自动化打包(Windows版

作者: 我就是Root | 来源:发表于2020-02-22 12:25 被阅读0次

1.软件安装与配置JDK8+Android SDK+Gradle4.4

1.1 安装与配置JDK8

(1)新建->变量名"JAVA_HOME",变量值"C:\Java\jdk1.8.0_05"(即JDK的安装路径)
(2)编辑->变量名"Path",在原变量值的最后面加上“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin” 
(3)新建->变量名“CLASSPATH”,变量值“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”

1.2 安装更新开发的版本Android SDK Manager

test_for_gerrit_android:[Android SDK Build-Tools 27.0.3, Android SDK Platform 27]
antstorm_AD_Screen:     [Android SDK Build-Tools 26.0.2, Android SDK Platform 25]

Android SDK Manager 无法获取更新版本列表,更新下载服务器:
改网址为:mirrors.neusoft.edu.cn 端口:80

查看开发使用的什么SDK版本开发的apk?在Jenkins server目录下

C:\Program Files (x86)\Jenkins\workspace\test android\app build.gradle

image.png

1.3 Android SDK环境变量配置(设置PC的系统环境变量)

ANDROID_HOME : F:\SDK
Path:%ANDROID_HOME%\tools

1.4 下载使用Gradle 4.4

1.5 Gradel环境变量-系统变量设置:

 GRADLE_HOME : F:\Gradel version\gradle-4.4
 Path:;%GRADLE_HOME%\bin
 打开cmd,输入gradle -version看到对应版本,说明配置成功,如下图

image.png
关于Gradle版本选择配置的说明:
  • 最好使用开发项目中对应的版本,高版本也是可以的;下面路径文件查看:
  • 在Jenkins的工作区项目文件夹下,查看gradle-wrapper.properties文件最后一行
  • C:\Program Files (x86)\Jenkins\workspace\AD_Screen\AntStorm\gradle\wrapper image.png

2.在本地和Jenkins打包的命令,以及签名加固

2.1 在本地使用Gradle命令打包代码成为.apk

  • 首先你要先确认本地打包是ok的,再去Jenkins配置
  • 打包的apk在路径 C:\Program Files (x86)\Jenkins\workspace\android825\app\build\outputs\apk
 cmd切换路径到代码工程路径,开始是在user\Administrator
 cd c:\
 cd C:\Program Files (x86)\Jenkins\workspace\test android
 gradle build

一些常用的命令解说(in cmd)
  • gradle build 检查依赖并编译打包,打2个包版本: release and debug
  • gradle assembleDebug 编译并打Debug包 (测试时候使用这个包进行测试)
  • gradle assembleRelease 编译并打Release的包(Jenkins打的这个包还没有签名加固,然后使用360加固宝签名,再放到生产)

2.2 使用360加固宝.exe签名release包,生产环境使用这个

 详情请参考360加固宝使用教程...

2.3 在Jenkins的Task里面运行脚本命令输入:

  • 清除之前的build编译release and debug
  • 也可以不用加clean,那么它不会清除之前的,你可以手动删除,看开发配置没有,配置了的话每个apk最后标记会有当时的时间,release是配置了的,debug没有,这里我们建议手动删除再去Jenkins运行Job,因为我没有配置clean;如果你手动删除了,那么我Jenkins配置了clean他会找不到需要clean的包而报错。
clean build

打包debug

clean build assembleDebug

打包release

clean build assembleRelease

蚂蚁风暴app打包:使用开发自定义的打包命令来打包: 默认为测试环境

test环境包:assembleApi_testDebug --stacktrace

dev环境包:assembleApi_devDebug --stacktrace

master生产包:assembleApi_masterRelease --stacktrace

测试和生产包:

assembleDebug --stacktrace

assembleRelease --stacktrace

3.安装Jenkins,搭建本地服务器

3.1 把管理员密码copy到输入框

image.png
密码路径
C:\Program Files (x86)\Jenkins\secrets\initialAdminPassword
密码:xxxxxxxxxxx,是一串数字和字母的字符串

3.2 安装选--->推荐插件--->等待自动安装完毕---> Install done

image.png
3.3 Jenkins本地访问地址(公司局域网用户,访问IP地址):
 http://192.168.2.13:8080/,or,http://localhost:8080/

3.4 配置代码SSH账户

  • 使用GIT工具在本机生成:公钥+私钥的命令(为了安全性)
  • 只要在当前PC运行生成一次即可,如果把JOB删除了,找到路径重新配置即可
  • 当然你得在此coding项目下,拥有coding代码相关访问权限
运行如下命令,第一次会要求输入你的coding代码仓库账户的密码
ssh-keygen -t rsa -C "youmai@inc.com"

image.png

3.5 如上Git工具生成公钥和私钥后,位置会显示在命令行里面:使用文本打开-全部复制到对应项

C:\Users\Administrator\.ssh

image.png

3.6 配置公钥id-rsa.pub到coding网站(个人设置-SSH公钥)

  • 登录你的coding代码仓库,找到setting/keys地方配置ssh
  • 名字任意,你添加和删除key都会收到阿里mail

3.7 配置私钥id-rsa到Jenkins账户里面

在Job配置账户凭据里面,选择SSH的项,username可以任意输入,再把私钥id-rsa内容全部复制到privete key,注意是全部哦!其他不填写
image.png

4.Jenkins服务器持续集成配置

4.1 安装Jenkins插件,为需要的插件做准备!已安装插件打?
 1.GIT plugin ?
 2.SSH Credentials Plugin (coding代码仓库账户key匹配使用)?
 3.Git Changelog Plugin: 获取仓库提交的commit log  (选的这个了Git Changelog ?)
 4.build-name-setter:用于修改Build名称?
 5.description setter plugin:用于改Build描述信息,在描述信息中增加显示QRCode(二维码)
   description setter选2个description setter+Project Description Setter ?
 6.Post-Build Script Plug-in:在编译完成后通过执行脚本实现一些额外功能(PostBuildScript ?)
 7.Xcode integration: iOS专用(可选)?
 8.Gradle plugin: Android专用(可选)?
 9.Job cacher

4.2 检查git能否把coding server的代码拉取到本机:

  • 在本地新建文件夹,存代码的位置,然后拖动路径到git为切换到此路径
  • 使用工具Git Bash拉取代码到这个path,如果结果成功,表示账户和拉取是ok的
 git clone git@e.coding.net:axx/project-name.git

4.3 Jenkins系统设置(系统管理--系统设置)

系统设置地址 http://localhost:8080/configure
ANDROID_HOME: F:\android sdk 24
GRADLE_USER_HOME: F:\Gradel version\jenkins-gradle-cache
ANDROID_HOME这个也是和电脑系统环境变量中的参数一致的

image.png

4.4 全局工具配置

  • 地址 http://localhost:8080/configureTools/
  • 需要配置JDK+Git.exe+Gradle4.4的路径在Jenkins
  • 备注:如果开发的app- gradle-wrapper.properties中的gradle是4.1版本,不影响的;其他默认不选择
image.png
注: Gradle plugi4.4是取的名字,可以任意;会在后面Nvoke Gradle SCRIPT选择中调用此插件版本

5.新建Job配置

5.1 新建项目

image.png

5.2 源码管理

把coding项目中的SSH链接copy到此处

image.png

5.3 配置项目coding账户:

  选择SSH的项,任意username,再把私钥id-rsa内容复制到privete key,其他不填写
  私钥路径 C:\Users\Administrator\.ssh

image.png

5.4 填写Repository URL:

  git@e.coding.net:xx/project-name.git

Credentials:你自定义的那个username,2者显示ok,不报错说明正确
Repository URL你也可以填写https的方式,就不用配置ssh秘钥了,直接输入账户密码去拉取codes

5.5 构建

选择项:Invoke Gradle SCRIPT--->Invoke Gradle
选择安装的命名的Gradle版本4.4,Gradle plugin是在全局工具配置取的名字
Tasks填写为 clean build --stacktrace--debug
Root Build script填写为 ${WORKSPACE}
Build File填写为 ${WORKSPACE}/build.gradle

image.png

其他高级设置-可以不设置

遇到的一些问题
  • 1.需要关闭本机防火墙all
  • 2.JDK版本不能太高10.0.2,更换为JDK8
  • 3.use开发版本的 Gradel 4.4-all
  • 4.Android 8.1.0(API 27)应该和开发的版本保持一致性,在Android SDK Maneger下载对应的
  • 5.Jenkins新建gradle download 存储空间,解决报错
  • 6.Jenkins console log多处,查询百度解决
  • 7.查看自己所需的gradle文件版本C:\Program Files (x86)\Jenkins\workspace\testapk\gradle\wrapper
  • 8.Jenkins 创建的Job命名规则:不能有特殊字符和最后不有空格之类,容易发生不支持的字符串转码编译

如果开发对Android基础版本升级了,也需要升级对应的gradle版本即可,如果不行,删除之前的重新来,or 多构建几次即可,and check logs

build打包依赖问题:

  • 解决所有新的PC机子配置自动化打包失败报错的验证版本

    com.github.CymChad:BaseRecyclerViewAdapterHelper:2.1.7

  • 2.1.7版本依赖包改成2.3.0

  • 测试范围:主要是涉及 列表的有没有问题;如订单 优惠券 屏幕列表等;不限于以上功能

相关文章

网友评论

      本文标题:Jenkins搭建实现Android自动化打包(Windows版

      本文链接:https://www.haomeiwen.com/subject/tjklqhtx.html