文章目录

  • ​​前提条件​​
  • ​​一、服务器安装jenkins​​
  • ​​方法一:简单快捷​​
  • ​​第一步:将jenkens.war导入到系统​​
  • ​​第二步:放在tomcat的webapp下面​​
  • ​​第三步:访问http://ip:8080/jenkins​​
  • ​​方法二:命令行部署jenkins​​
  • ​​第一步:启用Jenkins库​​
  • ​​第二步:安装Jenkins​​
  • ​​第三步:启动Jenkins​​
  • ​​登录Jenkins​​
  • ​​二、自动部署所需要的插件​​
  • ​​一、Spring Boot部署Maven所需要的插件​​
  • ​​1、系统管理 -> 插件管理 -> 可选插件 -> 根据插件名字搜索安装即可。如上图。​​
  • ​​2、Kubernetes集成时 需要安装的插件​​
  • ​​三、配置相关全局变量​​
  • ​​maven​​
  • ​​jdk​​
  • ​​git​​
  • ​​四、配置系统变量​​
  • ​​五、创建jenkin项目​​
  • ​​六、自动部署​​
  • ​​七、自动打包发布​​
  • ​​脚本​​
  • ​​测试​​

前提条件

  1. 系统含有tomcat
  2. 系统含有java环境
  3. 系统含有nodejs(如果部署前端环境)
  4. 系统含有maven环境(如果部署后端环境)
  5. 系统含有git环境

一、服务器安装jenkins

方法一:简单快捷

第一步:将jenkens.war导入到系统

jenkens安装包

链接:https://pan.baidu.com/s/191Ch2xZice16OG4wfabwhQ?pwd=wexa 提取码:wexa 复制这段内容后打开百度网盘手机App,操作更方便哦

第二步:放在tomcat的webapp下面

jenkins整合gitee自动部署SpringBoot项目_tomcat

第三步:访问http://ip:8080/jenkins

8080是tomcat 的端口号

方法二:命令行部署jenkins

第一步:启用Jenkins库

运行以下命令以下载repo文件并导入GPG密钥:

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

第二步:安装Jenkins

执行如下命令安装Jenkis。

yum install jenkins

接下来,修改Jenkins默认端口,如下所示。

vim /etc/sysconfig/jenkins

修改后的两项配置如下所示。

JENKINS_JAVA_CMD="/usr/local/jdk/bin/java"
JENKINS_PORT="18080"

此时,已经将Jenkins的端口由8080修改为18080

第三步:启动Jenkins

在命令行输入如下命令启动Jenkins。

systemctl start jenkins

配置Jenkins开机自启动。

systemctl enable jenkins

查看Jenkins的运行状态。

systemctl status jenkins

jenkins整合gitee自动部署SpringBoot项目_git_02

登录Jenkins

首次安装后,需要配置Jenkins的运行环境。首先,在浏览器地址栏访问链接http://ip:18080,打开Jenkins界面。

jenkins整合gitee自动部署SpringBoot项目_运维_03


据提示使用如下命令到服务器上找密码值,如下所示。

cat /var/lib/jenkins/secrets/initialAdminPassword

将密码XXX复制到文本框,点击继续。会跳转到自定义Jenkins页面,如下所示。

jenkins整合gitee自动部署SpringBoot项目_tomcat_04


这里,可以直接选择“安装推荐的插件”。之后会跳转到一个安装插件的页面,会出现失败的情况,不用在意

jenkins整合gitee自动部署SpringBoot项目_jenkins_05


创建账号等信息省略

二、自动部署所需要的插件

jenkins整合gitee自动部署SpringBoot项目_tomcat_06

一、Spring Boot部署Maven所需要的插件

1、系统管理 -> 插件管理 -> 可选插件 -> 根据插件名字搜索安装即可。如上图。

Git plugin:支持Git的插件
Maven Integration plugin:构建Maven项目所需要的插件,安装后在创建新项目时可以选择构建Maven项目
publish over SSH:SSH连接服务器,让项目可以发布在其他服务器上
gitee:支持gitee的插件

2、Kubernetes集成时 需要安装的插件

Kubernetes Cli Plugin:该插件可直接在Jenkins中使用kubernetes命令行进行操作。
Kubernetes plugin:使用kubernetes则需要安装该插件
Kubernetes Continuous Deploy Plugin:kubernetes部署插件,可根据需要使用

三、配置相关全局变量

配置Jenkins有关插件

(1)Global Tool Configuration配置Maven/JDK/GIT

jenkins整合gitee自动部署SpringBoot项目_git_07

maven

jenkins整合gitee自动部署SpringBoot项目_git_08

jdk

jenkins整合gitee自动部署SpringBoot项目_运维_09

jenkins整合gitee自动部署SpringBoot项目_git_10

git

jenkins整合gitee自动部署SpringBoot项目_tomcat_11


jenkins整合gitee自动部署SpringBoot项目_jenkins_12

四、配置系统变量

jenkins整合gitee自动部署SpringBoot项目_运维_13

url可以直接写https://gitee.com

jenkins整合gitee自动部署SpringBoot项目_运维_14


jenkins整合gitee自动部署SpringBoot项目_jenkins_15


jenkins整合gitee自动部署SpringBoot项目_运维_16


​获取token​​​​ https://gitee.com/profile/personal_access_tokens​​

jenkins整合gitee自动部署SpringBoot项目_运维_17


保存完事

jenkins整合gitee自动部署SpringBoot项目_spring boot_18

五、创建jenkin项目

jenkins整合gitee自动部署SpringBoot项目_spring boot_19

jenkins整合gitee自动部署SpringBoot项目_运维_20

jenkins整合gitee自动部署SpringBoot项目_运维_21


选择刚刚配置的gitee的token令牌

六、自动部署

jenkins整合gitee自动部署SpringBoot项目_git_22


jenkins整合gitee自动部署SpringBoot项目_spring boot_23


gitee上面

jenkins整合gitee自动部署SpringBoot项目_tomcat_24


jenkins整合gitee自动部署SpringBoot项目_jenkins_25


jenkins整合gitee自动部署SpringBoot项目_tomcat_26


jenkins整合gitee自动部署SpringBoot项目_jenkins_27

jenkins整合gitee自动部署SpringBoot项目_git_28


jenkins整合gitee自动部署SpringBoot项目_运维_29

七、自动打包发布

jenkins整合gitee自动部署SpringBoot项目_spring boot_30

jenkins整合gitee自动部署SpringBoot项目_git_31

完成

脚本

版本一:

source /etc/profile
BUILD_ID=dontKillMe

DATE=$(date +%Y%m%d)

DIR=/home/www/.jenkins/workspace/和你创建的项目相同

JARFILE=你自己的拉取打包名称

if [ ! -d $DIR/backup ];then
sudo mkdir -p $DIR/backup
fi

cd $DIR/target


PID=`ps -ef |grep $JARFILE | grep -v grep | awk '{print $2}' | xargs`

if [ "$PID" ];then
echo "异常关闭 杀死进程 $PID"
kill -9 $PID
else
echo "正常关闭 "
fi


# mv $JARFILE backup/$JARFILE$DATE

nohup java -jar $JARFILE > $JARFILE.log.file &

if [ $? = 0 ];then
sleep 30
tail -n 50 $JARFILE.log.file
fi

版本二:

#!/bin/sh

#tomcat目录
tomcat_home=/tomcat/apache-tomcat-9.0.22

#项目名字
project_name=ROOT

#jenkins项目路径
jenkins_project_path=/var/lib/jenkins/workspace/Root/target/Root.war

#配置文件:application存放路径
bak_home=$tomcat_home/bak

#当前时间
now=$(date +"%Y%m%d%H%M%S")

#关闭tomcat并杀死进程
$tomcat_home/bin/shutdown.sh
pid=`ps -ef | grep apache-tomcat-9.0.22 | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
kill -9 $pid
fi
#防止jenkins构建完后杀死tomcat进程
export BUILD_ID=dontKillMe
sleep 5
echo "关闭tomcat"

#如果配置文件备份目录不存在,创建备份
if [ ! -d $bak_home ];then
mkdir -p $bak_home
fi
echo "创建配置文件备份目录"

#备份项目旧版本并删除
cd $tomcat_home/webapps
mv $project_name $bak_home/$project_name$now
rm -rf $project_name
echo "备份项目旧版本并删除"

#复制jenkins打包好的目录到tomcat
cp -rf $jenkins_project_path $project_name".war"
echo "把新项目复制过来"

#解压war包,并替换配置文件
unzip $project_name".war" -d $project_name
cp -rf $tomcat_home/bak/application.yml $tomcat_home/webapps/$project_name/WEB-INF/classes/application.yml
echo "覆盖配置文件"

#删除war包,避免配置文件更改导致版本不一致
rm -rf $project_name".war"

#启动项目
$tomcat_home/bin/startup.sh
echo "启动tomcat"

测试

jenkins整合gitee自动部署SpringBoot项目_tomcat_32

jenkins整合gitee自动部署SpringBoot项目_jenkins_33


jenkins整合gitee自动部署SpringBoot项目_tomcat_34


相关网址

​jenkins+gitee实现前端项目自动化部署​

​​Jenkins监听gitlab的提交并自动打包​​ 参照类似gitee 以上gitlab所有步骤换成gitee就行了

​​gitee使用webhoot触发Jenkins自动构建​​Git的使用 IDEA同时同步GitHub和Gitee(学习笔记)

​​Jenkins自动构建部署SpringBoot项目​​

​​Jenkins部署git项目​​

​​jenkins重装​​

​​Jenkins + Vue 项目自动化部署​​

​​Linux下Jenkins部署vue项目​​