前言:jenkins是一套成熟的自动化部署平台,可以用它在服务器上实现自动化部署,部署的项目可以是咱们常见的springboot、springcloud后台,也可部署vue前端。代码提交git后,只需要在jenkins上点击一个部署按钮,就可以实现部署,非常方便。本文主要讲述了,如何在Linux服务上搭建jenkins平台并部署一个springboot项目
jenkins的安装
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
// 执行以下命令后会出现多个相关的文件夹
rpm -ql jenkins
-
修改jenkins的jdk配置
// 先找到jdk和jre的路径,如果没装java环境,先自行安装一下java,找到jdk和jre的路径后,先复制下来备用
ps -ef|grep java
// 我们在第4步的时候列出来jenkins相关文件夹,我们进入其中的配置文件修改配置,
vim /etc/init.d/jenkins
//将原来的jdk配置改成自己的配置,如下图所示
// 进入另一个配置文件修改端口号和用户
vim /etc/sysconfig/jenkins
- 将JENKINS_USER改为root用户
- 将端口号改为非80端口防止冲突
// 启动:service jenkins start
// 重启:service jenkins restart
// 关闭:service jenkins stop
service jenkins start
// 执行一下命令可以看到jenkins的状态
systemctl jenkins status
// 启动完成后,执行以下命令可本地打开登录页面
curl localhost:33333/login
// 如需在浏览器中打开,可以使用 【外网IP:端口号】的方式进行访问
// 另外需确保端口号3333是否可以通过防火墙,只有通过防火墙才能被他处访问
jenkins的配置
-
在浏览器打开网址http://xxx.xx.xx.xxx:3333/login(上面的xxx代表的ip是jenkins所在的服务器的外网IP),会提示我们输入密码,我们到提示的文件路径下找到密码并复制粘贴过来
-
输入密码点击继续后,有可能会遇到这个问题
- 2.1 如果没遇到则直接跳转到第3步吧。若遇到了。输入网址http://xxx.xx.xx.xxx:3333/pluginManager/advanced
- 2.2 将页面最后一项的https改为http
- 2.3 输入http://xxx.xx.xx.xxx:3333/restart 重启jenkins
- 2.4 重启完再次进去登录界面
- 插件安装
- 3.1这里我们选择安装推荐的插件
- 3.2当然你有可能会遇到这个问题(因为我遇到了),如下图所示
- 3.3先点击继续跳过(带会儿来看这个问题)
- 设置用户名、配置实例不用讲,配置完成后就可以使用了。
- 针对第三步的报错问题:
-
5.1点击update siite,将原来的网址改为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
-
5.2,到jenkins所在服务器、执行以下命令
// 1,到updates目录下
cd /var/lib/jenkins/updates/
// 2.更换镜像1
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
// 2.更换镜像2
sudo sed -i 's#www.google.com#www.baidu.com#g' default.json
// 3.查找证书路径,找到路径:/etc/pki/ca-trust/extracted/java/cacerts
find / -type f -name cacerts
// 4.修改jenkins配置文件
vi /etc/sysconfig/jenkins
// 将JENKINS_JAVA_OPTIONS改为如下所示
// JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Djavax.net.ssl.trustStore=/etc/pki/ca-trust/extracted/java/cacerts"
// 重启jenkins服务
service jenkins restart
- 汉化
部署
工具配置
- Global Tool Configuration配置
项目配置
1. 新建item
2. 构建项目
-
2.1 General
-
2.2 源码管理
-
2.3 构建触发器
-
2.4 pre steps & build
-
2.5 post steps(脚本命令)
#!/bin/sh
echo "开始执行shell脚本"
# 给脚本进程设置个id
export BUILD_ID=dontKillMe
# 指定最后编译好的jar的存放位置
JAR_PATH=/root/build/t-sendDDHDate/system/target
# 如果路径不存在,就创建路径
[ ! -e $JAR_PATH ] && mkdir -p $JAR_PATH
# 指定jenkins中存放编译好的jar的位置
JENKINS_JAR_PATH=/var/lib/jenkins/workspace/t-senddddDate/target
# 如果路径不存在,就创建路径
[ ! -e $JENKINS_JAR_PATH ] && mkdir -p $JENKINS_JAR_PATH
# 指定jenkins中存放编译好的jar的名称(这个jar的名字和pom文件配置有关)
JENKINS_JAR_NAME=titing.jar
# 获取该项目的进程号,用于重新部署项目前杀死进程
process_id=$(ps -ef | grep titing | grep -v "grep" | awk '{print $2}')
echo "titing原有进程id:$process_id"
# 如果该项目正在运行,就杀死项目进程
if [ -n "$process_id" ]
then
echo 'titing原有进程已停止'
kill -9 $process_id
else
echo "titing原有进程未找到"
fi
# 进入Jenkins中编译好的jar的位置
cd ${JENKINS_JAR_PATH}
# 将Jenkins中编译好的jar复制到最终存放项目jar的位置
cp $JENKINS_JAR_PATH/$JENKINS_JAR_NAME $JAR_PATH
# 进入到存放项目jar的位置
cd ${JAR_PATH}
# 后台启动项目,并且将控制台日志输出到nohup.out中
nohup java -jar ${JENKINS_JAR_NAME} >log.out &
# 执行完毕
echo "titing项目部署shell脚本执行完毕"
- 2.6 构建设置和构建后设置可以略过了,点击应用-保存
3. 工作台
总结
1,在安装过程中走了不少弯路,比如 “jenkins的配置”目录下2.2这个小步骤,直接把url换成5.1中的就好然后替换网址。
2,脚本命令的写法要规范,中括号 [ ] ,的语句前后都要有空格等等。
3,以后就直接git提交一键部署了,爽
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。