지속적인 통합을 위해 drush와 jenkins는 어떻게 함께 사용됩니까?


30

나는 "지속적인 통합", "드 러쉬"및 "젠킨스"라는 단어가 자주 들립니다. 따라서 내 관심을 불러 일으켰다.

지속적인 통합을 위해 drush와 jenkins는 어떻게 함께 사용됩니까?

또한 왜 drush와 jenkins를 함께 사용하고 싶습니까?

답변:


20

내 프로젝트의 경우 Jenkins 작업에서 Drush 명령으로 작성된 빌드 스크립트를 사용합니다. Phing Drush Task 프로젝트를 사용 하여 Phing 빌드 스크립트 에서 Drush를 실행 합니다. 이를 통해 기존 Phing 작업 (예 : 파일 복사, phplint 등)을 활용할 수 있습니다. Drush의 도움으로이 빌드 스크립트

  • Drush Make to를 사용하여 모든 비 사용자 정의 코드 (예 : Drupal 코어 및 contribs 모듈 및 테마)를 다운로드 합니다../dist
  • 플레이스 홀더를 버전이 지정된 settings.php(즉 ${db_host}, 실제 DB 호스트 이름으로 대체) 확장 하여 새로 다운로드 한 ./dist/sites/default폴더에 복사 합니다.
  • 복사 사용자 정의 모듈에 테마 ./dist/sites/all/modules/custom./dist/sites/all/themes/custom
  • phplint내 사용자 정의 모듈 및 테마의 모든 파일에 대해 실행하십시오 .
  • 모든 것을 ./dist사전 구성된 웹 루트로 복사하십시오 .
  • 빌드 코드 기반을 사용하여 새 사이트를 실행 drush site-install testing하고 drush pm-enable simpletest설치하고 SimpleTest를 실행할 수 있습니다.
  • drush test-run사용자 정의 모듈 테스트 스위트를 실행 하려면 실행 하십시오 .
  • 를 실행하십시오 drush coder-review.

다음은 Jenkins의 Drush 사용법에 대한 주석이 달린 build.xml 템플릿 입니다.


CI 환경이 PHP 서버와 동일한 컴퓨터에 있다는 것을 의미합니까? 사이트 / 모든 / 모듈 / 사용자 정의 (예 :)에서 자신의 소스를 복사하는 방법을 이해하지 못합니다. 아마도 작업이 어떻게 진행되는지 알지 못하기 때문일 것입니다 ...하지만 CI 플레이트에서 PHP로 scp / ftp 작업에 해당하는 곳은 없습니다.
Jean-Rémy Revy

1
예, 테스트 사이트를 제공하는 CI 서버와 웹 서버는 동일한 시스템에 있습니다. 물론 CI 작업 영역에서 웹 서버 호스트로 파일을 복사 할 수도 있습니다. 이를 위해 Drush의 rsync 명령을 사용할 수 있습니다. 그런 다음 웹 서버를 호스팅하는 컴퓨터에서 Drush를 사용하여 명령을 실행할 수 있습니다.
Pierre Buyle

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.