jenkins自动化部署springboot、gitee项目

news/2024/7/24 12:17:51 标签: jenkins, 自动化, spring boot

服务器需要安装jdk11、maven、gitee

jenkins_1">1. jenkins安装

# yum源
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
# 公钥
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io-2023.key
# 安装
yum install jenkins

如果yum源报错出现ERROR: cannot verify pkg.jenkins.io’s certificate, issued by ‘/C=US/O=L…
使用:sudo yum install -y ca-certificates

jenkins_12">2. 修改jenkins端口配置

vim /etc/syscofig/jenkins

修改内容:
JENKINS_PORT=“8888”

3. 启动

systemctl start jenkins
打开浏览器访问:http://xxxxxx:8888/ ;你的ip地址,注意端口是否开放

4. 查看密码

cat /var/lib/jenkins/secrets/initialAdminPassword

不安装插件
在这里插入图片描述
在这里插入图片描述

5. 修改国内插件下载地址(嫌麻烦的直接跳第7步,插件早已经准备好了)

Jenkins->Manage Jenkins->Manage Plugins,点击Available,等待加载完成后。在服务器中执行

cd /var/lib/jenkins/updates
sed -i 's/http:\/\/updates.jenkinsci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

然后,Manage Plugins点击Advanced,把Update Site改为国内插件下载地址

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

在这里插入图片描述
Sumbit后,在浏览器输入: http://xxxx:8888/restart ,重启Jenkins。

6. 下载插件 方法1

Jenkins->Manage Jenkins->Manage Plugins,点击Available,搜索插件就可以安装了

需要的插件
Localization: Chinese (Simplified) # 切换简体中文
Gitee
Maven Integration
Pipeline Maven Integration

可能会安装失败多试几次,要是还不行直接第7步,插件已经准备好了,导入就行

7. 下载插件 方法2

下了好久才准备好,直接导入吧
阿里云盘链接

将下载下来的 plugins 文件夹替换掉 /root/.jenkins中的 plugins文件夹
然后在jenkins页面,点击系统管理-读取设置即可

在这里插入图片描述

8. 正片:部署

1. 系统管理-全局工具配置

1. jdk,Java_home弄成你自己的

在这里插入图片描述

2. git

在这里插入图片描述

3. maven

在这里插入图片描述

2. 新建自由风格的任务

1. 主页新建,名字随便起

在这里插入图片描述

2. General。添加文本参数

名称必须叫:projectPath 和 jarName。后面脚本会用到
在这里插入图片描述

3. 源码管理

在这里插入图片描述

4. 构建触发器

jenkinswebhook_80">4.1 jenkins触发器配置webhook

在这里插入图片描述
在这里插入图片描述

4.2 gitee配置webhook,打开在源码管理配置的那个git仓库

在这里插入图片描述
在这里插入图片描述

5. 最后一步,编写脚本

在这里插入图片描述

	cd $projectPath
	echo 进入项目目录
	git pull 
	echo 拉取修改完成
	mvn clean install
	echo 打包完成
	/home/www/shell/stop.sh $jarName 
	echo 停止运行 $jarName
	/home/www/shell/start.sh $projectPath $jarName

创建文件夹 /home/www/shell,然后在shell里面创建下面两个文件

1. /home/www/shell/stop.sh
jarName=${1}
echo "正在停止" ${jarName} =====================
pid=`ps -ef | grep ${jarName} | grep -v grep | awk '{print $2}'`
echo "pid为:" ${pid}
if [ -n "$pid" ]
then
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi


2. /home/www/shell/start.sh
projectPath=${1}
jarName=${2}
cd ${projectPath}/target/
echo nohup java -jar ${projectPath}/target/${jarName}
BUILD_ID=dontKillMe nohup java -jar ${jarName} >./log.txt 2>&1&

修改这两个文件权限

chmod 777  /home/www/shell/start.sh
chmod 777  /home/www/shell/stop.sh

9. 测试自动化部署,git仓库随便提交一下

成功触发
在这里插入图片描述

点击这个 #11 可以查看控制台输出和其它详细信息。如果启动失败可以看一下具体报错信息,修改脚本。(ps:一般都是文件夹路径啥的写错了)
在这里插入图片描述


http://www.niftyadmin.cn/n/5043313.html

相关文章

arcgis js 缓冲区分析(GP服务)

arcgis文档中的有提供缓冲区的接口 geometryService,但要4.19后版本才提供 案例中使用的版本为4.16,因此这里的缓冲区分析借助gp工具 新建服务 1、打开arcmap 选择工具将要存放的文件夹,右键> new > Toolbox 对新建好的工具的mode…

w的L1范数和L2范数

L1范数 权重向量 w w w 的 L1 范数,也称为曼哈顿范数或 1-范数,是一个向量的长度或模的度量。它的定义如下: 对于一个 n 维的实数向量 w [ w 1 , w 2 , . . . , w n ] w [w_1, w_2, ..., w_n] w[w1​,w2​,...,wn​],其 L1 …

GAN里面什么时候用detach的说明

在生成对抗网络(GAN)中,生成器(G)和判别器(D)通常是两个独立的神经网络,它们之间会有梯度传播的互动。下面是一个简单的GAN的PyTorch实现,用于生成一维数据,以…

「UG/NX」Block UI 从列表选择部件SelectPartFromList

✨博客主页何曾参静谧的博客📌文章专栏「UG/NX」BlockUI集合📚全部专栏「UG/NX」NX二次开发「UG/NX」BlockUI集合「VS」Visual Studio「QT」QT5程序设计「C/C+&#

使用applescript自动化trilium的数学公式环境(二)

9.23 ver1 没想到今天很有精神,在玩chatgpt的时候突然想到,为什么不让他帮我写一份代码呢?说干就干。但是,可能是因为我的英语不怎么样,chatgpt生成出来的整个东西实在是菜的抠脚。所以我觉得还是应该自己先想好一个大…

Crazy Excel:Excel中的泥石流

Crazy Excel又名:疯狂Excel。是一款PC端的Excel软件工具,该软件支持windows, mac os等主流操作系统。 正如其名,作者在设计之初就加入了一些疯狂的设计,目的是创作出更加好用有效的excel工具。 不管是专业还是小白,…

webpack常用配置与性能优化插件

webpack是一个流行的前端项目构建工具(打包工具),可以解决当前web 开发中所面临的困境。 提供了友好的模块化支持,以及代码压缩混淆、处理js兼容问题、性能优化等强大的功能,从而让程序员把工作的重心放到具体的功能实…

小米笔试题——01背包问题变种

这段代码的主要思路是使用动态规划来构建一个二维数组 dp,其中 dp[i][j] 表示前 i 个产品是否可以组合出金额 j。通过遍历产品列表和可能的目标金额,不断更新 dp 数组中的值,最终返回 dp[N][M] 来判断是否可以组合出目标金额 M。如果 dp[N][M…