【SpringBoot+码云】实现项目可持续集成,解放双手

【SpringBoot+码云】实现项目可持续集成,解放双手

背景

开发项目时,每次完成一两个功能,都需要部署到线上测试。以前都是先在本地打包,然后利用工具将本地jar包和线上测试服务器的jar替换,然后再重启项目。
后来,想使用gitlab+Jenkins做的持续集成,但是由于我们的项目是maven多模块项目,利用Jenkins实现子模块单独打包进行部署有些麻烦,然后就自己想出这个办法,灵活性非常高。供大家借鉴

流程

  1. 利用码云仓库的webhooks监听每次仓库的push请求
  2. 获取每次请求的信息备注中的特定标识
  3. 使用代码远程连接服务器,执行对应的启动命令
  4. 实现自动化部署

服务器安装所需环境

在你需要可持续集成的服务器上安装 jdk,maven,git;
安装完成后 需要在/etc/profile和登录服务器的用户的家目录下的.bashrc配置jdk,maven的环境变量
/etc/profile
.bashrc

服务器拉取仓库代码

在服务器的某个文件夹下 将项目拉取到服务器

mkdir /project
git clone git@........

创建一个SpringBoot项目

提供码云webhooks推送消息的接口

/**
 * @author Zebra_LMW
 * @date 15/4/2020下午 4:44
 */
@RestController
@RequestMapping("hot")
public class HotController {

    @PostMapping("push")
    public Object hotOne(@RequestBody Map map) throws IOException {
        
        new JobsBuildThread(map).start();
        
        return "任务已提交:详细信息请查看:【https://***************/info.txt】";
    }
    
}
/**
 * @author Zebra_LMW
 * @date 17/4/2020下午 4:55
 */
public class JobsBuildThread extends Thread {
    private Map map;
    public JobsBuildThread(Map map){
    //map对象里面具体是什么东西  码云上可以进行测试  自行查看
        this.map = map;
    };

    @Override
    public void run() {
       //TODO
       //这里可以解析推送来的信息进行处理,然后执行相应的逻辑
       //我这里是使用ganymed这个工具包,连接服务器 
       //想看demo的留言
    }
  }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值