一.操作环境及软件版本
1.操作系统为CentOS 8.2 64位
阿里云服务器推荐使用CentOS,该系统已经安装了yum,Ubuntu系统没带该软件,导致很多软件安装麻烦。
2.jenkins安装的版本为
jenkins-2.174-1.1.noarch.rpm
jekins安装包:https://pan.baidu.com/s/1ccI6FFjCX6kwPevuBYt4dg
提取码:bjnk
阿里云无法直接网站上安装插件,因此,手动安装插件包。
https://pan.baidu.com/s/1nGk-CW-Czi7ASNltcdRSQQ
3fsj
二.安装相关软件
1.本次指导针对后台服务器自动化部署从0到1部署完整教程。
jenkins依赖java运行环境,需要安装jdk
使用yum指令安装jdk
yum install -y java-1.8.0-openjdk*
检查是否安装成功
java -version
2.查看jdk安装路径并且配置环境参数
编辑linux环境参数文件 vi /etc/profile 在文档开头加上如下参数
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
更新环境变量,source /etc/profile
检查是否添加环境变量成功
3.安装jenkins
rpm -ivh jenkins-2.174-1.1.noarch.rpm
修改启动用户为root,这里修改为root的原因是jekins在执行远程脚本的时候,如果不是root用户
会有权限不够无法执行脚本的问题,这里是最快解决办法,也可以修改脚本权限用jenkins用户执行,这里就不展开介绍。
[root@master jenkins]# vim /etc/sysconfig/jenkins
JENKINS_USER=“root”
启动jenkins
systemctl start jenkins
启动后会有输入密码的界面,在服务器上查看密码
cat /var/lib/jenkins/secrets/initialAdminPassword
关掉jenkins插件安装,阿里云服务器在线安装失败,这里我们手动安装插件
4.jenkins插件安装
http://39.101.188.157:8080/访问jenkins
上传jenkins插件到linux服务器,
解压插件包
tar -zxvf jenkins-plugins.tar.gz
复制到jenkins插件目录
cp -a * /var/lib/jenkins/plugins/
重启jenkins
systemctl daemon-reload
systemctl restart jenkins
5.重新进入jenkins
这里会发现很多插件不生效,查看原因为jenkins的版本太低了,我们把jenkins版本升级到
Jenkins 2.277.1 下载该版本的war包,这里就不提供了,自行到官网或者其他途径获取
如图找到该目录替换该war包重新启动jenkins即可。
systemctl restart jenkins
三、安装自动化部署需要的插件
1.安装git
yum install git
2.安装maven
apache-maven-3.6.3-bin.tar.gz
https://pan.baidu.com/s/1ypcZtddlfM1Jk2P82iFy5Q
提取码:8kh3
解压到你自己的指定安装目录
然后编辑环境变量
export MAVEN_HOME=/opt/*/maven3.6/apache-maven-3.6.3
export PATH=
M
A
V
E
N
H
O
M
E
/
b
i
n
:
MAVEN_HOME/bin:
MAVENHOME/bin:PATH
source /etc/profile
检查maven环境变量是否成功
mvn help:system
编辑maven,conf文件,把镜像改为阿里云镜像,由于spring官网速度太慢,修改为国内镜像下载
项目jar包,修改conf目录下settings.xml 在mirrors节点下增加如下内容。
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
四、配置jenkins自动部署相关配置
1.配置git和maven安装目录
进入全局工具管理配置你安装的git和maven安装目录
2.如果自动部署的机器和当前安装jenkins的服务器不是同一台机器,还需要配置
ssh配置,在系统配置进入如图界面,本次的demojenkins服务器和项目服务器为同一台,就不用配置这个了
如果没有publish overSSH选项,则该插件还未安装,自行在插件管理处安装插件
就不展开介绍了。
五、流水线配置
1.新增springboot流水线
2.配置git仓库
https://gitee.com/jiangbingsong/springboot-demo.git
这里使用的是https url作为地址,
这里需要先配置证书,到证书配置处配置私钥
先到linux上生成公私钥
ssh-keygen -t rsa -C “your_email@youremail.com”
然后两次回车即可
cd ~/.ssh
目录下拷贝公钥到gitee,公钥管理处
公钥存放的文件为id_rsa.pub
私钥存放的文件为id_rsa
添加并且保存公钥
然后到jenkins配置你的私钥
在password中粘贴如图的私钥
点击保存如果git仓库配置有问题,或者公私钥配置有问题,点击应用这里会直接提示报错。
3.配置maven编译路径
demo/pom.xml 这里的pom路径为相对路径,根据你仓库地址到pom.xml文件的路径例如我的仓库下载下来的代码
pom文件路径
clean install
4.配置mavensetting文件路径和maven路径
5.编译成功后,执行启动项目的脚本
cp /var/lib/jenkins/workspace/springbootautodeploy/demo/target/*.jar /opt/jiangbingsong/springboot
cd /opt/jiangbingsong/springboot
BUILD_ID=dontKillMe nohup ./start.sh &
6.如果是部署到远程机器则增加下图步骤,发布到远端即可
六,启动流水线
构建成功后,我们访问项目开放的项目接口
http://39.101.188.157:8008/hello
总结:本次仅为一个springboot项目的简单部署,整体流程下来,还是遇到了很多问题,每个人遇到的问题可能不一样,所以没有办法一一列出。本次仅作为参考,记录。