kodilab/deployer

该软件包已被废弃且不再维护。未建议替代软件包。

Deployer

v1.0.3 2019-08-26 08:55 UTC

This package is auto-updated.

Last update: 2020-09-09 18:11:37 UTC


README

Build Status

1 - 免责声明

Deployer 是一个无需人工干预的脚本。然而,为了让您检查 Deployer 将要进行的更改,它将打印更改列表,并在开始过程前等待 15 秒。如果您看到意外的情况,请关闭进程。

此外,Deployer 还可以以 模拟模式 启动,以模拟部署过程(不会在生产环境中进行更改),以便您检查将要修改/添加/删除的文件。

请考虑在发现错误或意外行为时填写问题。这将有助于使 Deployer 更加完善。

2 - Deployer 是什么

Deployer 是一个无需人工干预的脚本,它比较生产项目版本和当前版本,以列出已更改的文件(这意味着:新文件、修改文件和删除文件),并使用 SFTP 或 FTP(目前提供 SFTP 和 FTP,但可以轻松添加更多协议)在上传/删除它们到生产环境。

它使用 git(您的项目必须在 Git 仓库中)来比较版本。并解析 composer.lock 文件以了解项目所需的 composer 包哪些是新的/更新的/删除的。

2.1 - BUILD 文件

为了使 Deployer 了解生产环境版本,它将在生产环境中生成一个名为 BUILD 的文件,其中包含提交引用。此文件应可由 Deployer 访问,因为它将在部署过程的初始步骤中尝试下载它。如果 Deployer 无法获取此文件,则将比较项目的第一个提交(这意味着,它将部署所有跟踪的文件)。

您可以在调用 Deployer 时手动指定提交 SHA 引用以更改此行为。您可以在 如何使用它 部分中查看此操作。

3 - 入门

Deployer 已经被设计成可以在任何 PHP 项目中工作。如果您正在开发 Laravel 项目,一个 Laravel 集成包可以在这里找到。

您可以使用以下命令将 deployer 安装到您的项目中:

composer require kodilab/deployer dev-master

如何使用它

您可以使用 deploy_it() 辅助方法调用 Deployer。这是该函数的签名

deploy_it(string $project_path, array $config = [], string $from_commit = null)
  • project_path 是项目存在的路径
  • config 配置数组。在下一节中解释。
  • from_commit(optional) 您可以定义 SHA 提交引用而不是从生产环境下载。

以下是一个启动 Deployer 的脚本示例

<?php

deploy_it($project_path, $config);

4 - 配置

Deployer 配置是一个数组,它在实例化 Deployer 时定义。在 config/config.php 文件中提供了一个配置数组示例,您可以使用它作为示例。该文件包含每个参数的注释,以便根据您的需要调整 deployer。看看吧!

4.1 - 协议

协议让deployer知道部署必须遵循的方式。目前实现了3种不同的协议:FTPSFTPSimulate。最后一个Simulate是一种特殊的协议,用于模拟部署过程,以便让你了解deployer在没有对生产环境进行任何更改的情况下会如何工作。

Deployer已被设计为可扩展的,可以添加更多协议。