作者:云下拾雨 | 来源:互联网 | 2023-08-22 20:43
安装Jenkins官网教程sudowget-Oetcyum.repos.djenkins.repo\https:pkg.jenkins.ioredhat-stablejenkins
安装Jenkins
官网教程
sudo wget -O /etc/yum.repos.d/jenkins.repo \
https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install -y jenkins #默认安装最新的
操作Jenkins命令
service jenkins start #启动jenkins
service jenkins restart #重启jenkins
rpm -ql jenkins #查看默认安装目录
rpm -e jenkins #卸载jenkins
rpm -ql jenkins #检查是否卸载成功
find / -iname jenkins | xargs -n 1000 rm -rf 彻底删除残留文件
修改Jenkins的配置文件
修改Jenkins默认jdk位置
vi /etc/init.d/jenkins
ln -s /usr/local/jdk1.8.0_161/bin/java /usr/bin/java
修改Jenkins配置文件
vim /etc/sysconfig/jenkins
修改 JENKINS_USER="root" 最好改成root,不然会报错权限不足
修改启动端口 JENKINS_PORT(默认8080)这里设为 9999(自定义)
重载所有修改过的配置文件
systemctl daemon-reload
启动Jenkins后,在网页输入对应的 http://服务器ip:9999,完成Jenkins管理员的设置以及插件安装**
使用示例
部署前后端分离的项目(部署在本地)
因为我使用的部署项目例子是在gitee中管理,使用vue+springboot进行编写的,所以下的插件须有gitee,node,maven
执行的脚本
cd /var/lib/jenkins/workspace/sportMeeting #根据自己stop.sh、replace.sh脚本地址写
sh stop.sh
sh replace.sh
BUILD_ID=dontKillMe nohup java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=2222 /www/server/sportMeeting/school-sportmeeting-system-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod > school-sportmeeting-system.log 2>&1 &
#根据自己jar包的名称、地址修改
sh deploy.sh
#部署前端
对应上面脚本中的stop.sh
# 将应用停止
#stop.sh
#!/bin/bash
echo "Stopping SpringBoot Application"
pid=`ps -ef | grep school-sportmeeting-system-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
kill -9 $pid
fi
#此处school-sportmeeting-system-0.0.1-SNAPSHOT.jar根据自己的jar包名称修改
对应上面脚本中的replace.sh
#replace.sh 用于将上次构建的结果备份,然后将新的构建结果移动到合适的位置
#!/bin/bash
# 先判断文件是否存在,如果存在,则备份
file="/www/server/sportMeeting/school-sportmeeting-system-0.0.1-SNAPSHOT.jar"
if [ -f "$file" ]
then
mv $file /www/server/sportMeeting/school-sportmeeting-system-0.0.1-SNAPSHOT.jar.`date +%Y%m%d%H%M%S`
fi
mv /var/lib/jenkins/workspace/sportMeeting/target/school-sportmeeting-system-0.0.1-SNAPSHOT.jar /www/server/sportMeeting/school-sportmeeting-sys
tem-0.0.1-SNAPSHOT.jar
#此处 /www/server/sportMeeting/school-sportmeeting-system-0.0.1-SNAPSHOT.jar 是存放jar包位置
#而 /var/lib/jenkins/workspace/sportMeeting/target/school-sportmeeting-system-0.0.1-SNAPSHOT.jar 是jenkins build 成功生成jar包的位置
#以上根据自己实际jar包名称和路径修改
对应上面脚本中的deploy.sh
#deploy.sh 用于部署前端项目
#!/bin/bash
path="/var/lib/jenkins/workspace/sportMeeting/vue/sportmeeting-vue"
cd $path
cnpm install
cnpm run build
\cp -rf $path/dist/ /www/server/ #复制文件夹至docker部署的nginx挂载卷
关于上面docker部署的nginx相关的命令
#docker启动nginx并挂载卷
docker run -d --name nginx \
-p 80:80 \
-v /www/server/dist:/usr/share/nginx/html \
-v /var/yzy/nginx/nginx.conf:/etc/nginx/conf.d/default.conf \
-v /var/yzy/logs:/var/log/nginx nginx
对应的nginx配置文件
server
{
listen 80;
server_name localhost; #这里填写对应的域名或ip地址
location / {
root html/;
index index.html index.htm;
}
}
保存之后,点击build now即可完成前后端一键化部署
原文链接:https://www.cnblogs.com/shouyaya/p/15115494.html