手把手教你搭建AndroidJenkins环境及一键自动构建打包

前言: 之前看到后端的同事,在服务器上刷刷的敲命令觉得很酷,给我的感觉是Linux很难上手。自从公司给我配了台服务器后,操作了一下,感觉和想的不是那么一回事,所以还是得多动手,不要空想。


正文开始:


看到网上说Linux安装软件基本是用yum,所以这边也是使用yum,从0-1搭建Linux Jenkins,实现Android 一键自动化构建部署打包。


步骤一:安装JDK环境


1.查看jdk的版本:


# yum -y list java*


2.选择要安装的JDK版本(带devel是JDK)


# yum install -y java-1.8.0-openjdk-devel.x86_64


3.安装完后,查看是否安装成功(看到版本号表示安装成功,不需要像Windows配置java_home环境变量)


# java -version


image.png


步骤二:安装Jenkins


1.yum安装Jenkins


# yum install jenkins


如果没有Jenkins的repos,按照官网提示再操作:


# sudo wget -O /etc/yum.repos.d/jenkins.repo  https://pkg.jenkins.io/redhat-stable/jenkins.repo
# sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

2.修改Jenkins默认的配置(怕端口冲突,改成你想要名字和端口):


# cd /etc/sysconfig/
# vi jenkins

image.png


3.启动Jenkins


# service jenkins start


按照提示,到指定目录复制密码,下一步是选择安装默认的插件(推荐),注册一个账户,最后就会来到这个界面,表示Jenkins安装成功。


image.png


步骤三:安装gradle


1.安装gradle gradle.org/releases/


image.png 拿到安装包的下载链接: 创建一个安装的目录,我在新建了一个文件夹/opt/gradle/下 下载


# cd /opt
# mkdir gradle
# cd /opt/gradle
# wget https://downloads.gradle-dn.com/distributions/gradle-6.5-all.zip
# unzip /opt/gradle gradle-6.5-all.zip

步骤四:command tools 下载



  1. Command line tools only linux版本


developer.android.com/studio


# cd /opt
# mkdir android
# cd /opt/android
# wget https://dl.google.com/android/repository/commandlinetools-linux-7302050_latest.zip
# unzip /opt/android commandlinetools-linux-7302050_latest.zip

步骤五:配置gradle和Android SDK 环境变量


# cd /etc
# /etc/profile

image.png 在最后追加环境变量,保存


export ANDROID_HOME="/opt/android"
export GRADLE_HOME="/opt/gradle"
export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools:$GRADLE_HOME/gradle-4.9/bin:$PATH"


刷新当前的shell环境


# source /etc/profile


配置gradle全局代理


def repoConfig = {
all { ArtifactRepository repo ->
if (repo instanceof MavenArtifactRepository) {
def url = repo.url.toString()
if (url.contains('repo1.maven.org/maven2') || url.contains('jcenter.bintray.com')) {
println "gradle 初始化: (${repo.name}: ${repo.url}) 移除"
remove repo
}
}
}
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
mavenLocal()
mavenCentral()
}

allprojects {
buildscript {
repositories repoConfig
}

repositories repoConfig
}

这里因为项目里面配了一个google的maven地址,导致一直gradle构建超半个小时,排查了很久。


项目builid.gradle里面千万不要配google的maven地址
项目builid.gradle里面千万不要配google的maven地址
项目builid.gradle里面千万不要配google的maven地址
就是他,浪费了我几天时间排查,正常用
google()
jcenter()
就可以了

image.png


查看gradle是否配置成功
# gradle -version

image.png


步骤六:sdkmanager方式安装SDK


因为是sdkmanager访问的是google,所以配置了谷歌代理才可以访问,当时折腾了很久才找到的dl.google.com代理


# cd /etc/
# vi hosts

203.208.40.36 dl.google.com


image.png


# cd /opt/android/cmdline-tools


在里面创建一个latest,将文件夹里面文件全部放到latest里面。


# cd /opt/android/cmdline-tools/latest/bin


查看版本
# ./sdkmanager --list
安装想要的SDK版本
# ./sdkmanager --install "platforms;android-29"
# ./sdkmanager --install "build-tools;29.0.2"

步骤六:安装git


1.下载最新的git github.com/git/git/rel…


2.我通过xftp copy在/root目录下,解压


安装依赖库
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

# cd /root/git-2.32.0
make prefix=/usr/local all
make prefix=/usr/local install

最后测试下git clone 你的git地址试试能不能拉代码

步骤七:最后一步,Jenkins上创建项目


1.在plugins.jenkins.io/ 下载插件


构建化插件:extended-choice-parameter


image.png


点击高级-上传插件-等待安装成功即可


image.png


2.新建任务


image.png


构建化参数添加参考


image.png


我这个教程,Jenkins里面是零配置,直接执行shell脚本,很方便


具体的脚本自己根据实际需求来编写,我这里就不举例了。


gradle clean
gradle assembleRelease--stacktrace -info

结语: 搭建Jenkins的服务,我深有体会,由于没有服务器,首先在自己电脑搭建了一套Windows的Jenkins,也是遇到了各种疑难问题,最后还是解决了。然后,在Linux上部署这套Jenkins环境,就变得很轻松。这次最大的收获就是熟悉了Linux的操作,实现了Android 一键自动打包上传到服务器,减少了打包,上传服务器繁琐的操作。


如果本文对你有帮助,请帮忙对个赞或者留言,你的鼓励是我分享的动力。




作者:Howe_R
链接:https://juejin.cn/post/6987225364107886629
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

0 个评论

要回复文章请先登录注册