目的
使用Jenkins实现Java 、Android项目开发持续集成:自动编译、测试、质量分析、打包、分发部署。
环境
CentOS 6.7、OpenJDK 1.7、Jenkins、SonarQube、Android SDK
安装
- 安装JDK:yum install vim java-1.7.0-openjdk.x86_64 java-1.7.0-openjdk-devel.x86_64
- 安装Gradle:解压到/opt/gradle
- 安装Jenkins:jenkins.war扔到tomcat/webapps下即可。
- 安装SonarQube:解压到/opt/sonarqube,配置/conf/sonar.properties
- 安装Android SDK:下载android-sdk_r24.3.3-linux.tgz,解压到/opt/android-sdk-linux/
- 更新Android SDK:./tools/android update sdk -u -a -t platform-tool,tool,android-22,build-tools-22.0.1
- 更新Android Support:./tools/android update sdk -u -a -t extra-android-m2repository,extra-android-support
*安装32位adb需要的库:yum install glibc.i686 zlib.i686
配置GitLab
- 添加用户:sudo useradd jenkins
- 生成ssh key:sudo -u jenkins -H ssh-keygen -t rsa -C “jenkins@localhost”
- 授予访问权限:在GitLab新增用户Jenkins,并给予项目源代码访问权限,并将/home/jenkins/.ssh/id_rsa.pub内容贴到GitLab的SSH Keys里。
- 配置Gitlab Hook:设置Push events触发Jenkins构建。
配置Jenkins
- 安装插件:Git、Gradle、Gitlab Hook、ArtifactDeployer
- 配置JDK、Git、Gradle、Environment variables添加ANDROID_HOME:略
- 配置Credentials:From a file on Jenkins master:/home/jenkins/.ssh/id_rsa
- 配置Configure Global Security(可选):1、Jenkins’ own user database 2、Matrix-based
Jenkins里新建项目
- 配置项目Git:填写项目Git URL,Credentials选择jenkins
- 配置Invoke Gradle:Tasks里写clean build sonarqube
- 分发部署:根据实际情况用ArtifactDeployer、Excute Shell、Ansible等。
总结
能用机器干的活尽量不用人干,提高效率、节省成本、避免失误。