pointblue/deployer

此包的最新版本(1.2.53)没有可用的许可信息。

Point Blue 应用程序的部署任务

1.2.53 2021-08-10 20:51 UTC

README

支持的部署任务

安装

这将全局安装此包

composer global require pointblue/deployer

此包可在 Packagist 上获取 - https://packagist.org.cn/packages/pointblue/deployer

配置

  1. 编辑您命令行环境下的 php.ini 文件,路径为 /etc/php/VERSION/cli/php.ini,其中 VERSION 可能是 5.67.2
    使用 php --version 查找您的 php cli 版本
  2. 使用 composer config --list --global 查找 composer 的全局路径,并找到 [home] 属性。将 /vendor 添加到该属性,并在下一步中使用此路径。
  3. 通过将全局 composer 的 vendor 路径追加到字符串末尾来更新 include_path,例如 :/home/user/.config/composer/vendor,并保存文件。
    示例: include_path = ".:/usr/share/php:/home/ubuntu/.config/composer/vendor"
  4. 在将运行 composer 脚本的用户的主目录中创建一个名为 .slack_webhook_url 的文件。该文件的內容应该是将在部署完成后发送到的 slack webhook 的 URL。这将启用构建通知被发布到该 URL。如果不这样做,则不会发送通知。推荐文件权限为 600(chmod 600 .slack_webhook_url)。

使用

deployer.php

要使用部署任务,只需在您的 deployer.php 文件顶部 require 这些任务,但必须在其他所需文件之后。

示例


//deployer's common tasks
require 'recipe/common.php';

//Point Blue's deployter tasks
require 'pointblue/deployer/common-tasks.php';

接下来,添加运行任务所需的钩子

//right before release, call the point blue deployer hooks
after('deploy:clear_paths', 'deploy:pb_deployer_post_hook');

cli

要测试命令而不在目标服务器上运行它们,请使用 --pb-test 选项。

示例

dep deploy:symlink_envs aws --pb-test -vvv

这将运行带有 servers.yml 文件中的 aws 阶段设置的 deploy:symlink_envs 任务,并在控制台打印符号链接命令而不是在服务器上运行它们。这可以在部署之前测试您的配置。

servers.yml 变量

您可以在 servers.yml 文件中的主机定义中添加一些附加变量。

env_symlinks - 查看 common-tasks.php 中的 deploy:symlink_envs
update_autoload_classmap - 查看 common-tasks.php 中的 deploy:update_autoload_classmap

开发

关于开发此项目的一些说明。

链接到全局 composer 路径(可选)

最好从您的全局 composer 路径中链接此项目。这样,您的编辑可以立即进行测试。

这是我如何在系统中使用符号链接的方式

martin@lat3351:~/.config/composer/vendor/pointblue$ ln -sf /home/martin/Workspace/devops/devenv/deployer deployer

这允许 require 'pointblue/deployer/common-tasks.php'; 行在 deploy.php 中引用克隆的点blue/deployer 仓库。现在我的编辑处于源代码控制之下,并且可以实时测试。

使用调试任务

您可以从您的计算机上运行调试任务以查看单个函数的行为并设置断点。

  • 从命令行进入一个在它的 deploy.php 文件中使用 common-tasks.php 的本地克隆的仓库
  • 运行 dep debug:say_hello prod,其中 prod 是您可以部署到的任何目标机器(从您的当前命令行)
  • 你应该能在你的控制台中看到 'hello, world!' 的输出
  • 你还可以在 PHPStorm 中在这行代码上设置断点
  • 使用这个模式来创建更多的调试任务

参考

请查看源代码以了解任务名称及其用法