thinkshout / bene-project
ThinkShout 为 Drupal 8 项目和 composer 定制的项目模板
Requires
- composer/installers: ^1.2
- cweagans/composer-patches: ~1.6
- drupal-composer/drupal-scaffold: ^2.2
- drupal/console: ~1.0
- drupal/pantheon_advanced_page_cache: ^1.0
- drush/drush: ^8.1.10
- oomphinc/composer-installers-extender: ^1.1
- thinkshout/bene: ^8.2
Requires (Dev)
- behat/mink: ^1.7
- behat/mink-goutte-driver: ^1.2
- dmore/behat-chrome-extension: ^1.3
- drupal/coder: ^8.3
- drupal/drupal-extension: ^3.4
- drush-ops/behat-drush-endpoint: ^9.3
- jcalderonzumba/gastonjs: ^1.2
- jcalderonzumba/mink-phantomjs-driver: ^0.3.3
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^7.5
- thinkshout/robo-drupal: ^1.0.0
- vlucas/phpdotenv: ^2.2
- dev-master
- dev-53-remote-origin
- dev-51-out-of-memory-error
- dev-use-packagist
- dev-install-script-should-call-theme-script
- dev-dev-pantheon
- dev-develop
- dev-repo-redux
- dev-fix-duplicate-bene-require
- dev-pantheon
- dev-bene_features_and_promo_redirect
- dev-theme-generalization
- dev-4-fix-install
- dev-april
- dev-dev
This package is auto-updated.
Last update: 2024-09-12 07:12:26 UTC
README
Bene 项目
新项目
创建 Git 仓库
前往 github https://github.com/new 创建一个新的仓库。脚本期望一个空的仓库。不要在其中放置任何内容,否则脚本将失败。
持续集成
查看 .circleci/README.md
中的说明以配置 CircleCI。
初始构建
创建一个本地项目(将 'my-bene-project' 改为您的项目名称)
composer create-project thinkshout/bene-project --stability dev --no-interaction ~/Sites/my-bene-project
在您的环境中创建一个空数据库以进行安装
mysql -uroot -p -e "create database benesite"
进入 ~/Sites/my-bene-project
目录,并使用以下命令将您的网站构建到新目录中
./scripts/install.sh
过程中有几个提示,请注意以下事项
- 在后续过程中会提示输入数据库名。如果数据库不存在,脚本将失败。请使用上面创建的数据库,但请注意,如果您选择一个已存在的数据库,脚本将清除其内容。
完成!您的输出脚本应显示类似于以下的消息
Bene 安装完成。
进入 ~/Sites/bene-new-project 目录并运行
drush uli
现有项目
初始构建(现有仓库)
在 ~/Sites 目录下运行
git clone git@github.com:thinkshout/new-project-name.git
cd new-project-name
composer install
测试
测试在 CircleCI 上自动运行,但也可以使用以下命令在本地运行
robo test
更新代码
更新安装配置文件
所有对配置文件的工作应在 web/profiles/bene
中完成。提交并推送更改到该仓库。要在项目中更新配置文件,请从项目目录运行 robo dev:update
更新贡献模块
使用 composer require drupal/{module_name}
您可以下载新的依赖项到您的安装中。
composer require drupal/devel:8.*
对贡献模块应用补丁
如果您需要应用补丁(根据正在修改的项目,拉取请求通常是更好的解决方案),您可以使用 composer-patches 插件。
要将补丁添加到 drupal 模块 "foobar",在 composer.json 的 extra
部分中插入 patches 部分
"extra": { "patches": { "drupal/foobar": { "Patch description": "URL to patch" } } }
更新 Drupal 核心
该项目将尝试保持所有 Drupal 核心文件的最新状态;项目 drupal-composer/drupal-scaffold 用于确保每次 drupal/core 更新时,您的脚手架文件都会更新。如果您自定义了任何 "脚手架" 文件(通常是 .htaccess),则可能需要在 Drupal 核心新版本发布时解决任何修改文件的合并冲突。
按照以下步骤更新您的核心文件。
- 运行
composer update drupal/core --with-dependencies
以更新 Drupal 核心和其依赖项。 - 运行
git diff
以确定是否有任何脚手架文件已更改。审查文件以查找任何更改,并将对.htaccess
或robots.txt
的任何自定义更改恢复到之前的状态。 - 将所有更改作为一个单独的提交提交,以便在检出分支或运行
git bisect
时,web
与core
保持同步。 - 如果在第2步中出现非平凡冲突,您可能希望在分支上执行以下步骤,并使用
git merge
将更新的核心文件与您的自定义文件合并。这有助于使用kdiff3这样的三方合并工具。如果您的更改很简单,则此设置不是必需的;将所有修改保持在文件开头或结尾是一个保持合并简单的良好策略。
注意事项
开发设置
这是一个使用robo taskrunner构建的Drupal 8网站。
首先您需要安装composer。
使用brew安装composer
然后如果尚未添加,将./vendor/bin
添加到您的PATH中,放在PATH变量的开头(仅当不使用新的Bene安装时)
通过echo $PATH
来检查
使用export PATH=./vendor/bin:$PATH
来更新
您也可以通过编辑~/.zshrc
或~/.bashrc
文件来使此更改永久有效:export PATH="./vendor/bin:..."
构建(对于新仓库将自动完成)
运行robo configure
命令将读取.env.dist、CLI参数和您的本地环境(DEFAULT_PRESSFLOW_SETTINGS
),以生成.env文件。此文件将用于设置数据库和其他标准配置选项。如果没有提供数据库名称,将使用项目名称和git分支名称。如果没有提供配置文件名称,则使用“standard”。注意传递给robo configure的参数可以包括:--db-pass;--db-user;--db-name;--db-host;--profile。
robo configure --profile=bene
# Use an alternate DB password
robo configure --profile=bene --db-pass=<YOUR LOCAL DATABASE PASSWORD>
# Use an alternate DB name
robo configure --profile=bene --db-name=<YOUR DATABASE NAME>
如果要在本地设置DEFAULT_PRESSFLOW_SETTINGS
的结构(对于新仓库默认设置)
DEFAULT_PRESSFLOW_SETTINGS_={"databases":{"default":{"default":{"driver":"mysql","prefix":"","database":"","username":"root","password":"root","host":"localhost","port":3306}}},"conf":{"pressflow_smart_start":true,"pantheon_binding":null,"pantheon_site_uuid":null,"pantheon_environment":"local","pantheon_tier":"local","pantheon_index_host":"localhost","pantheon_index_port":8983,"redis_client_host":"localhost","redis_client_port":6379,"redis_client_password":"","file_public_path":"sites\/default\/files","file_private_path":"sites\/default\/files\/private","file_directory_path":"site\/default\/files","file_temporary_path":"\/tmp","file_directory_temp":"\/tmp","css_gzip_compression":false,"js_gzip_compression":false,"page_compression":false},"hash_salt":"","config_directory_name":"sites\/default\/config","drupal_hash_salt":""}
安装(对于新仓库将自动完成)
运行robo install命令将运行composer install以添加所有必需的依赖项,然后安装网站并导入导出的配置。
robo install