之前一直想在公司搭建一个集成编译的环境,一直没能成行,这次终于着手去做了,发现之前的Hudson已经演变成了如今的Jenkins,关于Oracle跟各个开源社区以及其他厂商的一些关于商标的纷争真的很有意思,我觉得未来有可能的话,真的可以专门写一些关于这个话题的东西。具体可以参考wikipedia上的介绍。
因为Jenkins是基于Java Servlet实现的,所以需要依赖于某个Servlet Container来运行,我选择的是Apache Tomcat。Tomcat也是基于Java实现的,那么开始第一步吧。
第一步 安装SDK
自行下载JDK,安装配置环境变量,如下:
[bash light=”true”]
export JAVA_HOME=/usr/local/jdk1.6.0_29
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:.
[/bash]
第二步 安装配置Tomcat
下载tomcat安装包,直接解压,配置环境变量:
[bash light=”true”]
export CATALINA_HOME=/root/apache-tomcat-7.0.33
[/bash]
在CentOS的/etc/sysconfig/iptables配置文件中加入规则:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
通过$CATALINA_HOME/bin/startup.sh启动tomcat,找个浏览器试试能否访问,http://your_centos_server_ip:8080
确认tomcat能正常访问之后,开始第三步
第三步 安装配置Jenkins
到Jenkins的主页下载Jenkins的war文件,将该文件拷贝至$CATALINA_HOME/webapps目录下,tomcat会自动将war文件解压并部署,找个浏览器试试能否访问这个地址 http://your_centos_server_ip:8080/jenkins,如果可以的话那么Jenkins就算是部署好了。
第四步 配置Android SDK和NDK环境
这一步可能会稍微多一些,可以参考我的这篇文章,CentOS 64位机器配置Android SDK和NDK环境。
第五步 创建一个Jenkins的Job
完全按照Jenkins的提示和帮助一步步进行下午,非常简单。
- 给Project设置名称
- 配置获取最新代码的方式,Jenkins目前自带了CVS和SVN的插件,如果你的代码是通过git来管理的,只需要安装一个git的插件即可,Jenkins有非常丰富的插件,Jenkins => Manage Jenkins => Manage Plugins,进入插件管理页面,打开Available的Tab页面,在Filter中输入git,然后找到 Jenkins GIT plugin,勾选前面的复选框,之后点击页面下方的Download now and install after restart,让它自己安装然后重启吧,重启之后就可以配置通过git来获取代码了
- 设置编译触发器规则,应该是完全和Linux cron的规则一致,可以google之。
- 配置如何编译方法,在服务器上我们肯定是脱离ADT环境的,通常我们会使用Ant来进行编译,自行下载并配置Ant的环境变量,确保ant命令可以正常使用
- 先通过android命令更新当前需要编译的项目,确保ant能找到正确的sdk路径和其他的配置,需要编译release包的话,可以在project.properties中配置好用于签名的keystore文件,具体可以参考这篇文章,然后在Jenkins中配置shell中输入 android update project -p $WORKSPACE -n 工程名 -t 编译目标
- 配置Ant编译目标为release
- 点击Save之后,回到Job的首页面,点击Build Now,开始编译吧。可以通过查看Console Output来看所有编译的输出信息,有错就一一排查吧。