最基础的Jenkins 打包 Android
本文将会写 最基础的 jenkins 打包 Android 项目的 构建步骤。之后文章会写如何打测试环境和正式环境的包,如何自动打渠道包,和如何分发 安装包。
本文采用解压缩的方式来部署环境,所有的文件比如 jetty 、jenkins 都在当前目录,可以很方便的部署、移植和删除。
1. 安装 Jetty
Jetty 是一个 Servlet 引擎。相比 tomcat 结构更加简单,配置起来也更加容易快速
可以到 Jetty官网 了解和下载。
tar -xvf jetty-distribution-9.3.14.v20161028.tar.gzip #解压
解压后目录为
➜ jetty pwd
/home/username/jetty
➜ jetty ls #下载后的 jenkins.war 要放到 webapps 目录下
bin etc license-eplv10-aslv20.html modules README.TXT start.ini VERSION.txt
demo-base lib logs notice.html resources start.jar webapps
➜ jetty java -jar ./start.jar #启动 jetty,启动后可以打开 127.0.0.1:8080 检查是否启动成功
2. 安装 jenkins
在 Jenkins官网 下载 最新 war文件。将 war 文件放到 Jetty 的 webapps 目录下。
修改 jetty.xml 添加 JENKINS_HOME 为想安装的目录。
vim /home/username/jetty/etc/jetty.xml
添加下面配置
<Call class="java.lang.System" name="setProperty">
<Arg>JENKINS_HOME</Arg>
<Arg>/home/username/jettyjenkins</Arg>
</Call>
然后启动 jetty
➜ jetty java -jar ./start.jar
打开浏览器访问 jenkins 时如果出现 HTTP ERROR 503 错误,如下。
HTTP ERROR: 503
Problem accessing /jenkins/. Reason:
Service Unavailable
------------
Powered by Jetty
经查这是因为 Jetty 8.1.0之后对安全性有了一些要求,需要显示注明安全域(security realm)。需要在 webapps 目录下添加 jenkins.xml 文件 并添加如下配置
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/jenkins</Set>
<Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/jenkins.war</Set>
<Get name="securityHandler">
<Set name="loginService">
<New class="org.eclipse.jetty.security.HashLoginService">
<Set name="name">Jenkins Realm</Set>
<Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set>
</New>
</Set>
</Get>
</Configure>
之后启动打开 127.0.0.1:8080/jenkins 即可看到 jenkins 界面。
3. 配置 jenkins
安装插件 git plugin ssh
配置 Android_HOME
在 [系统管理]->[系统设置] 页面-> [全局属性]部分-> 勾选 [Environment variables] 添加键值对
键 Android_HOME
值 /android/sdk/path
4 新建Android项目
点击[新建]->选择[构建一个自由风格的软件项目],进入项目配置页面。
5 配置Git
源码管理选择 [Git],[Repository URL] 输入项目的 git 地址, [Credentials] 我选择的默认的 “none” ,直接用的当前账号的ssh 目录 /home/username/.ssh 下 id_rsa。
6 配置 Gradle 编译代码
[构建] ->[增加构建步骤]->[Invoke Gradle script]-[task] 输入 “ clean build ”
然后 点击 [保存]
这样最简单可打包的项目配置就结束了。
7 项目构建
回到项目主页 -> 点击 [立即构建],可以看到 左下栏 [Build History] 窗口有项目进度条。点开进度条可以看到 此次构建的基本信息,点击 [Console Output] 可以看到构建的控制台输出。项目构建完成后可以看到 “Build Success”。进入 项目主页的 [工作空间] 可以看到项目结构,找到 output 即可看到构建生成的 apk 文件等。
8 未完待续
之后会讲如何打多渠道包,如何打不同环境的包,如何上传安装包到蒲公英进行分发。
Jenkins + Gradle 持续自动化构建 Android(2)
参考文章
http://smilejay.com/2013/06/deploy-jenkins-in-jetty/
http://www.pgyer.com/doc/view/jenkins