우리 회사에서는 많은 Drupal 사이트를 관리하고 있습니다. 현재 설정은 다음과 같습니다.
- 모든 사이트의 코드베이스에는 자체 git repo가 있습니다.
- 다음 릴리스를 위해 충분히 안정적이지 않을 새로운 기능은 git에서 자체 기능 분기를 얻습니다.
위의 내용은 대부분의 Drupal 사이트에서 일반적입니다.
우리 회사에서 특별하게하는 것은 사용자 정의 drush 명령 인 ' Drush Debian Packaging '을 사용하여 배포 할 사이트를 데비안 패키지하는 것 입니다.
Drush Debian Packaging은 Drupal 사이트를 Debian 또는 Ubuntu 서버에 배포하는 수단으로 Drupal 사이트의 Debian 패키지를 빌드하기위한 Drush 명령을 제공합니다.
Drush Debian Packaging은 Drupal 후크 시스템을 사용하여 사이트 요구에 가장 적합한 Debian 패키지를 구축합니다. 특징은 다음과 같습니다.
- Apache2 및 Nginx 웹 서버에 대한 자동 가상 호스트 구성
- /etc/cron.d의 Cron 설정
- 사이트 / 기본 / 파일에 대한 파티션 분할을 통한 자동화 된 코드 배포
- dpkg debconf 설정 도구를 통한 자동화 된 구성
- 자동화 된 배포 프로세스
- Git에서 패키지를 빌드하기위한 커스텀 Git VCS 핸들러
이것은 무엇을 의미 하는가?
릴리스를 빌드하려면 다음을 수행하십시오.
cd /path/to/drupal-root
drush dh-make
릴리스를 배포하려면 먼저 클러스터의 모든 웹 서버에 .deb를 SCP로 만듭니다. 그런 다음 모든 웹 서버에서 실행하십시오 (linux 패키지 cssh 를 사용 하여 동시에 팜의 모든 서버에 명령을 입력 할 수 있습니다 ).
sudo dpkg -i drupal-site-yoursitehere.2011.05.25-1.all.deb
하나의 웹 서버에서 다음을 실행하십시오.
cd /path/to/drupal-root
sudo -u drupal-site-yoursitehere drush updb && drush fra -y && drush cron
끝난
물론 롤백하는 것은 이제 코드베이스 관점에서 사소한 것입니다. 모든 웹 서버에 이전 버전의 .deb를 설치하고 데이터베이스를 롤백하면됩니다.
이것에 대한 질문에 답변 해 드리겠습니다