
这是为Jeffgeerling.com提供动力的Drupal代码库。
该项目的建设以及Jeffgeerling.com从Drupal 7到Drupal 8的迁移已在Geerlingguy的YouTube频道上进行了现场直播;您可以在此处观看所有情节,并在此处查看剧集摘要和资源:将Jeffgeerling.com从Drupal 7迁移到Drupal 8-如何进行视频系列。
我决定开放消息来源我的网站代码库,以帮助其他Drupal用户了解我如何构建和维护此网站。如果您喜欢本项目以任何方式看到或得到的东西,请考虑通过Patreon,Github赞助商或其他会员链接来支持我。
目前,从中西部Mac基础架构剧本中部署运行的过程:
ansible-playbook playbook.yml --tags=deploy
注意:部署时请确保您在
master分支上!
该存储库包括一个Dockerfile.prod ,用于构建准备生产的图像(包括所有代码和资产)。
构建该图像:
docker build -f Dockerfile.prod -t geerlingguy/jeffgeerling-com:arm64 .
然后,您可以将图像推向Docker Hub上的官方geerlingguy/jeffgeerling-com存储库:
docker push geerlingguy/jeffgeerling-com:arm64
注意:每当将提交推到
master分支时,图像都是通过GitHub动作自动构建并推到Docker Hub的。
首次开始使用此项目时,您需要创建本地设置文件:
cp web/sites/default/example.settings.local.php web/sites/default/settings.local.php
确保已安装了Docker,然后运行以下命令(与此readme文件相同的目录):
docker compose up -d
在容器中安装运行作曲家的PHP依赖关系:
docker compose exec drupal composer install
访问http:// localhost/以查看Drupal安装。请访问http:// localhost:8025/see mailhog。
您可以使用安装向导安装Drupal,但我们喜欢使用Drush进行更多自动化:
docker compose exec drupal bash -c 'vendor/bin/drush site:install minimal --db-url="mysql://drupal:$DRUPAL_DATABASE_PASSWORD@$DRUPAL_DATABASE_HOST/drupal" --site-name="Jeff Geerling" --existing-config -y'
在某个时候,我会写出如何使用自动化的drush进行所有操作。
目前:
任何时候都更改了配置或升级任何模块或Drupal,都应使用命令来导出网站的配置:
docker compose exec drupal bash -c 'vendor/bin/drush config:export -y'
然后在将最新代码部署到网站之前将任何更改推向GIT存储库。
docker compose exec drupal bash -c 'composer update' (以更新所有内容)。docker compose exec drupal bash -c 'vendor/bin/drush updb -y'docker compose exec drupal bash -c 'vendor/bin/drush config:export -y'您可以使用phpcs在此项目中测试自定义代码:
docker compose exec drupal bash -c './vendor/bin/phpcs
--standard="Drupal,DrupalPractice" -n
--extensions="php,module,inc,install,test,profile,theme"
web/themes/jeffgeerling
web/modules/custom'
该项目的Docker配置启用了一个MailHog容器,该容器具有http://127.0.0.1:8025 8025的Web UI。
当您使用此项目的Dockerfile来构建Drupal环境时,将自动配置用于本地环境的php.ini文件通过MailHog实例发送PHP的mhsendmail 。
当Drupal发送电子邮件时,应该在MailHog的UI中可见。