Devops自动化集成部署(3)-jenkins与git集成(spring boot项目)

项目

springboot项目

前置条件

Devops自动化集成部署(1)-jenkins安装配置
https://blog.csdn.net/qq_40554364/article/details/88131362

1.安装git

yum install -y git

2.安装maven

wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

yum -y install apache-maven

更改/etc/maven/settings.xml文件
远程仓库改成阿里仓库

<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
</mirror>

3.jenkins全局工具配置

点击系统管理->全局工具配置
在这里插入图片描述

3.1Maven配置

选择文件系统中的settings文件
文件路径: /etc/maven/settings.xml
在这里插入图片描述

3.2Maven

yum安装的maven在/usr/share/apache-maven下
在这里插入图片描述

3.3JDK

jdk在安装jenkins之前就使用yum安装了
JAVA_HOME在/usr/lib/jvm下
我的是/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64
在这里插入图片描述

3.4Git

默认就可以
在这里插入图片描述

配置完以后点击保存

4.Jenkins插件安装

目前我用到的插件
1)publish over ssh 远程部署使用
2)Maven Integration 创建maven任务(项目)使用

系统管理->插件管理
在这里插入图片描述
选择可选插件,搜索publish over ssh,勾选,点击直接安装
在这里插入图片描述
同样选择可选插件,搜索Maven Integration,勾选,点击直接安装
在这里插入图片描述

5.jenkins系统设置

系统管理->系统设置
在这里插入图片描述
找到publish over ssh点击新增
在这里插入图片描述
设置通用密码或者密钥(也可以单独设置,这里就不介绍了)
填入名称、填入服务器ip地址、用户名
点击保存
可以创建多个服务器
在这里插入图片描述

6.jenkins 新建任务

点击新建任务
在这里插入图片描述
填入任务名称,选择maven,点击确定
在这里插入图片描述
可配置的一共有这些配置,可以通过安装插件增加
在这里插入图片描述

6.1General通用配置

为了防止磁盘空间不够用,配置了丢弃旧的构建,如下图
在这里插入图片描述

6.2源码管理配置

先去添加git帐号,点击添加
在这里插入图片描述
我使用的用户名密码,当然也可以通过ssh公钥
类型选择username and password
填入用户名和密码
最后点击添加
在这里插入图片描述
填入仓库地址,选择git帐号,填入分支
在这里插入图片描述

6.3构建触发器

因为项目在开发过程中会频繁的提交代码,所以放弃了每次提交都触发构建这一方式
触发远程构建使用起来比较方便,通过一个链接就能访问
例如我下面的配置
通过: http://[jenkins地址:端口号]/job/demo/build?token=demo
就能触发构建
(后续还会增加与jira的集成,通过jira触发构建,之后再讲)
在这里插入图片描述

6.4构建环境与PRE STEPS配置

这2个都是构建前的步骤
构建环境这里勾选删除工作空间,防止git冲突
在这里插入图片描述

6.5Build(构建)配置

Root POM为git仓库上你的pom.xml的路径
Goals and options为mvn打包命令,需要省去mvn
在这里插入图片描述

6.6Post Steps配置

点击Add,选择通过ssh传输文件
在这里插入图片描述
Name字段选择服务器
Source files为要传输的文件,我的是maven打包后target下的jar包
Remove prefix填入为Source files里除文件名以外的字符串
Remote directory 为上传路径,文件会上传到这个路径下
Exec command为需要执行的shell部署命令
在这里插入图片描述
Exec command:

#加载环境变量
source /etc/profile 
cd /usr/local/jar 
#重启应用
./restart.sh

start.sh:

today=`date +%Y-%m-%d`
logPath='workflow-'${today}'.log'
nohup java -jar bref-workflow-0.0.1-SNAPSHOT.jar 1 > ${logPath} 2>&1 &

stop.sh:

PID=$(ps -ef | grep bref-workflow-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
    echo Application is already stopped
else
    echo kill $PID
    kill -9 $PID
fi

restart.sh:

./stop.sh
./start.sh
6.7构建设置配置

主要用来发送邮件,目前没有配置

6.8构建后操作

主要用来备份归档等,目前没有配置

7.测试构建

点击立即构建
也可以通过http://[jenkins地址:端口号]/job/demo/build?token=demo来触发构建(参考6.3)
第一次比较慢,需要去下载maven依赖
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值