aten / drupal-recommended-project
Aten Drupal 项目
9.x-dev
2023-03-13 20:38 UTC
Requires
- aten/aten_standard: ^1.0
- composer/installers: ^1.2
- cweagans/composer-patches: 1.x-dev
- drupal/admin_toolbar: ^3.0
- drupal/ckeditor_a11ychecker: ^1.0
- drupal/core-composer-scaffold: ^9.0
- drupal/core-recommended: ^9.0
- drupal/field_group: ^3.1
- drupal/gin: ^3.0@alpha
- drupal/gin_toolbar: ^1.0@beta
- drupal/google_tag: ^1.4
- drupal/metatag: ^1.16
- drupal/multiple_selects: ^1.0
- drupal/pathauto: ^1.8
- drupal/prototype: 4.x-dev
- drupal/redirect: ^1.6
- drush/drush: ^10.0
- oomphinc/composer-installers-extender: ^2.0
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.1
- drupal/coder: ^8.3
- drupal/devel: ^4.1
- drupal/stage_file_proxy: ^1.1
- phpmd/phpmd: ^2.9
- pr0ject-x/px: ^1.0
- pr0ject-x/px-drupal: ^1.0
- squizlabs/php_codesniffer: ^3.5
Conflicts
This package is auto-updated.
Last update: 2024-09-08 13:46:56 UTC
README
- 生产 URL: https://atendesigngroup.com/
- Aten 短名: PROJECTCODE
概述
项目意图和目标描述。
项目中的个人与角色
Aten
- Jack Reacher (项目经理)
- James Bond (技术负责人)
- Jason Bourne (开发者)
沟通
- Slack: #client-PROJECTCODE
- JIRA: https://atendesign.atlassian.net/jira/software/projects/PROJECTCODE/
代码仓库
- 主机: Pantheon/Platform.sh/Acquia
- 仓库名称: 项目名称
- 开发 URL: https://example.com/
- 仓库 URL: https://example.com/
- 默认分支:
master
- 所有者: Aten/Client
托管
生产
- 提供商: Pantheon/Platform.sh/Acquia
- 所有者: Aten/Client
开发流程
当向项目添加新功能时,您需要创建一个功能分支,通常这是 Jira 票据编号(例如,PROJECTCODE-XXX)。您将所有代码更改提交到该功能分支,并将其推送到代码仓库。一旦票据准备就绪进行 QA,它应合并到 master
分支。然后将其部署到托管平台上的开发实例。
将 Jira 票据分配给 QA 团队成员,提供开发环境的链接,并包括测试说明。同时,请确保在 QA 团队介入之前,使用模拟数据设置环境以确保其适用于您。
- 热补丁/非发布部署
- 确保您的本地环境没有未提交的更改
- 如果您的本地数据库非常陈旧(超过一个月),从生产环境中导入一个新的
- 在 master 分支上
git checkout master
- 非常重要:导入配置更改
drush cim sync -y
如果不这样做,将覆盖配置 - 基于 Jira 票据名称创建功能分支
git checkout -b PROJECTCODE-###
- 进行必要的代码更改。如果更改配置,请记住导出配置
drush cex sync -y
- 使用
git diff
查看您所做的更改
- 使用
- 将更改提交到您的功能分支
git add .
和git commit -m "PROJECTCODE-###: 关于更改的说明" 和
git push - 合并到 Acquia 的测试分支
git checkout staging
和git merge PROJECTCODE-###
- 在您的更改在测试中获批准后,将功能分支合并到 master 分支并部署
git checkout master
和git merge PROJECTCODE-###
和git push
- 使用发布/冲刺分支 - 如果同时处理多个功能,非常有用
- 创建发布分支
- 一次创建 -
git checkout master
&&git checkout -b release-1
- 将发布分支推送到每个人工作的地方
- 一次创建 -
- 参与发布
- 确保您的本地环境没有未提交的更改
- 如果您的本地数据库非常陈旧(超过一个月),从生产环境中导入一个新的
- 在 master 分支上
git checkout release-1
- 非常重要:导入配置更改
drush cim sync -y
如果不这样做,将覆盖配置 - 基于 Jira 票据名称创建发布分支的功能分支
git checkout -b PROJECTCODE-###
- 进行必要的代码更改。如果更改配置,请记住导出配置
drush cex sync -y
- 使用
git diff
查看您所做的更改
- 使用
- 将更改提交到您的功能分支
git add .
和git commit -m "PROJECTCODE-###: 关于更改的说明" 和
git push - 合并到 Acquia 的发布分支进行测试
git checkout release-1
和git merge PROJECTCODE-###
- 在 Acquia 上使用一个专门用于发布的独立环境
- 在您的更改在测试中获批准后,将功能分支合并到 master 分支并部署
git checkout master
和git merge PROJECTCODE-###
和git push
- 发布部署
- 您可能需要将主分支合并到您的发布分支中,以捕捉自分支创建以来的任何差异
- 将您的发布分支合并到预发布分支中,以测试发布内容
- 一旦测试完成,将发布分支合并到主分支
- 注意事项:如果在发布分支上已经开始但未完成工作,则需要手动移除
- 创建发布分支
自动化测试
无测试
- 此项目尚未配置自动化测试。
有测试
- 此项目已配置自动化测试。
- 测试类型:Cypress (https://www.cypress.io/)
- READ.ME 文件位置:
web/...
主题信息
- 基本主题:Prototype
- 自定义主题:
THEME_NAME
- READ.ME 文件位置:
web/themes/custom/THEME_NAME/README.md
部署/配置管理
强烈建议数据库更新和配置导入自动进行,以免遗忘。
- 审查生产环境中的配置,确保其与
/admin/config/development/configuration
保持同步 - 如果配置不同步,您有几个选择
- 导出不同步的单个配置,并确保它们与正在推送的代码一起提交
- 从生产环境获取一个新鲜数据库,并在主分支上运行配置导出
注意:在理想的世界里,配置不应该在生产环境中直接更改。
本地开发
Drupal 项目已设置为开箱即用支持 Lando。开发者可以通过以下说明快速开始设置本地环境。请确保您已安装 Lando。
首先,让我们安装项目的 composer 包
composer install
现在,您需要启动 Lando 实例
lando start
现在,您需要将开发数据库导入到本地环境
lando db-import localdatabasename.sql
初始 Drupal 配置
composer create-project "aten/drupal-recommended-project" [SITE-NAME]
使用 Composer 更新 Drupal 核心和贡献模块
遵循开发工作流程,应仅使用 Composer 执行更新(请参阅 https://www.drupal.org/docs/develop/using-composer/manage-dependencies)
- 更新 Drupal 核心 - 请参阅 https://www.drupal.org/docs/updating-drupal/updating-drupal-core-via-composer
composer update drupal/core --with-dependencies
drush updatedb
drush cache:rebuild
- 更新 Drupal 模块
composer update drupal/modulename --with-dependencies
drush updatedb
drush cache:rebuild
- 删除 Drupal 模块
- 注意:请谨慎操作。在您选择通过 Composer 从代码库中删除模块之前,必须在生产环境中卸载模块(这意味着两次部署)
- 卸载模块,导出配置,推送代码,并部署到生产环境
- 在生产环境中卸载模块后,您可以使用以下命令从代码库中删除它:composer remove drupal/modulename
- 补丁
- 补丁也应仅使用 Composer 进行。这允许所有开发者了解哪些模块正在修复,并在更新后是否有任何模块未能应用