Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作。本篇文章介绍如何使用Jenkins来完成ios的自动构建打包的方法。
使用ssh连接虚拟机
1.Java安装
虚拟机使用的centos7.6系统,默认已经安装java环境。没有安装需自行安装java并配置环境变量。
查看是否安装java版本
java -version

由于java版本较低,会涉及到到tomcat的版本和jenkins的版本,这里我们更新一下java版本
卸载所有老的jdk版本
rpm -qa | grep jdk

使用rpm -e --nodeps 命令删除上面查找的内容:
sudo rpm -e --nodeps java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64
sudo rpm -e --nodeps copy-jdk-configs-3.3-10.el7_5.noarch
sudo rpm -e --nodeps java-11-openjdk-headless-11.0.ea.28-7.el7.x86_64
sudo rpm -e --nodeps java-11-openjdk-11.0.ea.28-7.el7.x86_64
sudo rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64
全部删除完之后,再检查一遍
rpm -qa | grep jdk
安装新版本的java
下载java安装包
地址 https://www.oracle.com/java/technologies/downloads/#java8
查看linux的信息

下载x86的java8版本

新建本地命令行使用ssh拷贝jdk到远端
scp 本地文件地址+文件名/文件夹 远程用户名@IP地址:+服务器内存放文件的地址。
sudo scp /Users/zhujie/Downloads/jdk-8u321-linux-i586.tar zhujie@10.211.55.3:
使用远端ssh链接后进行查看

在/usr/目录下创建java目录,
sudo mkdir /usr/java
cd /usr/java
将jdk-8u321-linux-i586.tar移动到/usr/java目录下并解压
sudo mv ~/jdk-8u321-linux-i586.tar .
sudo tar -xvf jdk-8u321-linux-i586.tar
设置环境变量
修改 /etc/profile
sudo vim /etc/profile
在 profile 文件中添加如下内容并保存
#Java环境变量
JAVA_HOME=/usr/java/jdk1.8.0_321
JER_HOME=/usr/java/jdk1.8.0_321/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JER_HOME/lib
PATH=$PATH:JAVA_HOME/bin:$JER_HOME/bin
export JAVA_HOME JER_HOME CLASS_PATH PATH

让修改生效:
source /etc/profile
测试是否安装完成
检测java版本 java -version

重新检测版本

2.安装Tomcat
点击进入tomcat官网https://tomcat.apache.org下载tomcat这里我们选择9版本进行下载

新建本地命令行使用ssh拷贝tomcat到远端
scp 本地文件地址+文件名/文件夹 远程用户名@IP地址:+服务器内存放文件的地址。
sudo scp /Users/zhujie/Downloads/apache-tomcat-9.0.58.tar zhujie@10.211.55.3:


解压apache-tomcat-9.0.58.tar
sudo tar -xvf apache-tomcat-9.0.58.tar

解压放在了目录为 /home/zhujie/apache-tomcat-9.0.58
为了方便操作,把Tomcat的/bin路径放入环境变量中,终端中输入
sudo vim /etc/profile
添加如下代码
#Tomcat环境配置
CATALINA_HOME=/home/zhujie/apache-tomcat-9.0.58
export PATH=$PATH:$CATALINA_HOME/bin

让修改生效:
source /etc/profile
为了避免权限问题终端中输入命令分配权限
sudo chmod -R 777 /home/zhujie/apache-tomcat-9.0.58
sudo chmod 775 /home/zhujie/apache-tomcat-9.0.58/bin/*.sh
修改tomcat端口号
sudo vim ~/apache-tomcat-9.0.58/conf/server.xml

终端中输入startup.sh启动Tomcat

验证是否成功开启tomcat
终端中输入shutdown.sh 关闭Tomcat
如果出现出现如下错误,请降低Tomcat版本或者升级java的版本。
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/catalina/startup/Boots
如果出现如下错误
严重: Could not contact [localhost:8005]. Tomcat may not be running.
查看Tomcat是否以关闭
ps -ef|grep java

你可以使用kill命令,直接杀死Tomcat进程
kill -9 28619
查看8080端口端口 ps -aux | grep 8080

如果8080端口占用则需要修改tomcat端口号为8888,8080被git占用。
sudo vim ~/apache-tomcat-9.0.58/conf/server.xml

开启tomcat
startup.sh
网页中输入ip+端口
http://10.211.55.3:8080 或者 http://10.211.55.3:8888

3.安装Jenkins
进入官网进行下载 https://www.jenkins.io/index.html

点击下载war包

新建本地命令行使用ssh拷贝Jenkinst到远端
scp 本地文件地址+文件名/文件夹 远程用户名@IP地址:+服务器内存放文件的地址。
sudo scp /Users/zhujie/Downloads/jenkins.war zhujie@10.211.55.3:


将jenkins.war包移动到Tomcat文件夹下/webapps文件夹中。
mv jenkins.war apache-tomcat-9.0.58/webapps/

本地网页打开链接地址
http://10.211.55.3:8888/jenkins

异常提醒:See also: https://www.jenkins.io/redirect/troubleshooting/java.awt.headless
问题原因是,一般os安装的是64位的,所以缺省是装libgcc这个包。但java一般还是会用32位的包,因此就会存在上面的问题(系统提供的libgcc_s.so.1是64位的,不是java启动需要的32位的),安装一个32位的就好了。执行以下脚本。
sudo yum install libgcc.i686 --setopt=protected_multilib=false
执行完成后刷新页面。

使用ssh连接远程虚拟机

输入后,点击继续

等待安装完成

完成后创建第一个管理员用户 我这里设置为 管理员root 密码admin 仅供参考

实例配置,保存并完成

点击开始使用jenkins

完成安装,自动进入jenkins工作台。

进入用户管理页面

创建用户 这里新建用户zhujie 密码admin 仅供参考

使用新用户进行登录

额外工具安装
安装git
sudo yum -y install git

安装ruby
sudo yum install ruby
安装brew 用于安装软件
git clone https://github.com/Linuxbrew/brew.git ~/.linuxbrew
git clone https://github.com/Linuxbrew/homebrew-core ~/.linuxbrew/Library/Taps/homebrew
配置一下bash_profile文件
sudo vim ~/.bash_profile
添加如下内容
#brew环境变量
export PATH="$HOME/.linuxbrew/bin:$PATH"
export MANPATH="$HOME/.linuxbrew/share/man:$MANPATH"
export INFOPATH="$HOME/.linuxbrew/share/info:$INFOPATH"
保存并退出
使配置生效
source ~/.bash_profile
4.Jenkins插件管理

为了支持xcode打包,需要在可选插件中选择我们需要的插件进行安装:
①Xcode integration
②GIT plugin
③Git Parameter
④GitLab
⑤Keychains and Provisioning Profiles Management
添加插件 支持xcode构建版本

添加插件 GIT plugin

添加插件 Git Parameter参数化构建

添加插件 支持gitlab

添加插件 Keychains and Provisioning Profiles Management

Jenkins系统配置
GitLab端生成API Token

将token复制后,点击添加。红色区域内填写5xz8cizfRoKwy-KPMqq6(上图生成的token)

点击测试,检测是否正确
