pronovix / devportal-starterkit
该软件包已被废弃,不再维护。未建议替换软件包。
适用于具有 composer 的 Drupal 8 项目的项目模板
dev-master
2019-08-22 09:56 UTC
Requires
- php: >=7.1.3
- ext-json: *
- ext-pdo: *
- composer/installers: ^1.2
- cweagans/composer-patches: ^1.6
- drupal-composer/drupal-scaffold: ^2.5
- drupal/admin_toolbar: ^1.26
- drupal/config_inspector: ^1.0@beta
- drupal/config_installer: ^1.8
- drupal/core: ^8.6
- drupal/devel: ^1.0
- drupal/devportal: ^2.0@alpha
- drupal/redis: ^1.0
- drush/drush: ^9.4
- oomphinc/composer-installers-extender: ^1.1
- webflo/drupal-finder: ^1.1
- webmozart/path-util: ^2.3
- wikimedia/composer-merge-plugin: ~1.3
- zaporylie/composer-drupal-optimizations: ^1.0
Requires (Dev)
- behat/mink: dev-master#9ea1cebe
- behat/mink-goutte-driver: ^1.2
- behat/mink-selenium2-driver: ^1.3
- dealerdirect/phpcodesniffer-composer-installer: ^0.5.0
- drupal/coder: ^8.3
- drupal/config_devel: ^1.2
- drupal/testtools: ^1.0
- phpunit/phpunit: ^6.5
- symfony/phpunit-bridge: ^4.3
Conflicts
This package is auto-updated.
Last update: 2021-02-22 14:33:52 UTC
README
Drupal 开发工具包
此仓库使用 Amazee 的容器。
需求
- Git
- Docker
安装并启动 pygmy
仅适用于 Linux 和 macOS。
要安装 pygmy
,运行 gem install pygmy
。
如果您已经安装了 pygmy
,则不需要此步骤。
启动 pygmy: pygmy up
创建新项目
docker run --rm -it -v $PWD:/app --user $(id -u):$(id -g) tamasd/composer \ create-project Pronovix/devportal-starterkit \ -s dev $DEVPORTAL_NAME
此命令将使用容器创建项目文件。可能会出现有关缺少 gd
扩展的错误输出。
可以忽略这些错误。
设置容器
- 根据主机操作系统,将
docker-compose.unix.yml
或docker-compose.windows.yml
复制为docker-compose.override.yml
。 - 然后运行
docker-compose up --build -d
docker-compose run --rm cli sh -c 'composer install'
设置网站
- 创建您的 settings.local.php 文件:
cp web/sites/example.settings.local.php web/sites/default/settings.local.php
- 创建您的 settings.php 文件:
cp web/sites/default/default.settings.php web/sites/default/settings.php
- 取消注释
web/sites/default/settings.php
底部的settings.local.php
的包含。 - 将以下代码添加到 settings.local.php 中
如果您使用 MariaDB
$databases['default']['default'] = [ 'database' => 'drupal', 'username' => 'drupal', 'password' => 'drupal', 'prefix' => '', 'host' => 'mariadb', 'port' => '3306', 'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql', 'driver' => 'mysql', ];
如果您使用 Postgres
$databases['default']['default'] = [ 'database' => 'drupal', 'username' => 'drupal', 'password' => 'drupal', 'prefix' => '', 'host' => 'postgres', 'port' => '5432', 'namespace' => 'Drupal\\Core\\Database\\Driver\\pgsql', 'driver' => 'pgsql', ];
也要添加以下片段。
$settings['trusted_host_patterns'] = [ '^$PROJECT.docker.amazee.io$', '^nginx.$PROJECT.docker.amazee.io$', '^nginx$', '^localhost$', ]; if (!drupal_installation_attempted()) { $settings['cache']['default'] = 'cache.backend.redis'; $settings['redis.connection']['host'] = 'redis'; $settings['container_yamls'][] = 'modules/contrib/redis/example.services.yml'; $settings['container_yamls'][] = 'modules/contrib/redis/redis.services.yml'; $class_loader->addPsr4('Drupal\\redis\\', 'modules/contrib/redis/src'); $settings['bootstrap_container_definition'] = [ 'parameters' => [], 'services' => [ 'redis.factory' => [ 'class' => 'Drupal\redis\ClientFactory', ], 'cache.backend.redis' => [ 'class' => 'Drupal\redis\Cache\CacheBackendFactory', 'arguments' => ['@redis.factory', '@cache_tags_provider.container', '@serialization.phpserialize'], ], 'cache.container' => [ 'class' => '\Drupal\redis\Cache\PhpRedis', 'factory' => ['@cache.backend.redis', 'get'], 'arguments' => ['container'], ], 'cache_tags_provider.container' => [ 'class' => 'Drupal\redis\Cache\RedisCacheTagsChecksum', 'arguments' => ['@redis.factory'], ], 'serialization.phpserialize' => [ 'class' => 'Drupal\Component\Serialization\PhpSerialize', ], ], ]; } $config_directories['sync'] = '../config/sync';
- 将此片段添加到
settings.local.php
后,从docker-compose.yml
中查找 lagoon 项目名称(例如,在starterkit.docker.amazee.io
中的starterkit
),并将$PROJECT
替换为它。 - 在
cli
容器中,运行drush si $PROFILE --account-name=admin --account-pass=admin
,其中$PROFILE
可以是config_installer
(如果您已经在config/sync
中有配置)或standard
(全新的项目)。等待网站安装完成。(如果您想导入现有数据库,可以跳过此步骤)。
虽然启用 redis 模块不是强制性的,但建议这样做。
导入数据库和公共文件
导入公共文件
- 解压下载的公共文件存档:
tar -zxvf files.tgz
- 将内容复制到公共文件位置:
sudo rsync -av --delete files/ /path/to/project/web/sites/default/files
导入数据库
- 将数据库复制到项目的 web 文件夹:
cp database.sql.gz /path/to/project
- 进入项目目录:
cd /path/to/project
- 使用drush导入数据库:
docker-compose run --rm cli sh -c 'zcat database.sql.gz | drush sqlc'
。
常用命令
-
docker-compose run --rm cli sh
在容器中运行命令。
-
docker-compose up -d
启动容器。
-
docker-compose stop
关闭容器(保持状态)。
-
docker-compose down
销毁容器(永久删除状态)。
Gulp
将.env.js
复制为env.js
到项目根目录,并设置本地主题路径,来自Gulp组件。
- 构建CSS:
docker-compose run --rm gulp sh -c 'npm run gulp'
- 监控SCSS更改:
docker-compose run --rm gulp sh -c 'npm run gulp watch'
- 带有源映射的非压缩CSS:
docker-compose run --rm gulp sh -c 'npm run gulp watch -- --debug'
(需要独立的--
来传递参数给Gulp)
查看Gulp组件以获取故障排除指南。
在Windows上运行Mailhog
由于Windows不支持Pygmy(它处理Linux/Mac上的Mailhog),因此应单独添加Mailhog作为容器(参见docker-compose.windows.yml)。安装后,使用docker-compose up -d
,您可以通过在浏览器中访问https://:8025/来访问Mailhog。
调试
修复Linux上的xdebug
打开docker-compose.override.yml
并遵循cli
和php
部分的说明。
运行测试(可选)
docker-compose -f docker-compose.yml \ -f docker-compose.tests.yml -f docker-compose.override.yml \ run --rm tests