
Это кодовая база Drupal, которая поддерживает Jeffgeerling.com.
Строительство этого проекта и миграция Jeffgeerling.com от Drupal 7 в Drupal 8 были вживую на канале YouTube Geerlingguy; Вы можете посмотреть все эпизоды и увидеть резюме и ресурсы эпизодов здесь: мигрирование Jeffgeerling.com от Drupal 7 в Drupal 8 - видео -сериал.
Я решил открыть кодовую базу моего сайта, чтобы помочь другим пользователям Drupal увидеть, как я создал и поддерживал этот сайт. Если вам нравится то, что вы видите или вам каким -либо образом помогли в этом проекте, пожалуйста, рассмотрите возможность поддержать меня через Patreon, спонсоров Github или другую партнерскую ссылку.
В настоящее время процесс развертывания пробежек из Playbook Infrastructure Mac Mac Mac Mac Mac:
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.