在挪动端DevOps流构建环节中,咱们通常会采纳服务器Jenkins进行Android/iOS打包测试、灰度、上线生产等集成操作,以下是Mac终端连贯近程Linux装置Jenkins并配置Android构建环境关键步骤记录,能够在实践中作为参考

1.连贯近程Linux服务器

通过Mac终端运行上面命令<ssh root@ip地址>
ssh root@00.000.00.00 

会提醒 :The authenticity of host '00.000.00.00 (00.000.00.00)' can't be established.
ECDSA key fingerprint is SHA256:CjvSLfRn/IeKE6O0+y/6XERGt1m6AHiHRgX76U/W+3E.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

示意意思:无奈确认host主机的真实性,只晓得它的公钥指纹,问你还想持续连贯吗?
所谓"公钥指纹",是指公钥长度较长(这里采纳RSA算法,长达1024位),很难比对,所以对其进行MD5计算,将它变成一个128位的指纹。上例中是98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d,再进行比拟,就容易多了。
很天然的一个问题就是,用户怎么晓得近程主机的公钥指纹应该是多少?答复是没有好方法,近程主机必须在本人的网站上贴出公钥指纹,以便用户自行核查。
假设通过危险掂量当前,用户决定承受这个近程主机的公钥

输出 yes ,会提醒 : Warning: Permanently added 'host,12.18.429.21' (RSA) to the list of known hosts ,示意host主机曾经失去认可,此时输出明码xxxxxxx

如果明码正确,就能够登录了。当近程主机的公钥被承受当前,它就会被保留在文件$HOME/.ssh/known_hosts之中。下次再连贯这台主机,零碎就会认出它的公钥曾经保留在本地了,从而跳过正告局部,间接提醒输出明码。
每个SSH用户都有本人的known_hosts文件,此外零碎也有一个这样的文件,通常是/etc/ssh/ssh_known_hosts,保留一些对所有用户都可信赖的近程主机的公钥

2.更新CentOS 7 零碎

通过Mac终端运行上面命令
sudo yum install epel-releasesudo yum updatesudo reboot

3.装置OpenJDK

通过Mac终端运行上面命令
sudo yum install java-1.8.0-openjdk.x86_64java -versionsudo vim ~/.bash_profileJAVA_HOME=/usr/local/java-1.8.0-openjdk.x86_64PATH=$JAVA_HOME/tools:$PATHexport JAVA_HOMEexport PATHsource ~/.bash_profile

4.装置wget命令

通过Mac终端运行上面命令
sudo yum -y install wget

5.通过Linux服务器查看文件门路

通过Mac终端运行上面命令
whereis javawhich javaecho $JAVA_HOMEecho $PATH

6.装置Android sdk

下载地址 http://tools.android-studio.org/index.php/sdk/

通过Mac终端运行上面命令

wget http://dl.google.com/android/android-sdk_r24.4.1-linux.tgztar -zvxf android-sdk_r24.4.1-linux.tgzmv android-sdk-linux /usr/local/

7.通过sdkmanager 命令装置Android工具包

  1. ./sdkmanager packages 其中packages代表须要装置的工具包的path , 查看path 可通过 ./sdkmanager --list 命令,
    packages参数 必须要应用引号引起来,可同时增加多个packages参数同时装置多个包(多个包之间用空格隔开,并各自应用引号引起来)
  2. 装置平台工具包(adb 和 fastboot 命令的包)
    ./sdkmanager "platform-tools"
  3. 同时装置多个包
    ./sdkmanager "platform-tools" "build-tools;28.0.3" "platforms;android-28"
  4. 更新已装置的包
    ./sdkmanager --update
  5. 卸载已装置的包
    ./sdkmanager --uninstall "安装包path"

    卸载单个 ./sdkmanager --uninstall "build-tools;28.0.0"

    卸载多个 ./sdkmanager --uninstall "build-tools;28.0.0" "platforms;android-26"

8.配置ANDROID_HOME环境变量

通过Mac终端运行上面命令
sudo vim ~/.bash_profileANDROID_HOME=/usr/local/android-sdk-linuxPATH=$ANDROID_HOME/tools:$PATHexport ANDROID_HOMEexport PATHsource ~/.bash_profile

9.更新Android各个版本的sdk

通过Mac终端运行上面命令
android list sdk --all
按序列号update
android update sdk -u --all --filter 1,2,19,20,21,22,23,24,25,27,29,35,36,46,47,48,49,50,51,52,53,54,55,56,57,202

10.装置Jenkins

通过Mac终端运行上面命令
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.reposudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.keyyum install jenkins

11.启动Jenkins

通过Mac终端运行上面命令
systemctl start jenkins.service
执行systemctl status jenkins.service查看服务状态,如果呈现启动失败,失败错误信息为Starting Jenkins bash: /usr/bin/java: No such file or directory是java环境配置的问题,找到你的jdk目录,创立软链接即可:
ln -s /usr/lib/jdk1.8.0_251/bin/java /usr/bin/java

12.关上Jenkins

浏览器输出地址 http:<ip或者域名>:8080
http://00.000.00.00:8080/login?from=%2F

13.查看解锁明码

通过Mac终端运行上面命令
sudo vim /var/lib/jenkins/secrets/initialAdminPassword

14.卸载Jenkins

  1. 卸载yum形式装置的jenkins(默认装置主目录是在/var/lib/jenkins/)

    service jenkins stopyum clean all --能够不执行yum -y remove jenkins
  2. 卸载rpm形式装置的jenkins

    rpm -e jenkinsrpm -ql jenkinsfind / -iname jenkins | xargs -n 1000 rm -rf

15.上传文件到服务器

  1. 上传文件格式:scp - 本地文件门路 - 近程服务器用户名@域名/ip - 冒号/须要保留的门路/须要保留的文件名

    scp /Users/xxxx/Downloads/login.keychain root@00.000.00.00:/var/lib/jenkins/kpp_upload/login.keychain
  2. 上传文件夹格局:scp -r【本地文件的门路】【服务器用户名】@【服务器地址】:【服务器上寄存文件的门路】

    scp /Users/xxxx/Downloads/test root@00.000.00.00:/var/lib/jenkins/kpp_upload/

16.装置Gradle

通过Mac终端运行上面命令
wget https://services.gradle.org/distributions/gradle-6.7.1-bin.zip

17.解压安装包

通过Mac终端运行上面命令
yum install -y unzip zipunzp gradle-4.4.1-all.zip

18.登录Jenkins

进入Jenkins治理页面,抉择系统管理

  1. 抉择全局配置

    配置全局属性键值对 : ANDROID_HOME
    配置钉钉告诉webhook
  2. 抉择插件治理

    装置git、gitlab、钉钉等必要插件
  3. 抉择全局配置工具

    配置JDK目录
    配置Git目录
    配置Gradle目录
    配置Maven目录
  4. 抉择节点治理

    配置服务器节点,例如Linux连贯近程Mac终端节点
  5. 新建构建工作

    开启Jenkins构建我的项目之旅

19.其余Linux操作命令

  1. 强制退出(留神带:)
    :q!+enter
  2. 强制保留
    :w!+enter
  3. 退出并保留
    :wq+enter