在PasteSpider中使用gitee的webhook实现类似Jenkins的CI/CD持续部署

准备事宜

        1.已经在PasteSpider中配置好了相关的项目和服务

        2.在gitee中有创建对应的代码仓库

实现原理

        1.webhook是时下非常流行的一个推送模式,webhook其实就是往某一个特定的地址推送消息,这样可以避免频繁的轮询,在事件发生后的第一时间告知某一个目标!

        2.开发者往gitee的源码仓推送一条升级的时候,基于配置会推送一个信息到PasteSpider中,如果符合配置,则会执行构建并持续部署,也就是升级你服务器上的服务!

        3.工作目录,基于配置,默认是宿主服务器上的/spider/,然后是服务的类型,比如构建类型,则为/spider/publish/,如果为静态的则为/spider/static/,后面是项目代码和服务代码,比如商城项目(代码为:shop),的服务(代码为:api),如果这个服务配置的类型为发布模式,则他的工作目录就是/spider/publish/shop/api,服务升级的时候,就会到这个目录执行docker build ,所以webhook值要把最新的项目发布文件覆盖到这个目录即可!

配置接收端

        由上可知,消息发生后,接收端在PasteSpdier中,以下以我的项目为例,打开PasteSpider的后台菜单,“项目信息”-“GIT/SVN”,大概如下图:

点击右侧主作业区域左上方的“+”新增一条规则

如上图,有几个要点要注意

1.哪个服务,表示接收到消息后,要对你PasteSpider中的哪个服务执行升级操作

2.克隆编译命令,这个里面填写的命令是linux上执行的,一行一条命令,目的是从对应的源码仓库拉取代码,然后编译,发布,注意要发布到PasteSpider的工作目录中!

        a.一个命令一行,行行之间无关,所以目录要用全路径

        b.命令是在宿主服务器上执行的,所以没有的命令要自己去安装,比如git

        c.编译发布,要看你的开发语言,以.netcore为例,则需要安装dotnet sdk才可以编译发布!

        d.至于配置文件等,需要你使用这个命令自己实现备份,覆盖等!

3.源码管理方式,就是源码是哪个类型的,不同的源码仓库使用的签名是不一样的,对应的路径也不一样!

4.项目名称,这个不是乱填写,要到对应的仓库中去看,在如下位置:

5.验证密钥,其实就是消息校验的签名,这样可以防止别人通过接口随意的给你推送消息,需要和对应的gitee后台的配置一致,比如:

6.私有仓库,这个要看你的PasteSpider是否配置了,而且这个服务是否启用了私有仓库模式!

7.升级规则,这个是防止所有的源码提交都执行升级操作,这里采用的是关键字模式,也就是提交源码的时候填写的备注的前缀,我个人是习惯用update,也就是说如果我本次需要升级服务器上的服务,则提交源码的时候,我用update打头,后面在填写我升级的内容即可!

Gitee中的配置

        找到你的gitee中的项目,打开配置项目,如上图配置,注意修改你的URL,需要为你的PasteSpider的访问地址,然后是签名密钥,Push,激活等,配置好了后,就可以开始测试了!

测试上线

        然后找到对应的项目源码,推送提交,然后可以去查看下你的PasteSpider的日志,推送的信息目前是打印到Warning层级!

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值