chromatic / usher
用于Chromatic项目的Robo命令集合。
Requires
- php: >=8.1
- async-aws/s3: ^1.8 || ^2.0
- consolidation/robo: ^1.4 || ^2 || ^3 || ^4
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.2 || ^1.0.0
- drush/drush: ^8 || ^10 || ^11 || ^12
- guzzlehttp/guzzle: ^5.0 || ^6.0 || ^7.0
- phpcompatibility/php-compatibility: ^9.3
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^0.12.6 || ^1.0.0
- rector/rector: ^0.16.0 || ^0.17.0 || ^0.18.0 || ^0.19.0 || ^1.0.0
- squizlabs/php_codesniffer: ^3.5
- vincentlanglet/twig-cs-fixer: ^0.4.1 || ^0.5 || ^0.6 || ^1.0 || ^2.0
- webflo/drupal-finder: ^1.2
Requires (Dev)
- 4.x-dev
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- 3.x-dev
- v3.3.0
- v3.2.1
- v3.2.0
- v3.1.2
- v3.1.1
- v3.1.0
- v3.0.1
- v3.0.0
- 2.x-dev
- v2.24.4
- v2.24.3
- v2.24.2
- v2.24.1
- v2.24.0
- v2.23.2
- v2.23.1
- v2.23.0
- v2.22.0
- v2.21.1
- v2.21.0
- v2.20.1
- v2.20.0
- v2.19.1
- v2.19.0
- v2.18.2
- v2.18.1
- v2.18.0
- v2.17.0
- v2.16.2
- v2.16.1
- v2.16.0
- v2.15.0
- v2.14.0
- v2.13.0
- v2.12.0
- v2.11.0
- v2.10.0
- v2.9.0
- v2.8.0
- v2.7.0
- v2.6.2
- v2.6.1
- v2.6.0
- v2.5.0
- v2.4.0
- v2.3.2
- v2.3.1
- v2.3.0
- v2.2.1
- v2.2.0
- v2.1.1
- v2.1.0
- v2.0.0
- 1.x-dev
- v1.0
- v1.0-alpha.1
- dev-renovate/vincentlanglet-twig-cs-fixer-3.x
- dev-renovate/major-symfony
- dev-renovate/drush-drush-13.x
- dev-renovate/consolidation-robo-5.x
- dev-220-tugboat-no-cache-rebuild
- dev-204-ddev-no-ddev
- dev-circumvent-mariadb-sandbox-mode
- dev-optional-stop-on-fail
- dev-sentry-cron
- dev-2022-11-no-twig-cs-fixer
- dev-sentry-release
- dev-enhancement/setup-codespaces-command
- dev-architecture-checks
- dev-twigcs-linting
This package is auto-updated.
Last update: 2024-09-26 14:46:24 UTC
README
Usher旨在用于Chromatic仓库,以补充Robo PHP任务运行器的使用。它包含许多用于开发、构建和部署的命令,并可以在下游仓库中扩展。
- ush·er (动词):引导(某人)到某个地方。
- ush·er (名词):美国歌手、词曲作者、企业家和舞者。
兼容性
安装
composer require chromatic/usher
配置
- 在代码库根目录中创建一个
robo.yml
文件。为Drupal项目提供了一个起始点:robo.drupal.example.yml
。 - 在代码库根目录中创建一个
.sites.config.yml
文件。有关配置信息,请参阅.sites.config.example.yml
。 - 将以下内容添加到您的repo的
composer.json
"scripts"部分,以便可以使用composer robo
轻松调用robo:"scripts": { "robo": "robo --ansi" }
- 如果您正在覆盖任何命令,请将以下内容添加到您的repo的
composer.json
文件中。请确保用YOURPREFIX
替换您自己的命名空间前缀。"autoload": { "psr-4": { "YOURPREFIXRobo\\": "robo/src" } }
然后将命令放置在robo/src/Robo/Plugin/Commands
中,使用YOURPREFIXRobo\Robo\Plugin\Commands
命名空间。 - 如果您正在使用任何使用
GitHubStatusTrait
来设置pull请求状态检查的命令,必须在GitHub中创建一个个人访问令牌。- 在GitHub中创建一个个人访问令牌。
- 创建一个名为
GITHUB_ACCESS_TOKEN
的环境变量,其值为将在其中运行检查的环境中的令牌值。
命令
robo dev:refresh
在下游仓库中通常可用作composer robo dev:refresh -- SITENAME
的dev:refresh
命令,刷新您的本地开发环境(DDEV),包括
composer install
- 主题构建(
robo theme:build
)。 - 禁用前端缓存。
- 下载最新的数据库备份。
- 导入数据库备份。
drush deploy
- 生成Drupal登录链接。
robo deploy:drupal
在下游仓库中通常可用作composer robo deploy:drupal SITENAME DOCROOT
的deploy:drupal
命令,以标准化的方式部署Drupal,包括
drush deploy
drush config:import
robo drupal:status-report
在下游仓库中通常可用作composer robo drupal:status-report
的drupal:status-report
命令,检查Drupal的状态报告,并报告警告和错误。可以通过将警告/错误ID添加到下游仓库的robo.yml
配置文件中的drupal_status_report_ignore_checks
键来忽略特定的警告或错误。例如
drupal_status_report_ignore_checks: - update_core
要识别相关的ID,请运行drush status-report --format=yaml
。输出将包括ID。
robo config:update-php-version
使用config:update-php-version
命令更新项目在robo.yml
的php_version_config_paths
键中列出的文件中配置的PHP版本。
php_current_version: '8.1' php_version_config_paths: - composer.json - .tugboat/config.yml - .platform.app.yaml
Slack通知选项
如果您希望Usher向Slack发送通知,您需要在您的工区中创建一个Slack应用,然后在您希望发送通知的频道中添加一个“入站Webhook”。创建Webhook时,Slack会为您提供该频道的唯一URL。然后您必须将环境变量SLACK_WEBHOOK_URL
设置为Usher运行环境中的Slack Webhook URL。
示例Webhook URL:https://hooks.slack.com/services/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
notify-slack
- 默认为false
。如果为true
,则Tugboat构建失败时会发送Slack通知。notify-slack-force
- 默认为false
。如果为true
,它将强制尝试通知Slack有关构建情况,无论发生了什么。
扩展
您可以使用此包进行基本操作,然后在此基础上进行构建。仅适用于单个存储库的新命令应添加到项目存储库的顶级/robo
目录中。命令应位于/robo/src/Robo/Plugin/Commands/
。在composer.json
中添加一个新的autoload命名空间,以便检测这些命令。
"autoload": { "psr-4": { "YOURPREFIXRobo\\": "robo/src" } }
贡献
如果您有一个对使用此包的多个存储库都很有用的新命令,请通过pull request在/src/Robo/Plugin/Commands
下创建一个新命令。