cheeky-monkey-media / drupal-project
为Drupal 8项目提供的项目模板,带有cheeky助手。
8.5.0
2019-02-08 05:50 UTC
Requires
- composer/installers: ^1.2
- cweagans/composer-patches: ^1.6
- drupal-composer/drupal-scaffold: ^2.2
- drupal/admin_toolbar: ^1.22
- drupal/adminimal_admin_toolbar: ^1.5
- drupal/console: ^1.0.2
- drupal/core: ~8.4
- drupal/diff: ^1.0@RC
- drupal/environment_indicator: ^3.2
- drupal/link_class: ^1.3
- drupal/linkit: ^4.3
- drupal/louie: ^1.0
- drupal/masquerade: ^2.0
- drupal/metatag: ^1.4
- drupal/paragraphs: ^1.2
- drupal/pathauto: ^1.0
- drupal/xmlsitemap: ^1.0@alpha
- drush/drush: ~8.0|^9.0.0-beta8
- webflo/drupal-finder: ^1.0.0
- webmozart/path-util: ^2.3
Requires (Dev)
- behat/mink: ~1.7
- behat/mink-goutte-driver: ~1.2
- drupal/devel: ^1.2
- drupal/reroute_email: ^1.0
- drupal/stage_file_proxy: ^1.0@alpha
- drupal/styleguide: ^1.0@alpha
- jcalderonzumba/gastonjs: ~1.0.2
- jcalderonzumba/mink-phantomjs-driver: ~0.3.1
- mikey179/vfsstream: ~1.2
- phpunit/phpunit: >=4.8.28 <5
- symfony/css-selector: ~2.8|~3.0
Conflicts
README
- Docker: https://dockerd.com.cn/community-edition
- Lando: https://docs.devwithlando.io
- Monkey Wrench: https://bitbucket.org/cheekymonkeymedia/monkey-wrench
本地开发
获取最新代码并开始一个功能分支。
- 克隆工作库(bitbucket)。
cd [项目根目录]
git checkout master
- 从master开始所有新功能。git pull origin master
- 确保您有最新代码。git checkout -b feature/[ID-123]--[short-description]
- 以这种方式创建新功能分支。
使用Lando工具安装本地docker环境中的站点。
首次设置,请记住以下几点
- 确保
web/sites/default/services.local.yml
存在。(见mw copy
) - 确保
web/sites/default/settings.local.php
存在。(见mw copy
) - 确保
web/sites/default/settings.php
包含settings.local.php。- 在上面的文件中仔细检查您的数据库设置等。
- 使用
lando info
获取数据库连接信息。
- 导入您的数据库。
lando db-import
启动本地环境
lando start
- 启动环境。lando build -y
- 清理composer安装。lando build:theme
- 构建主题资源。lando build:reset
- 运行local-dev.sh以updb、cim、cr等。
准备开始工作。
模块管理
从项目根目录
添加贡献模块
lando composer require drupal/[package_name] --no-update
将其添加到composer.json,而无需更新所有内容。lando composer update drupal/[package_name]
仅获取/更新所需模块。
更新贡献模块
lando composer update drupal/[package_name]
有时几个贡献模块落后几个版本。
请不要在没有指定模块的情况下使用lando composer update
,否则会一次性更新所有过时的内容,可能会引入回归,需要进行更多测试。
应严格控制并仔细测试更新。 easiest to do that in smaller chunks. 特别注意模块的BETA、ALPHA或DEV版本,这些版本不稳定,且更新之间不保证不破坏东西。
移除贡献模块
lando composer remove
将从require或require-dev中删除包。- 进行干净的代码库构建
lando build
将删除贡献和vendor代码,并重新构建,不包括已删除的模块。
我如何将补丁应用到下载的模块中?
如果您需要应用补丁,可以使用composer-patches插件。
要将补丁添加到drupal模块foobar,在composer.json的extra部分中插入patches部分
"extra": { "patches": { "drupal/foobar": { "Patch description": "URL to patch" } } }
要部署
如果您将要部署,特别是部署到生产环境,请确保您了解如何配置,以及部署过程中发生了什么。我们可以自动化很多事情,但如果您不知道机器在做什么,当出现问题时,您会感到恐慌或遇到很大困难。
自动化是提高开发效率的工具,而不是知识和服务能力的替代品。确保有负责任的人在场提供帮助。
在部署到生产之前,请备份代码、文件和数据库
首先,您应该配置好工作仓库。请参阅上文。
- 如果您还没有这样做:将生产仓库(即“构建工件”)从主机(例如 pantheon)克隆到
[项目根目录]/data/_deploy
- 从
[项目根目录]
开始操作git clone [生产 Git URL] data/_deploy
- 从
回到工作仓库
git checkout [要部署的分支]
develop 或 staging/staging-[版本]。lando build -y
- 清理composer安装。lando build:theme
重要提示:编译后的主题资产(如 CSS 和 JS)不会提交到工作仓库,必须生成。- 这些编译后的资产将在部署期间与生产仓库同步。
- 确保您有 Monkey Wrench v2.2
mw version
应显示v2.2
mw version-set v2.2
- 以切换到正确的版本。- 如果上述任一命令失败,您的 MW 已过时。
- 尝试
mw update-mw
以获取最新代码。 - 然后使用上述命令确保您在
v2.2
上。 - 如果
mw update-mw
没有做任何事情……您的 MW 实在是过时了,或者根本没有 MW。请参阅:Monkey Wrench
- 尝试
mw deploy [develop|stage|master] <version>
- 这将同步本地构建所需元素到生产仓库,提交并推送到主机。
注意同步和 git push 中的错误。
部署故障排除
部署配置清单
- 使用正确的 mw 版本吗?
v2.2
项目将有一个scripts/deploy
文件来配置关于该项目的部署细节。v1.5
项目将有一个deploy.ini
文件。 v2.2
您的scripts/deploy
文件配置正确吗?如果其他人可以无问题部署项目,那么它很可能就是正确的。如果不正确,请参阅手册或向聪明的猴子寻求帮助。v2.2
您是否已将构建工件(仓库)克隆到默认的data/_deploy
(或在scripts/deploy
中配置的任何路径)?
其他常见问题 (与 mw deploy
无关)
lando build
或 lando build:theme
错误
- 使用
lando rebuild
重建本地容器。 - 重启 Docker:因为
lando rebuild
没有帮助,您只是需要刷新系统。 - 使用
lando destroy && lando start
因为 Docker 重启没有帮助,而且您这次真的这么做了。 - NUKE VIRTUALIZATION TOOLS - 重新安装 Lando、Docker 或两者。 显然是最后的手段。 您不应该需要这样做,除非您最近更新了其中一个或两个,并且某些事情出了问题。
- 掀桌子(╯°□°)╯︵ ┻━┻ - 重新评估您的生活。