
Dies ist die Drupal -Codebasis, die Jeffgeerling.com betreibt.
Das Gebäude dieses Projekts und die Migration von Jeffgeerling.com von Drupal 7 nach Drupal 8 wurden auf dem YouTube-Kanal von Geerlingguy live gestreamt. Sie können alle Episoden ansehen und Episodenzusammenfassungen und Ressourcen hier ansehen: migrieren Jeffgeerling.com von Drupal 7 bis Drupal 8 - How -to -Video -Serie.
Ich habe mich entschlossen, die Codebasis meiner Website Open-Source zu helfen, um anderen Drupal-Benutzern zu helfen, diese Website zu erstellen und zu pflegen. Wenn Ihnen gefällt, was Ihnen in irgendeiner Weise durch dieses Projekt sehen oder in irgendeiner Weise geholfen wurde, sollten Sie mich über Patreon, Github -Sponsoren oder einen anderen Affiliate -Link unterstützen.
Derzeit läuft der Prozess für die Bereitstellung aus dem Midwestern Mac Infrastructure Playbook:
ansible-playbook playbook.yml --tags=deploy
Hinweis : Stellen Sie sicher, dass Sie sich beim Bereitstellen in der
master-Filiale befinden!
Dieses Repository enthält eine Dockerfile.prod , die zum Erstellen eines produktionsbereiten Bildes bestimmt ist (mit allen Code und Vermögenswerten).
Um dieses Bild zu erstellen:
docker build -f Dockerfile.prod -t geerlingguy/jeffgeerling-com:arm64 .
Dann können Sie das Bild in das offizielle Repository geerlingguy/jeffgeerling-com Repository auf Docker Hub weitergeben:
docker push geerlingguy/jeffgeerling-com:arm64
HINWEIS: Das Bild wird automatisch erstellt und über Github -Aktionen jedes Mal auf Docker Hub gedrückt, wenn ein Commit in den
master-Zweig weitergegeben wird.
Wenn Sie dieses Projekt zum ersten Mal beginnen, müssen Sie Ihre lokale Einstellungsdatei erstellen:
cp web/sites/default/example.settings.local.php web/sites/default/settings.local.php
Stellen Sie sicher, dass Sie Docker installiert haben, und führen Sie den folgenden Befehl aus (im selben Verzeichnis wie diese Readme -Datei):
docker compose up -d
Installieren Sie PHP -Abhängigkeiten, die Komponisten im Container ausführen:
docker compose exec drupal composer install
Besuchen Sie http: // localhost/um die Drupal -Installation zu sehen. Besuchen Sie http: // localhost: 8025/um mailhog zu sehen.
Sie können Drupal über den Installationsassistenten installieren. Wir möchten jedoch die Automatisierung für mehr Automatisierung verwenden:
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'
Irgendwann werde ich aufschreiben, wie man alles mit drosh, automatisiert macht.
Zur Zeit:
Jedes Mal, dass die Konfiguration geändert wird oder Module oder Drupal aktualisiert werden, sollten Sie die Konfiguration der Site mit dem Befehl exportieren:
docker compose exec drupal bash -c 'vendor/bin/drush config:export -y'
Drücken Sie dann Änderungen am Git -Repository vor, bevor Sie den neuesten Code für die Website bereitstellen.
docker compose exec drupal bash -c 'composer update' aus (um alles zu aktualisieren).docker compose exec drupal bash -c 'vendor/bin/drush updb -y'docker compose exec drupal bash -c 'vendor/bin/drush config:export -y' Sie können den benutzerdefinierten Code in diesem Projekt mit phpcs testen:
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'
Die Docker -Konfiguration für dieses Projekt ermöglicht einen MailHog -Container, der eine Web -Benutzeroberfläche unter http://127.0.0.1:8025 erhält.
Die php.ini -Datei für die lokale Umgebung ist automatisch so konfiguriert, dass sie mhsendmail die E -Mail von PHP über die MailHog -Instanz senden kann, wenn Sie Dockerfile dieses Projekts verwenden, um die Drupal -Umgebung zu erstellen.
Wenn Drupal eine E -Mail sendet, sollte sie in der Benutzeroberfläche von Mailhog sichtbar sein.