Android使用Jenkins入门(Nginx代理插件)
2019-11-12 本文已影响0人
EmpathyBasic
参考
https://www.jianshu.com/p/38b2e17ced73
https://blog.csdn.net/binbinqq86/article/details/81033707
https://www.jianshu.com/p/b99c1ee2ea3e
以前听说过Java后端使用Jenkins持续集成/持续交付,但是没有具体使用过。今天在Android群里看到别人做自动化测试的时候提到了Jenkins。自动化测试和持续集成我都没有使用过,感觉差距好大。决定体验一下Jenkins,记录一下学习过程
下载
Jenkins官网https://jenkins.io/zh/
首先下载,然后傻瓜式安装
安装插件
然后用浏览器打开http://localhost:8080,由于是第一次安装,我选择的是安装默认插件,后来我发现默认下载插件的方式是真的慢,不是一般的慢,没仔细看这一步能不能跳过,到后面进行相关配置后在下载所需要得插件
插件都不大,但是大部分插件都安装失败,关于插件安装失败
- 在线安装插件
- Update Site升级网站的URL修改为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
image.png
打开F:\Jenkins\updates\default.json
文件,这个文件就是Update Site的插件更新信息,虽然Update Site修改为清华镜像,但是实际插件下载地址不是清华镜像,而是http://updates.jenkins-ci.org/download/plugins如图所示
image.png - 我用浏览器打开插件地址,比如http://updates.jenkins-ci.org/download/plugins/AnchorChain/1.0/AnchorChain.hpi发现可以下载,那为什么在线更新软件失败呢,于是我把
F:\Jenkins\updates\default.json
文件中的connectionCheckUrl
修改为https://www.baidu.com/如图所示
image.png
经过上述修改我发现插件可以下载了。此时,如果还是有些插件下载不下来可以使用离线安装的方式
- 离线安装插件
打开清华大学镜像网站https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/
如果所示 image.png
在这下载所需要的插件,下载后是.hpi
文件,然后安装离线插件,如图所示
image.png
这里说明一下,一般插件会依赖别的插件,要先安装依赖的插件,如图所示
image.png
上图是说安装Pipeline
插件的时候找不到pipeline-build-step
插件,所以我们在清华镜像网站下载pipeline-build-step
和Pipeline
插件,安装的时候先安装pipeline-build-step
再安装Pipeline
- 使用Nginx设置代理安装插件
- 修改
C:\Windows\System32\drivers\etc\HOSTS
文件127.0.0.1 updates.jenkins-ci.org
image.png - 修改nginx配置文件
server {
listen 80;
server_name updates.jenkins-ci.org;
location /download {
proxy_pass https://mirrors.tuna.tsinghua.edu.cn/jenkins/;
}
}
此处有个注意的地方,修改完配置文件,记得把nginx进程全部杀,然后双击nginx.exe
重启
基本配置
打开Global Tool Configuration
选项
1.配置Git
-
配置JDK
image.png - 配置Gradle
image.png
此处有一个注意的地方GRADLE_HOME
目录为bin
目录的上一级目录,否则会报Can't retrieve the Gradle executable
错误 -
配置Maven
方便以后用到,我这里顺便把Maven也配置了一下
image.png
创建项目
image.png配置项目的远程仓库地址
增加凭据,我采用
SSH Username with private key
的方式。image.png
image.png
image.png
- gradle assembleDebug 只打debug
- gradle assembleRelease 只打release
- gradle assemble 同时打debug和release
- gradle installDebug 要构建 APK,并立即在运行的模拟器或连接的设备上安装
构建项目
image.png然而发现app目录下并没有build文件夹,也就没有生成apk文件
image.png
下面记录解决这个问题的时候遇到的问题
-
'annotationProcessor' dependencies won't be recognized as kapt annotation processors
image.png
解决方法annotationProcessor
修改为kapt
image.png -
Task 'assembleDebug' not found in root project
image.png
配置ANDROID_HOME
image.png -
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
image.png
JAXBException
这个类在后来得版本删除了,解决方式 jdk版本修改为8 -
AAPT2 aapt2-3.5.2-5435860-windows Daemon #0: Daemon startup failed
image.png
解决方式:配置GRADLE_USER_HOME
环境变量表示gradle本地仓库路径(这个路径不能太长,不然可能还是报错)
image.png
参考https://stackoverflow.com/questions/51588521/jenkins-execution-failed-for-task-appmergedebugresources有问题还是得上stackoverflow
然后继续构建,成功
image.png
以上应该是Jenkins最基本得使用,我用Android Studio或者命令行构建也可以,还体现不出作用,我们继续往下看
定制功能(有时间再体验Jenkins的更多功能)
这里我们先安装插件git-parameter和zentimestamp