ubuntu系统下使用jenkins自动构建Android项目

一、所需要安装的软件:

 

1、jdk 2、gradle 3、git  4、android sdk 5、tomcat 6、jenkins

二、安装软件:

jdk:

下载地址:Java Downloads | Oracle

在/usr/local目录下新建java文件夹
sudo mkdir java
进入java目录下,把下载到的jdk-8u181-linux-x64.tar.gz复制到java文件夹下
sudo cp /home/lixm/jdk-8u181-linux-x64.tar.gz ./
解压jdk-8u181-linux-x64.tar.gz
sudo tar xvf jdk-8u181-linux-x64.tar.gz
删除jdk-8u181-linux-x64.tar.gz 文件
sudo rm jdk-8u181-linux-x64.tar.gz
配置jdk环境变量
输入sudo vim /etc/profile 命令
保存以下内容到profile文件中(JAVA_HOME指的是你安装jdk的目录)
    export JAVA_HOME=/usr/local/java/jdk1.8.0_181
    export JRE_HOME=$JAVA_HOME/jre
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
    export PATH=$JAVA_HOME/bin:$PATH    
  使配置生效:
  输入source /etc/profile 回车
  验证是否配置jdk环境成功:
  输入java -version 回车
  如果看到类似以下内容,就是配置成功了。
  java version "1.8.0_181"
    Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

gradle:
下载地址:http://services.gradle.org/distributions/
在/usr/local目录下新建一个gradle文件夹
sudo mkdir gradle
进入gradle目录下,把放在sofeware目录下gradle-4.1-all.zip文件 复制到gradle文件夹
sudo cp /home/lixm/sofeware/gradle-4.1-all.zip ./
解压gradle-4.1-all.zip
sudo unzip gradle-4.1-all.zip
删除gradle-4.1-all.zip
sudo rm gradle-4.1-all.zip 
配置gradle环境变量
输入sudo vim /etc/profile 命令
把以下内容保存到profile文件的最后一行(ps:GRADLE_HOME是你解压的目录)
export GRADLE_HOME=/usr/local/gradle/gradle-4.1
export PATH=$GRADLE_HOME/bin:$PATH
使配置生效:
输入source /etc/profile 回车
验证gradle环境配置是否成功:
输入gradle -version ,然后回车

看到和上面的类似的信息,那配置就成功了。
安装git:
sudo apt-get install git
(ps:centos是 yum install git)
centos中执行apt-get命令提示apt-get command not found_习惯沉淀的专栏-CSDN博客
查看git保存在哪个目录下
whereis git
安装sdk:
下载地址:https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
在/usr/local目录下新建sdk文件夹,进入sdk目录,把下载到android-sdk_r24.4.1-linux.tgz解压到sdk目录
tar xvf android-sdk_r24.4.1-linux.tgz
配置sdk环境变量
export ANDROID_HOME=/usr/local/sdk/android-sdk-linux
export PATH=$ANDROID_HOME/tools:$PATH
使配置生效:
输入sudo source /etc/profile 回车
在sdk目录下,列出sdk
sudo android list sdk --all

ps:有时候会出现android:未找到命令,直接输入source /etc/profile 然后回车,如果还不行,进入android-sdk-linux目录,再次输入source /etc/profile 然后回车。输入sudo android list sdk --all 就可以看到类似上面的信息了。
选择sdk下载
sudo android update sdk -u -a -t 10
ps:10指的是你要下载的Android SDK 前面的序号

如果找不到你的项目中对应的build-tools版本等等,请参考这篇文章:

https://blog.csdn.net/u013147860/article/details/122816419
Tomcat:
下载地址:Apache Tomcat® - Apache Tomcat 9 Software Downloads
在/usr/local目录下新建tomcat文件夹
sudo mkdir tomcat
进入tomcat目录,复制apache-tomcat-9.0.10.tar.gz 到tomcat文件夹下
sudo cp /home/lixm/sofeware/android-sdk_r24.4.1-linux.tgz ./
解压到tomcat目录
sudo tar xvf apache-tomcat-9.0.10.tar.gz
删除apache-tomcat-9.0.10.tar.gz文件
sudo rm apache-tomcat-9.0.10.tar.gz
配置tomcat环境变量
输入sudo vim /etc/profile 命令
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.10/
export CLASSPATH=$CLASSPATH:$CATALINA_HOME/lib
export PATH=$PATH:$CATALINA_HOME/bin
使配置生效:
输入sudo source /etc/profile 回车
验证是否配置tomcat环境成功:
在浏览器输入http://localhost:8080/

看到这样的页面,恭喜你配置成功。
tomcat配置文件下载:

在tomcat 安装目录\conf\Catalina\localhost下建立任意文件名xml文件,比如:download.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<Context  reloadable="true" docBase="D://download" crossContext="true">

</Context>

重启tomcat
访问http://19.168.23.31:8080/download/+放在download里面的文件名
(ps:19.168.23.31:8080 服务器地址 ,download 就是docBase指的目录)

jenkins 配置:

下载地址:Jenkins download and deployment

这里我下载的是jenkins.war

把jenkins.war放在tomcat的webapps下就能运行。访问localhost:8080/jenkins进入

安装一下插件:

1、Build Environment Plugin
2、build-name-setter
3、Email Extension Plugin

系统管理——>插件管理

系统设置:

设置管理员邮件地址,用来发邮件的。

然后可以测试一下邮箱配置有没有:点击testConfiguration

全局工具配置(系统管理——>全局工具配置)配置上面安装的jdk,git ,gradle

然后保存。

新建任务,输入任务名称,选择构建自由风格的软件项目

配置参数化构建

这里的参数会动态修改build.gradle文件里面和它名字相同的变量的值

构建触发器:

00 8,17 * * 1-6 意思是周一到周六早上八点和下午五点打包

修改编译name

设置gradle

Tasks:clean assembleRelease --stacktrace --debug

ps:Pass all job parameters as Project properties 要勾选,要不然上面写的自定义构建参数会不起作用的。

添加构建步骤,执行shell

test.py这个脚本复制apk目录下的所有文件到我配置的文件下载目录,这样测试人员就可下载到我们的apk啦。

#!/usr/bin/env python
# encoding: utf-8
import os
import time
copyFileCounts = 0
def copyFiles(sourceDir, targetDir):
    global copyFileCounts
    for f in os.listdir(sourceDir):
        sourceF = os.path.join(sourceDir, f)
        targetF = os.path.join(targetDir, f)
        if os.path.isfile(sourceF):
            #创建目录
            if not os.path.exists(targetDir):
                os.makedirs(targetDir)
            copyFileCounts += 1

            open(targetF,"wb").write(open(sourceF,"rb").read())
        if os.path.isdir(sourceF):
            copyFiles(sourceF, targetF)
if __name__ == "__main__":
    copyFiles('./app/build/outputs/apk/release/', '/usr/zhidian/android/yidong/')

添加 Editable Email Notification
这里我只改了这里

触发类型很多,我选的是Always,Recipient List 指的是收件人地址,如果是多个接收地址:这样写cc:someone@example.com, bcc:bob@example.com

触发类型:

参考和遇到的一些问题:
Android Jenkins+Git+Gradle持续集成-实在太详细_嘻哈包袱铺 专栏-CSDN博客
用jenkins搭建android自动打包环境 - 赵占涛的个人空间 - OSCHINA - 中文开源技术交流社区
Ubuntu 14.04安装JDK1.8.0_25与配置环境变量_Linux教程_Linux公社-Linux系统门户网站
在ubuntu上通过jenkins+Gradle搭建android自动化构建环境_心若明,则志坚-CSDN博客
Linux下Tomcat安装配置_服务器应用_Linux公社-Linux系统门户网站
Ubuntu之安装Gradle_stwstw0123的专栏-CSDN博客_ubuntu安装gradle
ubuntu下jenkins环境搭建_saii的专栏-CSDN博客_jenkins ubuntu
https://jingyan.baidu.com/article/1612d500a71b8fe20e1eee26.html
Jenkins 配置邮件通知_学而思(xiejava的blog)-CSDN博客_jenkins邮件配置
https://www.cnblogs.com/zdz8207/p/linux-cp-dir.html 复制目录下文件
git配置:CentOS 最新版本git的安装教程 - flyxuan - 博客园
linux使用vi如何跳转到指定行
http://www.gemingcao.com/archives/linux-vitiaozhuandaozhidinghang.html
文件内容查找:
https://www.cnblogs.com/huninglei/p/5824205.html
新建一个文件
https://jingyan.baidu.com/article/ca00d56c47578be99febcf5c.html
tomcat配置下载文件
https://blog.csdn.net/womeng2009/article/details/53888870
https://www.cnblogs.com/gongchenglion/archive/2016/09/06/5846818.html
查找文件位置:
https://wenda.so.com/q/1460532616728492
Linux 设置系统时间
https://www.cnblogs.com/boshen-hzb/p/6269378.html

忘记Jenkins管理员密码的解决办法

忘记Jenkins管理员密码的解决办法_北极的冰箱-CSDN博客_jenkins密码忘记了

问题: /lib64/libc.so.6: version `GLIBC_2.14' not found 

解决方案:执行SDK的aapt报错./aapt: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./aapt) - 每天1990 - 博客园

第三点直接将安装完的glibc目录下的libc.so.6拷贝到aapt所在目录的libs下就好 写的有误,应该是直接将安装完的glibc目录下的libc.so.6拷贝到aapt所在目录的libs64下就好(也就是build-tools下面你编译版本号下的lib64目录下)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值