2009-12-11 10 views
11

Google App Engineで実行される継続的統合ツールはありますか?AppUngineで継続的インテグレーションツールを実行

+1

どのプラットフォーム、Java、またはPythonですか?あなたは、あなたのアプリケーションエンジンプロジェクトを継続的にテストするために使用できるツールを探していますか、アプリエンジンで実行されるCIツールを探していますか?何か他のものをテストするために使用できますか? –

+1

私はこの質問を「アプリケーションエンジンで動作するCIツール」と理解していますか?これがあなたが探しているものなら、私の経験ではEC2がそれに適しています。 –

+0

@Pascalあなたの助言に感謝します。私は自由に滞在したいと考えていました。小規模なプロジェクトではEC2のコストを検討します。 –

答えて

3

私はそうは思わない。 Google App Engineのセキュリティ保護されたサンドボックス環境は、私が知っているすべてのCIエンジンの要件と互換性がないように見えます(ファイルシステムへの書き込みは、チェックアウトソース、コンパイル、テスト中のログ、 、など)。

私がコメントしたように、Amazon EC2 で、CIエンジンを実行するのに適しています。この目的のために多くの企業が使用しています。あなたは本当にこの方向を見るべきです。

2

アプリエンジンのアプリは、最終的にはPythonコードまたはJavaコードです。お気に入りのCIツールを使用してアプリケーションを構築し、単体テストを実行し、開発サーバーを使用してローカルのいずれかのテストサーバーに、または本当にしたい場合はクラウドに展開できます。ために?

EDIT:アプリエンジンで実行されるCIについての質問ですが、のアプリエンジンのCI ではなく、私の答えはほとんど役に立たないです。

+0

私はどのように質問をより具体化できるか分かりません。 Google App Engineで動作するCIです。 IE something-ci.appspot.com私にハドソンか何かを教えてください。 Google App Engineには、ファイルシステムに書き込むことができないなどの非常に固有の定数があります。そのため、ハドソンは明らかにJavaコードであってもアプリケーションエンジンでは実行できません。 –

+0

gotcha。私の答えは役に立たない。 –

0

アプリエンジンで直接これは可能ではないと思います。 AppEngineがどのように機能するかについての私の理解(かなり限定されています)は、これを達成するために一緒に働く一連のサービスを持つことが可能であることを示しています。基本的には、ストレージシステムのプロキシであるサービスと、ビルドサービスのプロキシであるサービス(どちらもAppEngineにはない)が必要です。 AppEngineは、関連するコピーを実行してこれらのサービスを監視し、メタファを構築することができます。

ビルドされているものがアプリケーション内にあれば、それを自動的に展開してAppEngineサービスを使用して接続し、テストすることができます。

私はローカルCIインスタンスを持つよりも効果的だとは思っていません。少なくとも短期間ではセットアップやメンテナンスがより複雑になります。

また、私の現在のAppEngineの理解は、私がGoogle Waveや他の小さなプロジェクトで使っていたものに限られています。

1

はい、新しいクライアントを新しいバージョンに送信するために、[現在実験中の]トラフィック分割機能 をcookieオプションとともに使用できます。

https://developers.google.com/appengine/docs/adminconsole/trafficsplitting

バージョンにアクセスするために、すべての新しいクライアントをしたいとき だけの短期を設定し、要求フィルターを持って、 、それをテスト、ステージングにあなたの新しいバージョンを展開し、場所にあなたの現在のバージョンのままにし、すべての新しいクライアントに対してリダイレクトされたリダイレクトCookieが存在します。

設定する前にこのクッキーをチェックすると、 既存のクライアントにはすべて古いバージョンが表示され、新しいクライアントにはすべて新しいバージョンが適用されます。

最新のCookie値をmemcached-backed-by-ds {有効期限を使用してください!}に保存すると、1つのリクエストフィルタで継続的な統合を実装できます。データストアのシングルトンを新しいトラフィック分割クッキーに設定するだけでよいのです。

+0

また、git pushを使用してデプロイメントをトリガーできるようになったので、Appengine環境でCIを実行することがこれまで以上に簡単になりました!!私は、新しいコンピューティングエンジンリリースでは、新しいバージョンを導入する前に自動的にあなたのmavenテストを実行すると信じています。/win/https://cloud.google.com/tools/repo/push-to-deploy – Ajax

3

最近、Cloudbeesはこのfonctionnalityを持参:

Google App Engineのユーザーが今appengine.cloudbees.comにサインアップすることにより、クラウドでジェンキンス継続的インテグレーションを実行することができます。 Jenkinsはプロジェクトのソースコードを監視して変更を行い、必要なビルドとテストを実行し、問題があればチームに通知するか、すべてがうまくいくとアプリケーションをGoogle App Engineに自動的にデプロイします。

関連する問題