DrushとJenkinsは継続的な統合のためにどのように使用されますか?
質問
「連続統合」、「Drush」、「Jenkins」という話題が頻繁に聞こえます。したがって、私の興味を引き起こします。
DrushとJenkinsは継続的な統合のためにどのように使用されますか?
また、なぜドラッシュとジェンキンスを一緒に使用したいのですか?
解決
私のプロジェクトでは、Jenkinsの仕事でDrushコマンドで作られたビルドスクリプトを使用しています。私は自分を使っています Phing Drushタスク aからdrushを実行するプロジェクト ファン スクリプトを作成します。これにより、既存のPhingタスク(例:ファイルのコピー、Phplintなど)を活用できます。 Drushの助けを借りて、このビルドスクリプト
- すべての非カスタムコード(つまり、Drupal CoreおよびContribsモジュールとテーマ)をダウンロードします Drush Make に
./dist
- バージョンでプレースホルダーを拡張します
settings.php
(つまり、交換します${db_host}
実際のdbホスト名で)ダウンロードした新鮮なものにコピーしながら./dist/sites/default
フォルダ。 - カスタムモジュールとテーマをコピーします
./dist/sites/all/modules/custom
と./dist/sites/all/themes/custom
- 走る
phplint
カスタムモジュールとテーマからのすべてのファイルについて。 - すべてを下にコピーします
./dist
事前に構成されたWebrootに。 - 走る
drush site-install testing
とdrush pm-enable simpletest
ビルドコードベースを使用して新鮮なサイトをインストールし、SimpleTestを実行できるようにします。 - 走る
drush test-run
カスタムモジュールテストスイートを実行します。 - 走る
drush coder-review
.
これがコメントされています build.xmlテンプレート JenkinsでのDrushの使用。
他のヒント
JenkinsでPhingを使用できるので、Drushを使用することができます http://drupal.org/project/phingdrushtask (se.comのPierreBuyle)
カスタム例:
<drush command='cc' root="${project.drupal.core.dir}" uri="${env.host.name}" assume="yes">
<param>all</param>
</drush>
所属していません drupal.stackexchange