
هذه هي قاعدة Drupal Codebase التي تعمل على تشغيل Jeffgeerling.com.
تم بناء هذا المشروع وترحيل موقع Jeffgeerling.com من Drupal 7 إلى Drupal 8 على قناة Geerlingguy's YouTube ؛ يمكنك مشاهدة جميع الحلقات ومشاهدة ملخصات وموارد الحلقة هنا: ترحيل Jeffgeerling.com من Drupal 7 إلى Drupal 8 - سلسلة إرشادية.
قررت فتح قاعدة كود موقع الويب الخاص بي لمساعدة مستخدمي دروبال الآخرين على معرفة كيف قمت ببناء هذا الموقع والحفاظ عليه. إذا كنت تحب ما تراه أو تم مساعدته بأي شكل من الأشكال من خلال هذا المشروع ، فيرجى التفكير في دعمني عبر Patreon أو GitHub الرعاة أو رابط تابع آخر.
حاليًا عملية نشر عمليات النشر من كتاب اللعب في Midwestern Mac Infrastructure Playbook:
ansible-playbook playbook.yml --tags=deploy
ملاحظة : تأكد من أنك في الفرع
masterعند النشر!
يتضمن هذا المستودع Dockerfile.prod مخصص لبناء صورة جاهزة للإنتاج (مع وجود جميع الكود والأصول).
لبناء تلك الصورة:
docker build -f Dockerfile.prod -t geerlingguy/jeffgeerling-com:arm64 .
ثم يمكنك دفع الصورة إلى مستودع geerlingguy/jeffgeerling-com الرسمي على Docker Hub:
docker push geerlingguy/jeffgeerling-com:arm64
ملاحظة: تم تصميم الصورة تلقائيًا ودفعها إلى Docker Hub عبر إجراءات GitHub في كل مرة يتم فيها دفع التزام إلى الفرع
master.
في المرة الأولى التي تبدأ فيها باستخدام هذا المشروع ، تحتاج إلى إنشاء ملف الإعدادات المحلية:
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/لرؤية 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 .
يتم تلقائيًا تلقائيًا ، يتم تلقائيًا من ملف php.ini للبيئة المحلية لاستخدام mhsendmail لإرسال بريد إلكتروني PHP من خلال مثيل MailHog عند استخدام Dockerfile لهذا المشروع لبناء بيئة Drupal.
عندما يرسل Drupal بريدًا إلكترونيًا ، يجب أن يكون مرئيًا في واجهة مستخدم MailHog.