
Ini adalah basis kode Drupal yang mendukung jeffgeerling.com.
Bangunan proyek ini dan migrasi Jeffgeerling.com dari Drupal 7 ke Drupal 8 telah ditrihatkan secara langsung di saluran YouTube Geerlingguy; Anda dapat menonton semua episode dan melihat ringkasan episode dan sumber daya di sini: Migrasi jeffgeerling.com dari Drupal 7 ke Drupal 8 - Seri Video How -To.
Saya memutuskan untuk bersumber dari basis kode situs web saya untuk membantu pengguna Drupal lainnya melihat bagaimana saya membangun dan memelihara situs ini. Jika Anda menyukai apa yang Anda lihat atau telah dibantu dengan cara apa pun dengan proyek ini, silakan pertimbangkan untuk mendukung saya melalui Patreon, sponsor GitHub, atau tautan afiliasi lainnya.
Saat ini proses untuk menyebarkan berjalan dari Playbook Infrastruktur Mac Midwestern:
ansible-playbook playbook.yml --tags=deploy
Catatan : Pastikan Anda berada di cabang
mastersaat digunakan!
Repositori ini mencakup Dockerfile.prod yang dimaksudkan untuk membangun gambar yang siap-produksi (dengan semua kode dan aset termasuk).
Untuk membangun gambar itu:
docker build -f Dockerfile.prod -t geerlingguy/jeffgeerling-com:arm64 .
Kemudian Anda dapat mendorong gambar ke repositori resmi geerlingguy/jeffgeerling-com di Docker Hub:
docker push geerlingguy/jeffgeerling-com:arm64
Catatan: Gambar dibangun secara otomatis dan didorong ke Hub Docker melalui tindakan GitHub setiap kali komit didorong ke cabang
master.
Pertama kali Anda mulai menggunakan proyek ini, Anda perlu membuat file pengaturan lokal Anda:
cp web/sites/default/example.settings.local.php web/sites/default/settings.local.php
Pastikan Anda telah menginstal Docker, lalu jalankan perintah berikut (di direktori yang sama dengan file readme ini):
docker compose up -d
Pasang dependensi PHP yang menjalankan komposer di dalam wadah:
docker compose exec drupal composer install
Kunjungi http: // localhost/untuk melihat instalasi Drupal. Kunjungi http: // localhost: 8025/untuk melihat Mailhog.
Anda dapat menginstal Drupal menggunakan instal Wizard, tetapi kami ingin menggunakan drush untuk lebih banyak otomatisasi:
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'
Pada titik tertentu, saya akan menulis bagaimana melakukan semuanya dengan drush, otomatis.
Untuk saat ini:
Konfigurasi kapan saja diubah atau modul atau drupal apa pun ditingkatkan, Anda harus mengekspor konfigurasi situs menggunakan perintah:
docker compose exec drupal bash -c 'vendor/bin/drush config:export -y'
Dan kemudian dorong setiap perubahan ke repositori Git sebelum menggunakan kode terbaru ke situs.
docker compose exec drupal bash -c 'composer update' (untuk memperbarui semuanya).docker compose exec drupal bash -c 'vendor/bin/drush updb -y'docker compose exec drupal bash -c 'vendor/bin/drush config:export -y' Anda dapat menguji kode khusus dalam proyek ini menggunakan 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'
Konfigurasi Docker untuk proyek ini memungkinkan wadah Mailhog, yang memiliki UI Web yang tersedia di http://127.0.0.1:8025 .
File php.ini untuk lingkungan lokal secara otomatis dikonfigurasi untuk menggunakan mhsendmail untuk mengirim email PHP melalui instance Mailhog ketika Anda menggunakan Dockerfile proyek ini untuk membangun lingkungan Drupal.
Ketika Drupal mengirim email, itu harus terlihat di UI Mailhog.