基于名字自动发布之流程(2)

为什么80%的码农都做不了架构师?>>>   hot3.png

基于名字自动发布之流程(2)

项目地址: https://gitee.com/lookingdreamer/RexDeploy_v1

正常的流自动发布,一般经过以下五个步骤,当然也可以适当的自定义发布,此处主要介绍一下正常流程的自动发布流程

流程图

基于名字自动发布之流程(2)_第1张图片

关键流程解析

1.关键词判断

名字可以是local_name的分组名,也可以唯一的名字app_key,如果在数据库中查不到记录则会退出发布操作.校验关键词其实是根据关键词在数据库中执行查询匹配操作,查询到服务的操作主机、发布目录、进程关键词、启动脚本等. 
执行正式发布前,默认会该应用加1个锁状态,证明该应用正在发布,其他用户无法操作该应用的发布.发布完成会自动解锁.

2.远程服务器信息校验

根据上步骤给出的服务器信息,去远程服务器查看程序目录、配置目录、进程信息是否存在等

3.上传包

将本地的程序包和配置包上传到远程服务器,上传方式目前包括rsync ssh以及sftp两种方式,这2种方式可以在config.yml中配置

4.修改软链接

取消原配置或者程序的软链接,重新把新链接链接上去.如果原目录是不是软链接,则会移动该目录,同时做好备份

5.保存发布信息状态

保存发布后目录、配置、进程等到数据库中

转载于:https://my.oschina.net/pwd/blog/1931246

你可能感兴趣的:(基于名字自动发布之流程(2))