drupalspoons / composer-plugin
此软件包已被废弃且不再维护。未建议替代包。
用于准备 Drupal 项目以进行 CI 和/或本地测试的 Composer 插件。
2.10.16
2022-11-28 18:52 UTC
Requires
- php: >=7.1
- composer-plugin-api: ^1.0 || ^2.0
- composer/composer: ^1.0 || ^2.0
- oohology/gitignorewriter: ^1.1
- dev-master
- 2.10.16
- 2.10.15
- 2.10.14
- 2.10.13
- 2.10.12
- 2.10.11
- 2.10.10
- 2.10.9
- 2.10.8
- 2.10.7
- 2.10.6
- 2.10.5
- 2.10.4
- 2.10.3
- 2.10.2
- 2.10.1
- 2.10.0
- 2.9.9
- 2.9.8
- 2.9.7
- 2.9.6
- 2.9.5
- 2.9.4
- 2.9.3
- 2.9.2
- 2.9.1
- 2.9.0
- 2.8.2
- 2.8.1
- 2.8.0
- 2.7.0
- 2.6.0
- 2.5.0
- 2.4.0
- 2.3.0
- 2.2.0
- 2.1.0
- 2.0.0
- dev-avoid-core-recommended
- dev-nightwatch
- dev-self-test
- dev-report-source
- dev-docs-phpcs
- dev-14-add-template-and-script-to-run-scheduled-pipelines-for-build-automation
- dev-handle_phpspec/prophecy-phpunit
This package is auto-updated.
Last update: 2024-01-31 00:27:32 UTC
README
此项目需要一个新名称和新的家园(理想情况下由 Drupal 协会管理)。此插件有两个目标
- CI 模板。提供一个金光大道(参见 Spotify 对此术语的定义),供 Drupal 贡献项目使用 Gitlab CI。
- 本地开发。标准化脚本和匹配的代码库构建,用于本地 Drupal 开发。
这两个目标共同确保本地环境中运行的测试与 Gitlab CI 平台上的结果相同(在很大程度上)。
CI
- 在项目根目录下添加
.gitlab-ci.yml
。一个好的起点是 KeyCDN。提交并推送文件。推送后应启动管道。点击 Gitlab 的 CI/CD 链接查看它们。 - 可选
- 添加一个 phpcs.xml 文件来自定义如何使用 phpcs 检查您的源代码。
- 如果您想测试 memcache、elasticsearch、redis 等,您可以在 .gitlab-ci.yml 文件中添加服务。
- 要禁用作业,请参阅下表中的 DCI_SKIP 环境变量。
- 如果您需要更改其他包(例如),请按常规在 composer.json 中添加补丁。
- (仅限维护者)。转到 CI/CD => 计划并添加任何重要的构建排列到 每周 计划中。例如排列可以是非默认的 Drupal 核心版本、DB 后端等。例如,请参阅 KeyCDN 的计划。请参阅下面的 环境变量。
环境变量
使用您的管道列表上的 运行管道 按钮测试任何分支与 Drupal 核心版本、PHP 版本或 DB 驱动程序的替代版本。可识别的变量和默认值如下
名称 | 默认值 | 备注 |
---|---|---|
DRUPAL_CORE_CONSTRAINT | ^9 | |
PHP_TAG | 7.4 | |
DCI_SKIP_COMPOSER | 0 | 设置为 1 以跳过作业 |
DCI_SKIP_VALIDATE | 0 | 设置为 1 以跳过作业 |
DCI_SKIP_PHPCS | 0 | 设置为 1 以跳过作业 |
DCI_SKIP_STYLELINT | 0 | 设置为 1 以跳过作业 |
DCI_SKIP_ESLINT | 0 | 设置为 1 以跳过作业 |
DCI_SKIP_PHPUNIT | 0 | 设置为 1 以跳过作业 |
DCI_PHPUNIT_EXTRA | 示例:--group=devel_generate | |
DB_DRIVER | mysql | 允许:mysql 、sqlite 或 pgsql |
MARIADB_TAG | 10.3 | |
POSTGRES_TAG | 0 | |
COMPOSER_PLUGIN_CONSTRAINT | ^2 | 用于测试 composer-plugin MR |
COMPOSER_PLUGIN_PREPARE | true | 用于跳过代码库符号链接步骤 |
WEB_ROOT | web |
本地开发
- 通过 git 克隆贡献项目
- 安装此插件(语法取决于您的 shell)
- BASH 或 ZSH:
bash <(curl -s https://gitlab.com/drupalspoons/composer-plugin/-/raw/master/bin/setup)
- FISH:
bash (curl -s https://gitlab.com/drupalspoons/composer-plugin/-/raw/master/bin/setup | psub)
- BASH 或 ZSH:
- 配置一个 Web 服务器以将
/web
目录作为 docroot。以下任一均可composer webserver
- 设置 Apache/Nginx/其他。虚拟主机效果良好。任何域名都行。
- 配置数据库服务器并创建数据库。通过定义 SIMPLETEST_DB 环境变量来完成此操作(例如
SIMPLETEST_DB=mysql://admin:admin@127.0.0.1/dbname
) - 安装 Drupal
composer si -- --db-url=mysql://user:pass@localhost/db
。根据需要调整。 - 运行测试
composer unit
。 - 通过环境变量和参数/选项自定义这些作曲家脚本。请参阅上面的表格。
此插件与任何Docker本地开发平台兼容,如DDEV、Lando等。此外,此插件不假设Docker,因此原生环境也很好。在原生环境中设置环境变量的方便方法是使用Direnv(并查看写入到项目根目录的.envrc文件)。或者,将所有Composer命令前缀为spoon,如spoon update
或spoon drush core:status
处理项目更改
- 如果项目的composer.json发生更改,或者从项目根目录添加/删除了文件:
composer drupalspoons:rebuild
- 如果有新的或更新的依赖项可用:
composer update
更多示例命令
- 运行所有测试 -
composer unit
。 - 运行一个测试套件:
composer unit -- --testsuite functional
- 跳过慢速测试:
composer unit -- --exclude-group slow
- 使用不同的URL:
SIMPLETEST_BASE_URL=http://example.com composer unit
此插件的工作方式
- 此插件写入一个包含指定Drupal核心版本的
composer.spoons.json
文件。 - 插件假设在运行
composer
命令时,composer.spoons.json
文件正在生效。这是通过CI自动完成的。对于本地开发,必须设置COMPOSER=composer.spoons.json
环境变量。您可以手动完成此操作,或通过Direnv、Docker或spoon。 - 此插件通过类似于以下方式的符号链接组装代码库:
贡献
欢迎对此项目做出贡献!请提交问题和合并请求。
- 所有合并请求都通过GitLab CI自动测试。维护者必须手动触发管道(由于下游项目的权限)。
- 在cache_metrics项目(任何项目都适用)中触发一个下游管道,并将通过/失败状态传播回此项目。