写点什么

认识大管家 Jenkins(二)部署 SpringBoot 项目

  • 2021 年 11 月 12 日
  • 本文字数:1153 字

    阅读完需:约 4 分钟

概述


================================================================


本文将介绍使用 Jenkins 来部署 SpringBoot 项目的过程,项目保存在 Github 中,能通过 Jenkins 实现提交代码后项目自动拉取代码,自动构建,自动部署。


Jenkins 的配置


========================================================================


Jenkins 的配置文件在 /etc/sysconfig/jenkins


注意下面的配置并非必须,看个人需求。


修改 Jenkins 的用户为 root,这样会拥有更大的访问权限,方便使用



修改了端口,默认的 8080 端口,容易出现冲突



Jenkins 的目录


========================================================================


介绍下 Jenkins 目录,在构建脚本中用得到


Jenkins 的主目录在 /var/lib/jenkins 中


主要的几个目录:


  • jobs


创建的任务目录


  • logs


存放日志


  • nodes


部署节点


  • plugins


插件目录


  • secrets


密钥目录


  • workspace


项目构建的工作空间


安装插件


==================================================================


点击 Manage Jenkins > Mange Plugins



在可选插件中搜索插件,安装后重新 Jenkins 就可以了



需要安装 Git 和 Maven Integration plugin 插件




Webhook 配置


=======================================================================


1) 进入到 Github 的项目仓库中,在 settings 中的 Webhooks 添加 Webhook



2) 配置如下


Payload URL 中前面的 IP 和端口就是 Jenkins 的地址



3)添加凭据


在 Gibhub 的个人配置中,点击开发者配置



添加一个 token



勾选下面的权限



把生成的秘钥 Copy 下来,后面需要



创建部署任务


====================================================================


1) 新建一个 Maven 项目



2) 添加项目的描述,可以选择丢弃旧的构建,以节约磁盘空间



3) 源码管理里添加 Git 仓库地址


项目部署时,会从 git 拉取最新的代码



4) 然后 Credentials 里面添加凭据,这里是 Github 的账号、密码



5)构建触发器,第一个是构建快照版本后触发,第二个是提交代码后由 Webhook 触发



6)构建环境里面选择 Use secret text,点击 Secret Text,添加 Secret text 凭据




把 GitHub 生成的秘钥填到这里



7) Pre Steps


添加一行命令,跳过了测试



8) Post Steps


输入 shell 脚本



这个 shell 脚本就是部署的重点了


注意:本文案例中 Jenkins 和部署项目都在同一台服务器上。


首先在服务器的/usr/local 下创建 jenkins/oa 目录作为部署项目的目录


#!/bin/bash

切换到部署目录

cd /usr/local/jenkins/oa


echo "Stopping SpringBoot Application"

查找到之前 jar 文件运行的 pid,干掉之前的进程

pid=ps -ef | grep oa-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'


if [ -n "$pid" ]


then


kill -9 $pid


fi

从 jenkins 的 workspace 中把刚生成的 jar 文件覆盖 oa 目录下原来的 jar 文件

mv /var/lib/jenkins/workspace/DeployOA/target/oa-0.0.1-SNAPSHOT.jar /usr/local/jenkins/oa/oa-0.0.1-SNAPSHOT.jar

评论

发布
暂无评论
认识大管家Jenkins(二)部署SpringBoot项目