Loading

syncd部署以及遇到的问题

主要逻辑

1. 编译打包

  1. git clone 代码到服务器
  2. git checkout/git reset 迁出分支/tag
  3. 执行构建脚本对项目打包(tar.gz)
  4. 执行hook脚本

2. 部署

  1. 通过ssh远程创建部署目录
  2. 通过scp拷贝打包文件到远程机器
  3. 通过ssh执行远程命令(部署前命令)
  4. 通过ssh远程解压部署
  5. 通过ssh执行远程命令(部署后命令)
  6. 邮件通知
  7. 执行hook脚本

脚本变量

  • ${env_workspace}

    代码仓库本地副本目录

  • ${env_pack_file}

    打包文件绝对地址,构建完成后将需要部署到线上的代码打包到此文件中,必须使用 tar -zcf 命令进行打包。
    部署模块会将此压缩包分发到目标主机并解压缩到指定目录,请按照要求打包,否则会部署失败。

部署服务器的$HOME必须与运行Syncd的用户一致,否则ssh的免密登录将无效。

配置ssh

sudo apt-get install openssh-server

在A服务器里免密登录B服务器:

  1. 将A服务器id_rsa.pub的内容写入B服务器~/.ssh/authorized_keys文件里

  2. 在B服务器上sudo chmod 600 ~/.ssh/authorized_keys

重定向

问题 https://github.com/dreamans/syncd/issues/87
部署后执行启动命令

./hd-monitor

发现根部停不下来,部署卡在执行post-deploy命令处。

修改为一下命令问题解决。

nohup ./hd-monitor > /dev/null &

/dev/null 表示舍弃重定向后的文件

posted @ 2021-05-08 16:50  ly_arise  阅读(212)  评论(0编辑  收藏  举报