Jenkins搭建实现Android自动打包(Windows版)v3.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 SDK-version

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

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

1.4 下载使用Gradle 4.4

  • 下载地址:http://services.gradle.org/distributions/
  • 下载gradle-x.x-all.zip解压到本地

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

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

Gradle-version

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

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

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

  • Jenkins下载地址:http://jenkins-ci.org/
  • 运行Jenkins安装程序

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

password1

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

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

Jenkins-Plugins

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

3.4 配置代码SSH账户

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

SSH

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

C:\Users\Administrator\.ssh

SSH KEY

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,注意是全部哦!其他不填写

Private KEY

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

4.1 安装Jenkins插件,为需要的插件做准备!已安装插件打✔
  • 安装方式也比较简单,直接在Jenkins的插件管理页面搜索上述插件,点击安装即可
  • 插件安装地址 http://localhost:8080/pluginManager/available

 

 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专用(可选)✔

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

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

 

 git clone [email protected]: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这个也是和电脑系统环境变量中的参数一致的

Global env

4.4 全局工具配置

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

5.新建Job配置

 

5.1 新建项目

crate-job

5.2 源码管理

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

SSH-link

5.3 配置项目coding账户:

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

pri-key

5.4 填写Repository URL:

  [email protected]: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

Invoke-Gradle-SCRIPT

 

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

  • 定时构建-触发job的时间的set(可选设置,我们可以让Jenkins server在某个时间自动运行)
  • https://blog.csdn.net/zzy1078689276/article/details/77520441/
  • https://blog.csdn.net/walid1992/article/details/51493271
遇到的一些问题
  • 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

猜你喜欢

转载自www.cnblogs.com/shinge/p/9686152.html
今日推荐