burdamagazinorg/update-tester

更新测试辅助工具

1.0.0 2020-07-02 07:56 UTC

This package is auto-updated.

Last update: 2024-08-29 04:31:16 UTC


README

仍在开发中

更新测试器

这是用于测试使用composer打包的Drupal 8网站更新的辅助工具。它设计用于测试环境中使用。

开始使用

此项目应使用composer全局安装。它提供了测试Drupal 8网站更新的功能。

测试脚本将克隆Drupal 8网站(文件和数据库),然后使用 composer outdated 获取新版本,并更新composer.json以包含新版本。在此基础上,将执行 composer update 来更新包和模块。相同的脚本还将执行克隆网站中已更新代码的Drupal 8所需的更新钩子和实体字段更新。

这将允许早期发现Drupal 8网站的潜在破坏性更新。

先决条件

此项目依赖于composer和drush。它们应安装在系统上。

确保composer可以无间断地工作,这意味着

  • 对于私有存储库,ssh密钥已正确设置和配置,因此不需要请求密码
  • 提供github.com的认证令牌,因为composer会向github发送大量请求,并且它必须使用令牌来获取访问权限,否则github.com将切断请求。更多信息请参阅Composer文档API速率限制和OAuth令牌

安装

要安装项目,只需全局要求它

composer global require "burdamagazinorg/update-tester"

作为此项目的依赖项,将安装 consolidation/robo 包。为了运行提供的脚本,robo 命令必须全局可用。这就是为什么应确保全局composer脚本是命令路径中的可用。如果不是这种情况,则执行以下命令足以将全局composer脚本路径添加到执行路径中

export PATH="$HOME/.composer/vendor/bin:$PATH"

注意:如果使用 robo 进行项目,必须确保从项目脚本路径执行它。例如

/my/project/path/vendor/bin/robo

运行更新测试

要为您的已安装Drupal 8网站执行更新测试,可以执行以下命令

update-tester.php test:update /source/project/path /clone/destination/path --db-name=drupal_clone --db-username='user_clone' --db-password='password_clone'

Travis CI集成

理想情况下,更新测试应每天执行一次,以检查更新是否仍然有效,如果不有效,则确定问题。

为此,必须在您想要测试更新的分支(例如,master和develop)上启用Travis CI cron测试触发器。下一步是使用Travis CI环境变量$TRAVIS_EVENT_TYPE区分cron运行与正常的pull request或merge request运行,因为更新测试器应在cron运行时执行。在网站安装完成后或运行默认网站测试之前,应执行更新测试器。这可以通过在travis.yml文件中添加以下语句来实现

[ "$TRAVIS_EVENT_TYPE" = "cron" ] && composer global require "burdamagazinorg/update-tester" && export PATH="$HOME/.composer/vendor/bin:$PATH" && update-tester.php test:update /source/project/path /clone/destination/path --db-name=drupal_clone --db-username='user_clone' --db-password='password_clone'

可能的改进

  • 添加任务回滚功能,然后它们可以更容易地组合而不会在失败时破坏任何东西
  • test:update命令进行额外的重构
  • 添加对命令和任务的测试