jenkins+springboot+gitee自动化部署
使用前置条件:Linux服务器上已经安装并成功配置了jdk、git、maven
Jenkins安装
-
官网下载地址:jenkins下载 得到jenkins.war包
-
将war包部署到Linux服务器上,在对应文件夹目录下后台运行
-
nohup java -jar jenkins.war &
- 查看对应文件获取初始密码
#cat /上述文件地址
cat /root/.jenkins/secrets/initialAdminPassword
-
这里选择“安装推荐的插件”,也可以根据自己需求“选择插件来安装”
-
等待下载
-
下载成功,创建用户,也可以使用admin用户
-
-
安装完成
-
jenkins配置
-
系统管理界面,根据自己需求进行配置
-
全局安全配置
-
全局工具配置
-
Maven Configuration:配置服务器上的maven环境
-
JDK:配置服务器上的jdk环境
-
Maven
-
Git:配置服务器上的git环境
-
安装插件
所需插件:Deploy to container Plugin、Gitee Plugin、
新建项目
-
创建工程
-
构建一个maven项目
-
进入配置
-
选择之前配置好的git环境
-
源码管理:输入自己gitee项目仓库的url,添加账号密码
-
构建触发器:此处使用的是gitee的webhook
-
-
生成webhook密码
-
、 -
在自己gitee仓库的管理处的WebHooks处,添加webhook
-
-
输入刚才“构建触发器”出获得的url和webhook密钥,选择事件可以根据自己需求选择
-
-
添加后,点击测试,可观察是否测试成功
-
-
build配置
-
关于maven执行的相关代码
-
clean install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true
-
-
触发器触发后所执行的shell脚本
-
#!/bin/sh echo "开始执行shell脚本" # 在jenkins环境中一定要加这句话,否则这个脚本进程最后会被杀死 export BUILD_ID=dontKillMe # 指定jenkins中存放编译好的jar的位置 JENKINS_JAR_PATH=xxx/xxx/xxx # 指定jenkins中存放编译好的jar的名称(这个jar的名字和pom文件配置有关) JENKINS_JAR_NAME=xxx.jar # 获取该项目的进程号,用于重新部署项目前杀死进程 process_id=$(ps -ef | grep ${JENKINS_JAR_NAME} | grep -v "grep" | awk '{print $2}') # 如果该项目正在运行,就杀死项目进程 if [[ ! -z "$process_id" ]] then echo "停止服务" kill -9 $process_id else echo "服务未启动" fi # 进入Jenkins中编译好的jar的位置 cd ${JENKINS_JAR_PATH} # 后台启动项目,并且将控制台日志输出到同级目录下的Log.log中 nohup java -jar ${JENKINS_JAR_NAME} > Log.log 2>&1 & echo "shell脚本执行完毕"
-
点击保存
-
进入项目后点击“立即构建”,即可构建成功
-
-
-
自此,jenkins自动化部署已部署完毕。之后,只要gitee上的webhook一触发,jenkins就会自动触发对应脚本,实现不用重新上传jar包到服务器上即可完成项目的更新。
参考: