
이것은 jeffgeerling.com에 전원을 공급하는 Drupal Codebase입니다.
이 프로젝트의 구축과 Drupal 7에서 Drupal 8으로 jeffgeerling.com의 마이그레이션은 Geerlingguy의 YouTube 채널에서 라이브 스트리밍되었습니다. 모든 에피소드를보고 에피소드 요약 및 리소스를 참조하십시오. Jeffgeerling.com 마이그레이션 Jeffgeerling.com에서 Drupal 7에서 Drupal 8 - How -to Video Series.
나는 다른 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
Drupal 설치를 보려면 http : // localhost/를 방문하십시오. Mailhog를 보려면 http : // localhost : 8025/를 방문하십시오.
설치 마법사를 사용하여 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 구성은 http://127.0.0.1:8025 8025에 웹 UI를 사용할 수있는 Mailhog 컨테이너를 가능하게합니다.
로컬 환경의 php.ini 파일은이 프로젝트의 Dockerfile 사용하여 Drupal 환경을 구축 할 때 Mailhog 인스턴스를 통해 mhsendmail 사용하여 자동으로 구성됩니다.
Drupal이 이메일을 보내면 Mailhog의 UI에서 볼 수 있어야합니다.