wearewondrous / psh-toolbelt
为 Drupal 10 和 php 8.1 提供平台级工具。
Requires
- php: >=8.1
- ext-json: *
- ext-pdo: *
- aws/aws-sdk-php: ^3.2
- consolidation/robo: ^4.0
- cweagans/composer-patches: ~1.0
- guzzlehttp/psr7: ^2.5
- php-http/curl-client: ^2.0
- platformsh/config-reader: ^2.1
- sentry/sentry: ^4.1
- vlucas/phpdotenv: ^5.3
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^1.0
- drupal/coder: ^8.3
- drupal/core: ^10.1
- mikey179/vfsstream: ^1.6
- phpstan/extension-installer: ^1.3
- phpstan/phpstan: ^1.10
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
- phpstan/phpstan-strict-rules: ^1.5
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.7
- dev-master
- 7.0.2
- 7.0.1
- 7.0.0
- 6.0.0
- 5.0.0
- 4.0.1
- 4.0.0
- 3.1.0
- 3.0.0
- 2.1.0
- 2.0.1
- 2.0.0
- 1.1.13
- 1.1.12
- 1.1.11
- 1.1.10
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-PHP-8-Compatibility
- dev-TSM-414-Parameter-Must-Implement-Countable
- dev-lando_compatibility
- dev-TSM-536-Maintenance-Absolute-Path-For-default.services.yml
- dev-TSM-508_termination_signal_handling
- dev-TSM-462-psh-toolbelt-dependency-upgrade-for-php8.0
- dev-psh_toolbelt_php_7.3
- dev-tsm-85-large-backup-s3
- dev-lando
- dev-drupal_8_8
This package is auto-updated.
Last update: 2024-09-22 14:45:53 UTC
README
使用 Robo 使 Drupal 9 安装高度可配置。
- Robo
- 环境变量
待办事项
- 创建任务以恢复备份
- 允许从 AWS 切换到 Google Cloud
- 创建 Packagist 条目
- 为每个任务编写文档
安装
$ composer require wearewondrous/psh-toolbelt
配置环境后使用 robo.yml
(如下所述),然后可以运行
$ vendor/bin/psh-toolbelt
查看所有可用命令。
配置
sites/default/settings.php
(必需)
使用给定的两个包含项覆盖 sites/default/settings.php
。
<?php // Default Drupal 9 settings. // // These are already explained with detailed comments in Drupal's // default.settings.php file. // // See https://api.drupal.org/api/drupal/sites!default!default.settings.php/9 // customized project settings include $app_root . '/../vendor/wearewondrous/psh-toolbelt/src/site.settings.php'; // Local settings. These come last so that they can override anything. if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) { include $app_root . '/' . $site_path . '/settings.local.php'; }
服务
如果您的项目需要覆盖默认服务,请使用名为 local.services.yml 的文件
robo.yml.dist
(必需)
将项目根目录中的 robo.yml.dist
的默认配置复制到并重命名为 robo.yml
。所有路径都是相对于项目根目录的。没有尾部斜杠。文件 wearewondrous/psh-toolbelt/robo.yml.dist
内容
storage: backup: max_age: 432000 # 60 * 60 * 24 * 5 s3: version: new-latest region: eu-west-1 upload_bucket: backups platform: host: eu.platform.sh domain: my-website.com mounts: temp: tmp config: remote-config drupal: hash_salt: 1234567890abcdefghijklmnopqlmnopqrstuvwxyz12345678 config_sync_directory: config/drupal/default public_files_directory: web/sites/default/files private_files_directory: private excludes: - js - css - styles - translations - languages - config config: splits: default: machine_name: default folder: default prod: machine_name: production folder: prod dev: machine_name: development folder: dev drush: alias_group: my-website alias: local path: vendor/bin/drush lando: disable_cache: true host: my-website.lndo.site mysql: database: drupal hostname: 127.0.0.1 password: drupal port: 3306 user: drupal
将其复制到您的根文件夹并重命名为 robo.yml
。根据您的需要进行调整。通常,您只需要设置如下
platform: domain: drupal-rocks.com host: eu.platform.sh drush: alias_group: drupalrocks lando: hash_salt: 1234567890abcdefghijklmnopqlmnopqrstuvwxyz12345678 host: my-website.lndo.site
sites/default/settings.php
(必需)
查看 sites/default/settings.php
的示例,请参阅 platformsh-template/drupal9。在包含 settings.local.php
之前,添加以下内容
// customized project settings include $app_root . '/../vendor/wearewondrous/psh-toolbelt/src/site.settings.php';
Platform.sh 变量(备份任务必需)
以下变量是使备份任务正常工作的必需变量
env:AWS_ACCESS_KEY_ID={aws_access_key_id} env:AWS_SECRET_KEY_ID={aws_secret_key_id} env:SENTRY_DSN={sentry_dsn}
可选地,要备份不是 master
的分支,请将以下内容添加到所需分支的 Platform.sh 变量中。
env:BACKUP_THIS_BRANCH=1
注意:可选地,变量可以作为 实际环境变量 或作为 Platform.sh 变量 存在。
composer.json
和 .env
(可选)
对于带有环境变量的本地开发和测试,请将以下内容添加到您的根项目 composer.json
{ "autoload": { "files": ["vendor/wearewondrous/psh-toolbelt/load.environment.php"] } }
然后将 wearewondrous/psh-toolbelt/.env.dist
复制到您的项目根目录并重命名为 .env
。从您的 vcs 中排除此文件。仅当您想模拟生产变量时才这样做。
### Platform.sh VARS ############ #PLATFORMSH_CLI_TOKEN= #PLATFORM_APP_DIR=/app #PLATFORM_PROJECT= #PLATFORM_ENVIRONMENT= #PLATFORM_DOCUMENT_ROOT=/app/web #PLATFORM_BRANCH=master ### Required VARS ############### # AWS config AWS_ACCESS_KEY_ID= AWS_SECRET_KEY_ID= # Logging SENTRY_DSN=
故障排除
请确保在您的 platform.app.yaml
中有以下挂载。否则,服务器上可能会出现错误,例如 无法创建目录 '/app/.ssh'
。
mounts: '/web/sites/default/files': 'shared:files/files' '/tmp': 'shared:files/tmp' '/private': 'shared:files/private' '/.drush': 'shared:files/.drush' '/remote-config': 'shared:files/remote-config'