您的位置:首页 > 移动开发 > Android开发

Jenkins Gitlab Android CI 环境配置

2017-08-07 12:03 357 查看

操作系统安装, 请查看这里

系统中安装相关软件

相关软件都统一安装在/soft目录下, 以root权限执行

mkdir /soft


安装一些工具软件

yum install -y unzip git xulrunner.i686


xulrunner.i686 用于在64位系统上执行Android build tools里的工具软件

JDK 安装与配置

点击这里, 下载jdk-8u121-linux-x64.tar.gz.

将下载到的jdk复制到/soft目录下

解压缩jdk

#cd /soft
#tar -xf jdk-8u121-linux-x64.tar.gz


配置环境变量

echo 'export JAVA_HOME=/soft/jdk1.8.0_121' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile


使环境变量生效

. /etc/profile


验证jdk的安装

#java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)


出现上述提示, 说明已经安装成功.

Gradle 安装与配置

点击这里 下载Android项目的相应版本的gradle.(假定为gradle-3.4.1)

将下载到的gradle-3.4.1-all.zip 复制到/soft目录下

解压缩gradle-3.4.1-all.zip

#cd /soft
#unzip gradle-3.4.1-bin.zip


验证Gradle 的配置

# /soft/gradle-3.4.1/bin/gradle -v

------------------------------------------------------------
Gradle 3.4.1
------------------------------------------------------------

Build time:   2017-03-03 19:45:41 UTC
Revision:     9eb76efdd3d034dc506c719dac2955efb5ff9a93

Groovy:       2.4.7
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_121 (Oracle Corporation 25.121-b13)
OS:           Linux 3.10.0-514.el7.x86_64 amd64


出现上面的提示说明Gradle已经安装完毕.

Android SDK tools安装与配置

点击这里 下载android-sdk_r24.4.1-linux.tgz

将android-sdk_r24.4.1-linux.tgz拷贝到/soft

解压缩android-sdk_r24.4.1-linux.tgz

#cd /soft
#tar -xf android-sdk_r24.4.1-linux.tgz


配置环境变量

#echo 'export ANDROID_HOME=/soft/android-sdk-linux' >> /etc/profile


根据Android项目的需要下载对应版本的tools, 比如我们app需要的是android-23, build-tools-23.0.2(详情查看主module的build.gradle)

#/soft/android-sdk-linux/tools/android update sdk --no-ui --all --filter build-tools-23.0.2,android-23,extra-android-m2repository


许可协议中输入y, 继续安装

Android NDK 安装与配置



gitlab上配置SSH

生成sshkey

# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
2f:20:81:45:60:b8:49:85:34:63:02:19:0e:a5:e3:3f root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|BX*+o            |
|B=oo             |
|++. .            |
|+.   .           |
| .  . . S        |
|  .  . . .       |
|   E    . .      |
|    .    .       |
|                 |
+-----------------+


将生成的公钥的内容, 添加到gitlab中自己的SSH KEY的配置中.

这样CI服务器就可以从gitlab中下载代码了.

安装配置Tomcat

点击这里下载apache-tomcat-8.0.45

复制apache-tomcat-8.0.45.tar.gz到/soft目录

解压apache-tomcat-8.0.45.tar.gz

tar -xf apache-tomcat-8.0.45.tar.gz


启动Tomcat

# cd apache-tomcat-8.0.45/bin
# ./startup.sh
Using CATALINA_BASE:   /soft/apache-tomcat-8.0.45
Using CATALINA_HOME:   /soft/apache-tomcat-8.0.45
Using CATALINA_TMPDIR: /soft/apache-tomcat-8.0.45/temp
Using JRE_HOME:        /soft/jdk1.8.0_121
Using CLASSPATH:       /soft/apache-tomcat-8.0.45/bin/bootstrap.jar:/soft/apache-tomcat-8.0.45/bin/tomcat-juli.jar
Tomcat started.


在浏览器中输入

http://ci_machine_ip:8080/


如果看到了Tomcat的欢迎页, 则配置正确.

安装配置Jenkins

点击这里下载jenkins.war

将jenkins.war复制到/soft/apache-tomcat-8.0.45/webapps中

重启tomcat

#cd /soft/apache-tomcat-8.0.45/bin
#./shutdown.sh
#./startup.sh


浏览器中输入

http://ci_machine_ip:8080/jenkins


如果出现了要求输入密码的页面, 说明已经配置好了.

按照说明, 输入密码后继续配置

安装推荐的配置

根据提示配置管理员账户

创建一个任务

填写项目名字(用英文), 这个名字将被作为下载代码的目录

比如AndroidDev

构建一个自由风格的软件项目

点击OK按钮

源码管理选择git, 输入仓库地址, branch to build 填写要构建的分支

构建 -> 增加构建步骤 -> Execute shell

输入/soft/buildAndroidDev.sh

点击左下角保存

编写构建脚本vi /soft/buildAndroidDev.sh

#!/bin/bash

GRADLE=/soft/gradle-3.4.1/bin/gradle

PROJECT=/root/.jenkins/workspace/AndroidDev

$GRADLE -b $PROJECT/build.gradle clean

$GRADLE -b $PROJECT/build.gradle assembleRelease


完善脚本, 对打包好的apk进一步处理

删掉没用的东西

#rm -rf /soft/*.zip /soft/*.tgz /soft/*.tar.gz


杂项配置

时区

# cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
cp: overwrite ‘/etc/localtime’? y
#


Gradle 配置

#echo 'org.gradle.daemon=true' ~/.gradle/gradle.properties
#echo 'org.gradle.jvmargs=-Xmx5120m' ~/.gradle/gradle.properties
#echo '--parallel-threads=4' ~/.gradle/gradle.properties


注意

- 配置org.gradle.jvmargs=-Xms5120m时需要根据机器实际的内存情况配置, 一定要小于实际的内存.

- 配置–parallel-threads时要根据实际CPU的核心数量配置, 不要超过CPU的实际核心数量

问题处理

Jenkins的错误“error fetching remote repo origin”的问题解决
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android jdk jenkins