1、环境准备
Linux镜像,这里我选择的是CentOS7官方精简版,特点是占用空间小
链接:https://mirrors.aliyun.com/centos/7.8.2003/isos/x86_64/CentOS-7-x86_64-Minimal-2003.iso
虚拟机软件,这里我选择的是VMWare15
SSH连接工具,这里我选择的是XShell6
2、环境配置
此处省略VMWare与CentOS的安装步骤,直接从Linux中开始配置环境
1、配置网卡信息为静态IP地址,且开机自启动
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 
 | # 编辑ifcfg-ens33 按i进入编辑模式vi /etc/sysconfig/network-scripts/ifcfg-ens33
 # 将内容全部替换为如下信息 注意修改IP和网关为自己的
 TYPE=Ethernet
 BOOTPROTO=static
 DEVICE=ens33
 ONBOOT=yes
 IPADDR=IP地址
 NETMASK=255.255.255.0
 GATEWAY=网关地址
 DNS1=8.8.8.8
 # 按esc退出编辑模式 输入如下命令保存并退出
 :wq
 # 重启网卡
 service network restart
 # 因为是最小化安装 此时可用命令ip addr查看分配网卡情况
 ip addr
 
 # 关机 配置网络为桥接模式
 # 开机联网后安装ifconfig功能
 yum install net-tools
 
 | 
2、此时我们可以使用XShell连接到我们的虚拟机了,接下来准备需要的软件
Maven3.6.3:https://cloud.189.cn/t/YVr6vuBR7Fbq(访问码:`u62v`)
Jenkins:https://cloud.189.cn/t/QnMjeqfmiAf2(访问码:`tc7l`)
JDK8:https://cloud.189.cn/t/URzqMjZR3MVb(访问码:`8zp2`)
3、将上述软件准备好后,我们使用Xftp将所有下载的文件上传到CentOS中任意目录下,这里我选择的是/root目录下,然后使用命令进行解压
| 12
 
 | tar -zxvf apache-maven-3.6.3-bin.tar.gztar -zxvf jdk-8u251-linux-x64.tar.gz
 
 | 
4、将目录名修改为JDK8、maven,并新建文件夹repo用于存放maven下载的依赖jar
修改maven/conf/settings.xml配置文件,修改内容如下
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 
 | <?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
 <localRepository>/root/repo</localRepository>
 <mirrors>
 <mirror>
 <id>nexus-aliyun</id>
 <mirrorOf>*</mirrorOf>
 <name>Nexus aliyun</name>
 <url>http://maven.aliyun.com/nexus/content/groups/public</url>
 </mirror>
 </mirrors>
 <profiles>
 <profile>
 <id>jdk-1.8</id>
 <activation>
 <activeByDefault>true</activeByDefault>
 <jdk>1.8</jdk>
 </activation>
 <properties>
 <maven.compiler.source>1.8</maven.compiler.source>
 <maven.compiler.target>1.8</maven.compiler.target>
 <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
 </properties>
 </profile>
 </profiles>
 </settings>
 
 | 
5、现在我们需要将maven和JDK加入到环境变量中
| 12
 3
 4
 5
 6
 7
 8
 
 | # 修改profile文件vi /etc/profile
 # 在文件最后加上如下内容
 export JAVA_HOME=/root/JDK8
 export MAVEN_HOME=/root/maven
 export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
 # 保存退出后执行命令保存配置文件
 source /etc/profile
 
 | 
6、执行命令安装git
| 12
 3
 4
 5
 6
 
 | # 联网安装gityum install git
 # 查看git安装位置
 whereis git
 # 结果如下
 git: /usr/bin/git /usr/share/man/man1/git.1.gz
 
 | 
7、因jenkins默认端口是8080,所以我们要放行8080端口,否则无法访问
| 12
 3
 4
 5
 6
 7
 
 | # 编辑/etc/sysconfig目录下iptables文件 如没有该文件 使用如下命令安装yum install -y iptables
 yum install iptables-services
 # iptables新增内容如下 端口为jenkins启动端口
 -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
 # 如果依旧不能访问 关闭防火墙
 systemctl stop firewalld
 
 | 
8、启动jenkins,默认端口是8080,即可看到解锁jenkins界面了
| 12
 3
 4
 
 | # 前台启动命令java -jar jenkins.war
 # 后台启动命令
 nohup java -jar jenkins.war &
 
 | 

使用如下命令查看管理员密码
| 1
 | cat /root/.jenkins/secrets/initialAdminPassword
 | 
然后安装插件、新建用户的名字跟密码,最后进入到jenkins的首页

9、因为jenkins默认的插件下载速度极其缓慢,我们先将下载源修改为国内源
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 
 | # 进入jenkins工作目录中的updates目录下# jenkins工作目录可参考第一步管理员密码存放的路径
 cd /root/.jenkins/updates/
 # 编辑default.json
 vi default.json
 # 按i进入编辑模式 输入: 后面粘贴如下内容
 1,$s/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g
 # 继续输入: 粘贴如下内容
 1,$s/http:\/\/www.google.com/https:\/\/www.baidu.com/g
 # 输入:wq保存并退出
 :wq
 # 浏览器输入如下地址 重启jenkins
 ip:端口/restart
 
 | 
10、安装maven插件并将页面进行完全汉化

首先安装maven插件

然后安装汉化插件

安装完成后返回首页,进入到配置系统页面

找到Locale选项,输入zh_US,这里并不是输入错误,一定要是zh_US才能完全汉化

应用保存后,地址栏输入restart重启jenkins
11、重启完成后,点击系统管理-全局工具配置

按如下图配置maven和JDK的路径

输入如下命令 查看git安装位置
将前半部分路径配置到git中
| 1
 | git: /usr/bin/git /usr/share/man/man1/git.1.gz
 | 

配置maven路径,之后点击应用-保存

3、新建任务
1、点击首页的新建任务

2、新建一个maven任务,名字随便起,点击确定

3、在源码管理中输入你的项目地址,以及添加该项目网站的账号密码,例如使用的如果是码云,就输入码云的账号密码,输入的是github那就输入github的账号密码,填写成功后记得在Credentials选一下
刚刚录入的账号密码选项

4、设置maven的打包命令

5、应用-保存,回到首页后点击立即构建,我们可以看到控制台输出BUILD SUCCESS

6、将控制台输出的jar包位置记录下来,即上方蓝色部分的路径
| 1
 | /root/repo/starFire/starFire-api/0.0.1-SNAPSHOT/starFire-api-0.0.1-SNAPSHOT.jar
 | 
到这里我们就完成了将项目从git地址下载并打包放到指定位置的操作了
4、启动项目
现在我们已经有jar包了,接下来只需要让jenkins帮助我们启动项目,就完成了自动部署的功能了

选择使用执行shell

将如下的shell脚本修改后输入,应用并保存即可
需要注意的修改的点:
修改JAR_NAME、JAR_PATH、JAR_WORK_PATH
可参考我上面获取到的jar路径修改
/root/repo/starFire/starFire-api/0.0.1-SNAPSHOT/starFire-api-0.0.1-SNAPSHOT.jar
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 
 | #!/bin/bash#服务名称
 SERVER_NAME=xinghuo
 # 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行
 JAR_NAME=starFire-api-0.0.1-SNAPSHOT
 # 源jar路径
 #/usr/local/jenkins_home/workspace--->jenkins 工作目录
 #demo 项目目录
 #target 打包生成jar包的目录
 JAR_PATH=/root/repo/starFire/starFire-api/0.0.1-SNAPSHOT/
 # 打包完成之后,把jar包移动到运行jar包的目录--->work_daemon,work_daemon这个目录需要自己提前创建
 JAR_WORK_PATH=/root/repo/starFire/starFire-api/0.0.1-SNAPSHOT/
 
 echo "查询进程id-->$SERVER_NAME"
 PID=`ps -ef | grep "$SERVER_NAME" |grep jar| awk '{print $1}'`
 echo "得到进程ID:$PID"
 echo "结束进程"
 for id in $PID
 do
 kill -9 $id
 echo "killed $id"
 done
 echo "结束进程完成"
 
 #复制jar包到执行目录
 echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
 cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
 echo "复制jar包完成"
 cd $JAR_WORK_PATH
 #修改文件权限
 chmod 755 $JAR_NAME.jar
 
 BUILD_ID=dontKillMe nohup java -jar  $JAR_NAME.jar  &
 
 | 
项目已经启动成功了