Shipper 是一种持续部署工具,它利用 GitHub 的 API 实现安全的异步部署。Shipper 守护程序会定期轮询 GitHub 部署 API,以检测指定环境中的新部署。以下是其工作流程:

  1. 创建待定的 GitHub 部署状态

  2. 将代码检出到“版本化”文件夹中。

  3. 运行“符号链接之前”的命令步骤。

  4. 创建一个名为 current 的符号链接,指向新的签出版本。

  5. 运行“符号链接后”的命令步骤。

  6. 更新 GitHub 部署状态为“成功”。

Shipper 需要一个配置文件来设置,文件中使用以下格式并应包括如下参数:

  • git_url: GitHub 仓库的 URL

  • environment: 守护进程需要监控的新部署环境

  • app_path: 应用程序路径

  • server_id: 服务器的唯一 ID

  • before_symlink: 符号链接之前执行的命令数组