AegirとDrush makeを使用しながらサイトを開発する


7

「バージョン管理、drush_make、Aegirを使用したDrupalのデプロイとワークフロー」について、mig5.netからこの記事を読みました。ここで説明するワークフローの効率に感銘を受け、これを本当に実装したいと思っています。何度も読みましたが、はっきりしないことが1つあります。

Webサイトの開発中に、変更を次のビルドにどのように取り入れますか?追加のモジュールが必要だとわかったとき、(たとえばcontrib)モジュールがgitで制御されていないときに、次のビルドでこれをどのように入手できますか?モジュールやライブラリなどを追加するたびに.makeファイルを編集する必要がありますか?

前もって感謝します。

drush 

回答:


2

はい。短い答えは、Drush makeファイルを更新して、新しいプラットフォーム(ビルド)に含めたいモジュールの新しいバージョンを指すようにすることです。

drush makeファイルには、プラットフォームビルドに含める各モジュールのバージョンを含めます。たとえば、ビューは次のようになります。

projects[views][subdir] = "contrib"
projects[views][version] = "3.4"

新しいバージョンのViewsモジュールに更新したい場合は、makeファイルを次のように更新します。

projects[views][subdir] = "contrib"
projects[views][version] = "3.5"

次に、この更新されたdrush makeファイルを使用して、Aegirで新しいプラットフォームを構築します。次に、サイトを新しいプラットフォームに移行すると、Aegirが更新を行います。

これはかなり洗練されたワークフローです。私はすべてのDrushメイクファイルをビルドと呼ばれるリポジトリに保存しているので、プロジェクトの各ビルドの記録を取得できます。お役に立てば幸いです。


記事のビルドが「drupal-6.14_build_2009102601」と呼ばれるのはなぜですか?私がそうだとすれば、それはMig5のアプリケーションなので、それを 'mig5_build_2009102601'と呼ぶのはもっと論理的ではないでしょうか?このワークフローには、より多くのサイトを開発するときに、プラットフォームの膨大なリストを取得することも含まれますね

1
もちろん、Capistranoベースのビルドもそうです。スマートエンジニアは、サイトがなくなった古いプラットフォームの自動クリーンアップを実装します(Aegirでプラットフォームの削除を自動化できます)。そして、はい、プラットフォーム名は好きなように呼び出すことができます。最近では、名前がもっと残忍で、シリアル番号(例:2009102601)を使用しています。これは、アプリケーションがどのプラットフォームにあるかはそれほど重要ではないことがわかっているためです(それは常に変化するため、誰でも気にかけます)
mig5

わかりましたが、変更をロールバックする必要がある場合、どのプラットフォームに移行するのかわかりません。説明のエイリアス(日付ではなくサイト名)を付けなかったためです...

また、Auto Expireなどのモジュールを使用してプラットフォームを自動削除できますか?問題は、このモジュールが最新のリリース済みプラットフォームも削除する(試行する)ことです(サイトがしばらく変更されていない場合)。

1

ボブは私をそれに打ちのめしました:)しかし、これとあなたが私に送ったあなたの電子メールへの応答で、はい、確かにこれは正しい手順です。Drushメイクファイルをアプリケーションの「青写真」として扱います。

手動で開発に取り掛かる/ライブサイトのクローンを作成し、モジュールを手動で「drush up」または「drush dl」して、すべてが期待どおりに機能することをテストします。

次に、その新しいモジュール/更新バージョンをmakefileに組み込み、makefileが更新されるたびに新しいプラットフォームを構築し、「移行」タスクを使用してアプリケーションをターゲットプラットフォームに「アップグレード」します。

アップグレード中に問題が発生した場合(たとえば、移行中にデータベースにスキーマ更新を適用するために発生するdrush updatedb中に)、Aegirは、ほとんどの場合、以前のプラットフォームに自動的にロールバックします。これがこのようなシステムの魅力です。 。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.