6.1. 帮助

未匹配的标注

API

已知问题

更新日志

贡献

升级路径

如果你是从旧版的 Rocketeer 升级,以下是你需要了解的主要变化:

从 1.2 升级到 2.0.0

  • 项目现在是 5.4+,如果你仍然使用 5.3,目前已经停止维护,是时候升级了

  • Rocketeer\Traits\Task 被移至 Rocketeer\Abstracts\AbstractTask

  • Rocketeer\Traits\Plugin 被移至 Rocketeer\Abstracts\AbstractPlugin

  • Rocketeer\Plugins\Notifier 被移至 Rocketeer\Plugins\AbstractNotifier

  • $task->server 属性被移至 $task->localStorage

  • 之前在$task->rocketeer 上的所有 连接/存储库 相关方法都移到了 $task->connectionsgetConnectiongetStagegetConnectionCredentials 等)

  • getConnectionCredentials 现在总是返回一组服务器证书,即使只有一个服务器。 要获取唯一服务器或特定服务器的凭据,请调用 $task->connections->getServerCredentials(connection = current, server = 0)

  • 以下方法:phpartisanrunArtisanrunMigrationsrunSeedrunTestscomposerrunComposer 已被删除并替换为 Binaries 系统(请参阅相关文档)。 假设你想执行 $task->runMigrations(seed = false),现在需要改为 $task->artisan()->migrate(seed = false)

  • 以下方法:cloneRepositorycopyRepositoryupdateRepository 已被移除并被策略系统取代(参见相关文档)。 如果你想执行$task->updateRepository(),现在需要改为 $task->getStrategy('Deploy')->update()

  • 以下事件已被弃用,并已被子任务及其匹配的前后钩子替换:

    • cloneRepository 和 copyRepository => create-release.before
    • runComposer => dependencies.before
    • checkTestsResults => test.before

故障排除

部署执行成功,但正在运行的是旧脚本,而不是新脚本

PHP 5.5 内置了 Opcache。 Opcache 应在脚本更改时失效,然而当脚本位于符号链接文件夹中并从网络服务器调用时会出现问题。

基本上,Opcache “以为” 脚本是 /var/www/hello/current/public/index,而实际上,它是/var/www/hello/releases/20140101011/public/index

要解决此问题,请添加以下命令在部署结束时运行:

php -r "opcache_reset();"

注意:如果你在 nginx 中使用 PHP-FPM,以上命令只会刷新 CLI 缓存,而不是 FPM

要解决这种情况下的问题,请将下面几行添加到你的 nginx 服务器配置中。

fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;

通常该文件位于 /etc/nginx/fastcgi.conf

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/rocketeer-doc/a...

译文地址:https://learnku.com/docs/rocketeer-doc/a...

上一篇 下一篇
thebestxt
贡献者:1
讨论数量: 0
发起讨论 只看当前版本


暂无话题~