在搭建构建系统之前,请自行配置系统JDK+JRE+SDK编译环境,注意需要配置ANDROID_HOME(sdk路径,ant根据这个变量生成build.xml并编译),以下是我的配置~/.bashrc
export JAVA_HOME=/home/owner/jdk/jdk1.8.0_121/
export JRE_HOME=${JAVA_HOME}/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export SDK_HOME=/opt/sdk/
export ANDROID_HOME=$SDK_HOME
export PATH=${PATH}:$SDK_HOME/tools:$SDK_HOME/build-tools/android-5.1:$SDK_HOME/platforms/android-22:$SDK_HOME/platform-tools/
export ANT_HOME=/home/owner/ant/apache-ant-1.10.1
export PATH=$PATH:$ANT_HOME/bin
安装tomcat
1 下载apache-tomcat的tar包,下载地址:http://tomcat.apache.org/,解压后,将整个安装包拷贝至/opt目录下:
$ ls /opt
apache-tomcat-9.0.0.M17
2 启动tomcat,执行tomcat目录下./bin/startup.sh (注意,tomcat默认端口是8080,可修改conf/server.xml 的“<Connector port="8080" protocol="HTTP/1.1"”)
启动成功验证:
网页打开http://localhost:8080, 可看到tomcat启动成功:
安装jenkins
1 下载jenkins安装包,下载地址:http://updates.jenkins-ci.org/download/war/, 将下载后的jenkins.war拷贝至tomcat的webapps目录下:
$ls /opt/apache-tomcat-9.0.0.M17/webapps/
jenkins.war
拷贝完成后,tomcat会自动将war解压,生成同级目录jenkins
2 网页打开http://localhost:8080/jenkins,则可成功看到jenkins登录界面,按照提示拷贝linux中jenkins的首次登录密码到网页上,并下载插件。
配置jenkins
1 安装插件,以下为需要下载的辅助插件:
Ant Plugin
Email Extension Plugin
Subversion Plug-in
其他插件视情况下载
2 修改jenkins配置
点击Manage Jenkins-> Configure System
Global properties //全局环境变量,可在这里配置项目脚本通用的全局变量
Extended E-mail Notification:
SMTP server : SMTP服务器域名, 如smtsmtp.163.com
Advance -> 勾选Use SMTP Authentication
User Name:发件人登录SMTP的账号
Password: 发件人登录SMTP的密码
Default Content Type : 可选择HTML
Default Recipients: 构建邮件默认收件人
Default Content: 默认构建正文,可在这里添加自定义html内容
注意:以上邮件设置需要卸载E-mail Notification插件,或者复制内容至E-mail Notification中才会生效
3 新建项目
New Item -> Freestyle project -> ok
Source Code Management : Subversion
Repository URL: 填写svn地址
Local module directory:存储svn源码的位置,注意,这里是相对于jenkins工程路径的位置(即Manage Jenkins-> Configure System-> Workspace Root Dir)
Build Triggers: 触发器
Poll SCM:定时触发,格式为***** : 分(minutes) 时(hour) 日(day) 月(monty) 星期(week), *匹配所有合法值,具体可点击插件右边?号查看帮助
其他触发器条件自行bd
Build:编译
点击
add build step -> Execute shell
这里支持shell 命令,比如所要编译的svn android源码中并没有Ant所需的build.xml,可以在这一步骤生成,例如:
android update project --name <源码名> --target android-22 --path <源码路径>
add build step -> Invoke Ant
Targets: 编译目标,Android项目可以填clean / debug / release等,只要有签名文件ant.properties, 均可生成带签名/不带签名的打包文件apk
Build File : build.xml所在的位置, 注意,此时的路径为相对于源码所在的位置
Post-build Actions:处理构建结果,可以在这一步发布编译的apk
如果需要email通知收件人,且安装了Email Extension Plugin插件,那么可以选择
Editable Email Notification 选择之前的系统email配置的即可
保存以上设置,点击Build now开始构建,根据Console Output信息调试,直到编译成功