【Jenkins】Java 的 CICD

终于到了Jenkins的发布了,对于 Jenkins 的搭建,前两天写了一篇【Jenkins】安装 + 升级 踩坑记 ,今天晚上寻思着抽点时间写一下 Jenkins + Java 的编译及发布过程

系统:centos 7
Jenkins: 2.222
Jdk:1.8
Mavne: 3.6.3

与Jenkins环境的搭建,本地新增环境 Maven, 用于编译Java项目

在开始之前,我们要选择几个插件,这里先说明下插件的安装

Jenkins -> Plugin Manager 插件管理路径

在这里可以选择自己需要的插件进行安装,如遇到不起效插件,安装后重启 Jeninks 服务

这里推荐一个中文插件:搜索 Localization: Chinese (Simplified)  安装即可

Jenkins CICD 重要环节

1,服务器配置,用于登陆服务器
2,Jdk 配置,及 Maven 配置,用于项目打包
3,Svn 凭证配置(用于访问 Svn 并拉取代码)

1,服务器设置,主要作用是将程序发布到对应服务器上

插件的选择

Subversion Plug-in Svn 代码服务插件(Svn 服务器,需要配置钩子程序,才可以进行代码拉取)

Publish Over SSH 这个插件即可解决我们远程连接服务器的配置插件,安装后进行如下操作

配置好后进行 TestConfiguration ,查看是否可以成功访问

这里不仅可以使用服务器账号密码方式,同样可以使用 Key 进行访问登录

 

2,Jdk 与 Maven 配置

Jenkins -> Global Tool Configuration 全局配置路径

Maven 全局配置路径,maven 的 setting.xml 文件地址配置上去

Jdk 全局配置路径,配置 Jdk 的安装目录


在这里对凭证进行管理,添加凭证,只需要选择范围,然后填入用户名,密码

上图为我已经配置好的 Svn 凭证

由于个人使用的是 Svn,所以这里已经配置好了

以上为搭建 Maven 项目打包及发布的基础配置,共有,Svn凭证,服务器配置,Maven及Jdk配置

 

下面,我们步入正题,这里我只说明下我发布的目标及思路:

目标:定时完成自动拉取代码,打包并发布

思路:1,从代码服务器拉取代码(会判断是否存在更新)

           2,打包

           3,发布项目到服务器后,关闭原有正在运行的服务,然后替换新包后进行服务启动

 

具体配置内容:

           1,简单做下项目描述

        2,源码管理

        3,构建触发器

       4,构建触发器,这里好几种,Poll Scm 为定时设定(定时配置内容,需要根据实际情况而定)

       5,不需要构建环境配置

       6,构建

说明:maven 命令是  mvn  ,这里采用maven打包,则不需要将 mvn 作为执行命令的前缀,因为 命令执行时, 系统会自动将选择的 Maven 进行命令填充,如,目标为 clean,实际执行未 mvn clean

        7, 构建后的操作(发布)

这是配置的最后一个环节

        8,Exec command,执行脚本命令,该脚本存放到对应服务器目录下,配置如上图 /usr/local/application/sh/xxxxx.sh,配置到固定地址

#!/bin/bash
echo '开始执行脚本'

# 按端口kill掉当前运行的程序
kill -9 `lsof -t -i:8083`

# 移动代码到指定运行目录下
mv xxxxxxxxxx.jar /usr/local/application/

# 睡3秒
sleep 3s

#启动服务,并且将日志记录到了文件
nohup java -jar xxxxxxxxxx.jar --server.port=8083 --spring.profiles.active=test >/usr/local/application/log 2>&1&

echo '执行完了构建'

 

配配置结束后,再看看是否可以运行

待打包及发布过程在代码中的时候,控制台输出: Finished: SUCCESS ,发布成功

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值