
這是為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中可見。