项目管理脚本请参考线上脚本,线上新增了一些内容以适应更多的部署场景:
- 新增内容以实现单机多实例部署,且单机多实例时确保日志文件不会相互印象
- 新增内容以实现同步文件时,完成旧目录中,在新目录中不存在的文件(保证正在使用的目录与最新的发布目录完全同步)
- 新增内容保证二次部署时不会洗掉第一次部署时产生的日志文件
项目管理篇主要分为三部分:
- 将现有的项目添加到syncd中
- syncd部署项目的底层细节
- 该脚本的一些思路
将现有的项目添加到syncd中:
-
前提:你的有一个gitlab仓库,且在部署syncd的机器上,是可以通过git ssh访问到你的仓库的
-
前提:你需要建立部署syncd的机器,与部署各个项目的机器之间的ssh免密登录(单向的,只需要master机器,能免密ssh到各个slave机器)
-
先添加集群,这一步很简单,就只是随便设计一个名字而已
- 为集群添加机器,这一步也很简单,看图就会
- 添加项目,这一步很简单,操作一下就会了(项目空间不是百分百要创建的,有现成的就用现成的就好)
- 新增项目,该步比较简单
-
填写项目信息,这儿有很多细节处需要注意:
- 仓库地址,就填写你gitlab上的仓库
- 上线模式选择Tag上线,切记!!!
- 线上集群选择你中意的集群
- 用户填写分配的机器的用户(这儿有点坑,我们拿到的机子是有两个用户的,所以在设计集群的时候一定要规避这个问题)
- 目录及之后的部署前执行的命令、部署后执行的命令是有一定的关联的,所以我单写一步,详细说明这个
- 目录、部署前、部署后的运行命令如何填写(想知道原理,请看原理部分):
- 目录(该处的值一定要与下一步的syncd_deploy_path的值是相同的):
|
|
- 部署前(一定要注意zdmprd,我这儿其实设计的有问题,不应该放在某个用户的家目录下,导致用户不一样的时候这个地方还要相应的修改):
|
|
- 部署后(注意syncd_deploy_path的值与module_name的值,在我们目前的项目中,就这两个值会发生变化):
|
|
- 完成这些信息的填写后,点击确定,还有最后一步我们需要填写如何构建的脚本,构建脚本如何写,如何改请看第10步:
- 构建设置如何填写:
- 构建脚本(注意module_name及package_base中的用户名,这些都是可能会发生改变的点,切记切记切记):
|
|
- 完成这些,就将一个项目添加到了syncd中,具体如何使用,请参考:使用篇 ==>Go