步骤
[TOC]
前言
由于项目逐渐Gradle化,需要为测试同学,配置自动化打包环境
相关资源
Ubuntu Server(没选用Centos,是因为我对bantu属性)
-
选择使用8.0.30的,试用9.0.0,存在一些问题,服务器,稳定点比较好
-
下载war版本的,可以直接在Tomcat中使用
java
采用OpenSDK 1.7,android系统基于这个版本,更加合适
1
2sudo apt-get install openjdk-7-jdk
sudo apt-get install openjdk-7-jre
Android SDK
不多介绍
Gradle
由于Jenkins插件中,可以自动下载,所以可以不用下,如果考虑离线,可以配置一下
系统环境配置
- java
打开文件
1
sudo subl /etc/profile
修改文件
1
2
3
4export JAVA_HOME=/home/../jdk1.8.0_66
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
- Tomcat
启动在tomcat/bin/startup.sh中添加
1
2
3
4JAVA_HOME=/home/../jdk1.7.0_80
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
TOMCAT_HOME=/home/../apache-tomcat-8.0.30启动
1
sudo sh startup.sh
关闭
1
sudo sh shutdow.sh
自启动
已root身份打开,
vim /etc/rc.local
添加tomcat/bin中的startup.sh全路径
- jenkens (将下载的war包放在webapps中即可)
Jenkins 配置环境
Jenkins 插件
系统管理-管理插件-可选插件
- Subversion Plug-in
- Gradle plugin
- Android Emulator Plugin
需要配置Android环境
Jenkins 全局配置
系统管理-系统设置
- 主目录 (修改Jenkins工作空间的位置)
- Environment variables (配置全局系统变量)
- Android (配置 Android SDK root)
- JDK (配置 JDK root)
- Gradle
可以指定本地路径,也可以在线更新
新建项目
新建-名称-构建一个自由风格的软件项目-OK
- 源码管理 (Subversion,配置相应的代码路径)
构建
增加构建步骤-Invoke Gradle script
- Invoke Gradle (选择一个Gradle Version)
- Tasks
clean assembleRelease --stacktrace --debug
增加构建步骤-Execute shell(为了将生成的apk,拷贝到共享文件夹下)
export BaoFengAndroid_DATE=$(date +"%Y%m%d%H%M") mkdir -p /home/android/share/app/jenkins/BaoFengAndroid/$BaoFengAndroid_DATE cp ${WORKSPACE}/BaofengAndroid/build/outputs/apk/* /home/android/share/app/jenkins/BaoFengAndroid/$BaoFengAndroid_DATE cp -r ${WORKSPACE}/BaofengAndroid/build/outputs/mapping/* /home/android/share/app/jenkins/BaoFengAndroid/$BaoFengAndroid_DATE
build.gradle配置说明
这里只说keystore的安全存储
- 通过读取系统环境变量,实现代码和系统环境配置(Ubuntu,Windows…)分离,不指定固定路径
使用时,只需要在系统中添加环境变量即可
build.gradle中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15releaseConfig {
storeFile file(System.getenv("KeyStorePath"))
storePassword System.getenv("storePassword")
keyAlias System.getenv("keyAlias")
keyPassword System.getenv("keyPassword")
}
```
* Ubuntu配置 **(文件/etc/profile)**
```bash
export KeyStorePath=...
export storePassword=...
export keyAlias=...
export keyPassword=...Windows中,配置完需要重启
Jenkins中环境变量配置
系统管理-系统设置-全局属性-Environment variables 添加相应的键值对即可
注意事项