Jenkins自动化部署gitee上的项目

本文详细介绍了如何使用Jenkins自动化部署Gitee上的SpringBoot项目,包括配置Git、安装所需插件、配置项目发布流程等关键步骤,以及如何通过Shell脚本实现项目的停止、打包、移动和启动。
  1. 安装Gitee插件
    在这里插入图片描述
    需要部署Gitee上项目的需要安装相应插件
    在这里插入图片描述

  2. 配置Git
    在这里插入图片描述

  3. 配置其他插件
    在这里插入图片描述
    在这里插入图片描述

  4. 创建一个项目
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    接下来配置项目发布的流程:
    1:Pre Steps:
    停止之前旧项目进程

echo "准备停止demo"
pid=`ps -ef | grep demo-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
fi
echo "停止demo完毕"

在这里插入图片描述
xxx.jar是我项目运行是的名称.自行修改成自己的
2:利用maven将刚刚拉取的源码打包

clean package -Dmaven.test.skip=true

在这里插入图片描述
3:Post Steps:
运行项目(添加shell脚本)

BUILD_ID=DONTKILLME
echo "移动jar包到webee目录,并去掉版本号名称"
if [ ! -d "/usr/firstDemo/" ];then
  mkdir /usr/firstDemo/
  else
  echo "文件夹已经存在"
fi

if [ ! -f "/usr/firstDemo/demo-0.0.1-SNAPSHOT.jar" ];then
  echo "文件不存在"
  else
  rm -f /usr/firstDemo/demo-0.0.1-SNAPSHOT.jar
fi

mv -f /var/lib/jenkins/workspace/first-demo/target/demo-0.0.1-SNAPSHOT.jar /usr/firstDemo/demo-0.0.1-SNAPSHOT.jar
echo "移动jar包完成"

echo "启动demo服务"
nohup java -jar /usr/firstDemo/demo-0.0.1-SNAPSHOT.jar > /usr/firstDemo/demo.log 2>&1 &
echo "启动demo服务完成"

在这里插入图片描述
脚本解释:
BUILD_ID=DONTKILLME 系统大哥别杀死我这个进程(这个别忘记了)
第一个if 是我习惯将运行的jar包放到我指定的目下运行,大家可以自行修改目录.
第二个if 干掉旧项目包
mv -f 是将maven打的包移动到我指定的目录下,并改名
nohup 是后台运行java包 (> : 日志目录文件) (2>&1 & : 好像是后台写入日志 )

我这里Jenkins下载项目源码的路径:/var/lib/jenkins/workspace/

至此配置完成,点击项目的立即建构就可以自动执行 拉取项目,杀死进程,打包项目,运行项目了.

有的项目如果maven没有帮你打包(我就碰到一个子项目没帮我打包),可以在脚本里自己执行maven打包的命令: cd到子项目源码目录 执行(mvn clean package -Dmaven.test.skip=true) 这样一样可以得到jar包

总之理解流程,不要少了流程就行.修改jar名字和移动目录到哪里哪里都是可有可无的.

最后再提一次Jenkins打包发布流程:1:Jenkins拉取项目源码.2:干掉需要重新发布的项目进程.3:源码打包.4:运行新的项目包

特此鸣谢:
Jenkins打包发布gitee上的springboot项目

Jenkins Pipeline是一种基于Groovy脚本的任务自动化流程,它可以让你在Jenkins中创建和管理持续集成(CI)和持续部署(CD)流程。将Jenkins Pipeline用于自动部署GitLab或Gitee项目的步骤通常包括以下几个部分: 1. **设置Jenkins**: - 安装并配置Jenkins服务器,如果还没有的话。 - 使用`git`插件克隆Gitee仓库:`git url-of-your-gitee-repo` - 添加阶段(`stages`),比如`clean`, `build`, `deploy`,分别对应清理、构建和部署操作。 - 在`build`阶段,可以编写构建Docker镜像、编译代码等步骤。 - 在`deploy`阶段,通过`publishArtifacts`发布构建结果到特定位置,例如`gitee-maven-publish-plugin`可以帮助你将Maven artifacts推送到Gitee仓库。 ```groovy pipeline { agent any stages { stage('Checkout') { steps { git 'https://your_gitee_username@github.com/your_project.git' } } stage('Build') { steps { sh 'mvn clean install' } } stage('Deploy') { steps { publishArtifacts artifacts: 'target/*.jar', fingerprint: true // 或者你的其他部署文件 script { def giteeCredentialsId = 'your_gitee_credential_id' // 从Jenkins全局凭证库获取Gitee登录信息 sh """ echo "Publishing artifact to Gitee..." ./scripts/deploy-to-gitee.sh ${env.BUILD_NUMBER} ${env.GIT_COMMIT} $giteeCredentialsId """ } } } } } ``` 3. **配置安全认证**: - 在Jenkins全局凭证库中创建一条新的凭证,用于存储Gitee的用户名和密码(或SSH密钥),并将这个ID引用到pipeline脚本中。 4. **触发构建**: - 配置触发条件,如提交到特定分支、拉取请求或者定时构建。 5. **测试和调试**: - 在每次改动pipeline脚本后,手动触发一次构建以确保一切正常。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值