mediacurrent / drupal-project
适用于使用Composer的Drupal项目的项目模板
10.x-dev
2024-08-05 17:44 UTC
Requires
- composer/installers: ^2.0
- cweagans/composer-patches: ^1.7
- drupal/composer_deploy: ^1.7
- drupal/core-composer-scaffold: ^10.0
- drupal/core-recommended: ^10.0
- drupal/guardr_core: ^2.1
- drupal/upgrade_status: ^4.3
- drush/drush: ^11 || ^12
- mediacurrent/ignite_core: ^1.0
- mediacurrent/ignite_demo: ^1.0
- mediacurrent/ignite_features: ^1.0
- mediacurrent/ignite_gin: ^1.0
- mediacurrent/ignite_theme: ^1.0
- mediacurrent/mis_profile: ^3.0
- oomphinc/composer-installers-extender: ^2.0
- webflo/drupal-finder: ^1.0.0
Requires (Dev)
- dmore/behat-chrome-extension: ^1.4.0
- drupal/core-dev: ^10.0
- drupal/drupal-extension: ^5.0
- drush-ops/behat-drush-endpoint: ^9.4.1
- ergebnis/composer-normalize: ^2.37
- mediacurrent/ci-scripts: ^2.0.0
- mediacurrent/ci-tests: dev-master
- mglaman/drupal-check: ^1.0
- phpro/grumphp-shim: ^2.5.0
- phpspec/prophecy-phpunit: ^2
Conflicts
- 10.x-dev
- 9.x-dev
- 8.x-dev
- dev-feature/MCT-1949-pipelines-mariadb
- dev-develop
- dev-feature/MCT-1464--php82-slim
- dev-feature/gitpod-image
- dev-feature/MCT-1422--d10
- dev-feature/MCT-1343--ddev-pipelines
- dev-gitpod-demo2
- dev-gitpod-demo
- dev-Joe-Stewart/readmemd-edited-online-with-bitbucket-1584728064157
- dev-feature/MCT-644--pm-security
- dev-jaymediacurrent/composerjson-edited-online-with-bitbucke-1557321010749
- dev-feature/MCT-181--robo-1
This package is auto-updated.
Last update: 2024-09-17 17:12:16 UTC
README
文档
有关Ignite CMS的完整文档,请参阅https://mediacurrent.gitbook.io/ignite-cms/
安装与本地设置
1)检出代码库
Ignite包可在推荐的Drupal composer模板的修改版本中克隆。
首先,克隆公共Bitbucket仓库
git clone git@bitbucket.org:mediacurrent/drupal-project.git shortcode_project
切换到项目文件夹,并运行以下命令以初始化代码库。
cd shortcode_project
composer install
rm web/sites/default/.gitignore
这会运行composer install。由于这是第一次运行,因此它是composer update,并计算所有依赖项。您应该准备好启动本地Drupal站点...
2)启动本地环境
任何本地开发工具都应该可以工作,以下步骤适用于DDEV。
配置DDEV-Local
- 非交互式配置。项目名称必须是字母数字的,或者是带连字符的。
$ ddev config --docroot=web --project-name="example" --project-type=drupal9 --webserver-type="nginx-fpm" --create-docroot
- 交互式配置替代方案
$ ddev config
启动DDEV
$ ddev start
- 域名显示在ddev start的输出中,也可以通过ddev describe访问。
初始化项目
$ ./scripts/hobson project:init example.ddev.site
$ ddev restart
<= 此命令确保config/config.yml已就位并且已设置域名。- 要继续项目开发,请转到下一节:“配置安装配置文件”。
开发设置
- 文件
./web/sites/default/settings.local.php
包含用于自定义开发环境的设置。这禁用了Drupal的内置缓存,并额外激活了 sites/development.services.yml 以进一步自定义开发环境。 - 有关在本地开发中禁用缓存的更多详细信息,请访问:https://www.drupal.org/node/2598914
您应该知道的Drush命令
- 使用
ddev drush uli
登录您的本地安装。 ddev drush cr
清除Drupal缓存ddev drush cex
导出配置更改ddev drush cim
导入配置更改
附加信息
- 在主机机器上安装DDEV-Local,请参阅https://ddev.readthedocs.io/en/stable/
- 在MacOS上安装composer
`
brew install composer`
否则,请参阅https://getcomposer.org.cn/的说明
开发工作流程
- 使用Composer添加第三方依赖项和补丁。
- 将自定义模块、主题等写入./web/目录。
- 运行
ddev drush cex
将Drupal配置导出到config/sync文件夹。 - 在启动新工单之前运行
$ ./scripts/build.sh
。再次运行build.sh以测试在提交pull请求之前完成的工作。
测试
运行编码标准测试。
注意 在模块位于 "web/modules/custom" 目录中之前,测试将不会运行。
- phpcs -
./tests/code-sniffer.sh ./web
- phpcbf -
./tests/code-fixer.sh ./web
运行Drupal-check以进行自定义开发,以检查10个就绪性。
注意 检查将不会在模块位于 "web/modules/custom" 目录之前运行。
./vendor/mediacurrent/ci-tests/tests/drupal-check.sh web
运行 BDD 测试。
ddev . tests/behat/behat-run.sh https://example.ddev.site
运行 phpunit 测试。
- 单元测试 -
composer robo test:phpunit-tests
- 内核和功能测试 -
ddev composer robo test:phpunit-tests -- --filter="/Kernel|Functional/"
运行 VRT。
- 在 tests/visual-regression/README.md 中查看文档。
- 从 "使用 Docker 快速开始" 开始。
运行无障碍测试。
注意 需要 pa11y
./tests/pa11y/pa11y-review.sh https://example.ddev.site
OWASP Zap 基线扫描。
docker run --net=ddev_default -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-weekly zap-baseline.py -d -c owasp-zap.conf -p owasp-zap-progress.json -t https://ddev<项目名称>-web
GrumPHP
- GrumPHP 将在即将提交的代码上运行一些测试。使用文件 grumphp.yml 进行配置。
- 编码规范
- 拒绝提交包含调试关键词的列表
- json 和 yaml 代码检查
- Composer 锁文件验证
- Enlightn 安全检查器
如何应用下载的模块的补丁?
如果您需要应用补丁(根据要修改的项目,通常 pull request 是更好的解决方案),您可以使用 composer-patches 插件。
要将补丁添加到 drupal 模块 foobar,在 composer.json 的 extra 部分中插入 patches 部分
"extra": {
"patches": {
"drupal/foobar": {
"Patch description": "URL or local path to patch"
}
}
}
如何指定 PHP 版本?
本项目支持 PHP 8.1 作为最低版本(请参阅 Drupal 9 的环境要求),然而,可能 composer update 会升级某些包,这将要求 PHP 8.1+。
要防止这种情况,您可以在 composer.json 的 config 部分中添加以下代码来指定您要使用的 PHP 版本
"config": {
"sort-packages": true,
"platform": {
"php": "8.1"
}
},
附加链接
- 项目 Drupal 主题指南
- 此存储库是从 Drupal 项目的 Composer 模板 创建的,其中包含有关使用的附加信息。
- 使用 Composer 与 Drupal。