后端——》在centos7上搭建jenkins自动化部署平台并应用

2023-05-16

前言:jenkins是一套成熟的自动化部署平台,可以用它在服务器上实现自动化部署,部署的项目可以是咱们常见的springboot、springcloud后台,也可部署vue前端。代码提交git后,只需要在jenkins上点击一个部署按钮,就可以实现部署,非常方便。本文主要讲述了,如何在Linux服务上搭建jenkins平台并部署一个springboot项目

jenkins的安装

  1. 下载jenkins

 wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
  1. 导入key

rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
  1. 安装jenkins

yum install jenkins
  1. 检查安装完成

// 执行以下命令后会出现多个相关的文件夹
rpm -ql jenkins
  1. 修改jenkins的jdk配置

// 先找到jdk和jre的路径,如果没装java环境,先自行安装一下java,找到jdk和jre的路径后,先复制下来备用
ps -ef|grep java

// 我们在第4步的时候列出来jenkins相关文件夹,我们进入其中的配置文件修改配置,
vim /etc/init.d/jenkins

//将原来的jdk配置改成自己的配置,如下图所示

在这里插入图片描述

  1. 修改jenkins的用户和端口号配置

// 进入另一个配置文件修改端口号和用户
vim /etc/sysconfig/jenkins
  • 将JENKINS_USER改为root用户
  • 将端口号改为非80端口防止冲突
  1. 启动

// 启动:service jenkins start
// 重启:service jenkins restart
// 关闭:service jenkins stop

service jenkins start


// 执行一下命令可以看到jenkins的状态
systemctl jenkins status

// 启动完成后,执行以下命令可本地打开登录页面
curl localhost:33333/login

// 如需在浏览器中打开,可以使用 【外网ip:端口号】的方式进行访问
// 另外需确保端口号3333是否可以通过防火墙,只有通过防火墙才能被他处访问

jenkins的配置

  1. 在浏览器打开网址http://xxx.xx.xx.xxx:3333/login(上面的xxx代表的ip是jenkins所在的服务器的外网ip),会提示我们输入密码,我们到提示的文件路径下找到密码并复制粘贴过来
    在这里插入图片描述

  2. 输入密码点击继续后,有可能会遇到这个问题
    在这里插入图片描述

  • 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 重启完再次进去登录界面
  1. 插件安装
    在这里插入图片描述
  • 3.1这里我们选择安装推荐的插件
  • 3.2当然你有可能会遇到这个问题(因为我遇到了),如下图所示
  • 3.3先点击继续跳过(带会儿来看这个问题)在这里插入图片描述
  1. 设置用户名、配置实例不用讲,配置完成后就可以使用了。
  2. 针对第三步的报错问题:
  • 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

在这里插入图片描述

  1. 汉化
  • 在插件菜单的可选菜单中选择先安装local,再安装这个Chinese

在这里插入图片描述

  • 在configure system中找到local,填入 zh_CN ,勾选 即可,点击应用、保存、重启在这里插入图片描述

部署

工具配置

  1. Global Tool Configuration配置
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

项目配置

1. 新建item

在这里插入图片描述

2. 构建项目在这里插入图片描述

  • 2.1 General在这里插入图片描述

  • 2.2 源码管理在这里插入图片描述

  • 2.3 构建触发器在这里插入图片描述

  • 2.4 pre steps & build在这里插入图片描述

  • 2.5 post steps(脚本命令)在这里插入图片描述

  • 脚本(我的项目名叫titing,下面的代码中请换成自己的项目名称)

#!/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. 工作台

  • 3.1 点击项目名称,右键——》build now在这里插入图片描述
  • 3.2 在右下角的Build History中可以看到编译历史,点击最近的一次编译记录,可以看到编译日志
    在这里插入图片描述
    -拉到最下面可以看到脚本的输出日志在这里插入图片描述

总结

1,在安装过程中走了不少弯路,比如 “jenkins的配置”目录下2.2这个小步骤,直接把url换成5.1中的就好然后替换网址。
2,脚本命令的写法要规范,中括号 [ ] ,的语句前后都要有空格等等。
3,以后就直接git提交一键部署了,爽

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

后端——》在centos7上搭建jenkins自动化部署平台并应用 的相关文章

随机推荐