継続的インテグレーションサーバー[終了]
-
02-07-2019 - |
質問
継続的インテグレーションサーバーの変更を検討しています(現在どのサーバーを使用しているのかは言いませんので、とにかくあなたの反応を歪めません:))最高のユーザーエクスペリエンス、維持する難易度など...
私たちのコードはすべてJavaであり、ビルドツールとしてANTを使用しています。
解決
最近 Hudson サーバーを実装しました。以前にCruise Controlを使用していたので、 Hudsonに非常に満足しており、セットアップと使用が簡単であることに非常に感銘を受けました。新しいプロジェクトの追加は、Cruise Controlを使用した場合よりもはるかに簡単です。
他のヒント
編集:現在、Hudsonを使用しています。
しばらく前、私はこれらの多くを次の要件で検討しました:
- Javaコード
- Antビルド
- Groovyビルド
- 分散ビルド
- SCMトリガー統合
- httpレポート
- smtpレポート
継続的統合機能マトリックスは開始するのに最適な場所です。
AnthillPro を選択して正常に使用していますが、私たちができることの表面をただひっかいて、それを使うことを望んでいます。
Jetbrains TeamCity を見ると、本当に良かったです。 Javaベースであるため、チームが簡単に拡張でき、分散ビルドなどを実行できます。評価できる無料版があります。
私もこれを調査してきましたが、最初はCruiseControlを見ていましたが、 について良いことを聞きました。ハドソン と試してみることにしました。開始するのがどれだけ簡単か(ダウンロードして実行するだけ)に完全に圧倒され、GUIを介して構成が行われるため、XML構成ファイルをいじることはありません。
数分以内に、最初のAntビルドを実行しました。現在、オフィスでもVPNでも24時間年中無休で利用可能なサーバー上でWindowsサービスとして実行しています。アップグレードは、新しいwarファイルをダウンロードして再起動するだけです。
junitレポートのサポートはすぐに使用できます。追加のプラグインのインストールも非常に簡単で、Trac、Cobertura、FindBugs、PMDのプラグインを追加しました。コードとテストの品質は、トレンドグラフの上昇を見るのに非常に満足しているため、向上しています!
現在、これを使用して、テスト環境および実稼働環境向けのすべてのビルドを管理しています。複数のWebアプリケーションを管理しているため、実際のプログラミングに費やす時間が増えます。私はそれなしでどうやって管理したかを正直に思い出せません。
他の人と同じように、本当に ハドソンが大好きです。
インストール(展開するための単なるwarファイル)、設定、使用は非常に簡単です。 さらに、他のシステムで常に利用できるわけではない多くの機能を提供します(ビルドマトリックス、マスターとスレーブ、サーバーまたはプロジェクトレベルのセキュリティ...)
既存のプラグインの数は現在非常に重要であり、独自のプラグインはそれほど難しくありません...
最後に、このアプリケーションは非常に高速に進化しています。現在257回目のリリースを行っており、1年で100件以上のリリースを行っています!
フランス人のために、Hudson こちらを使用するための完全なガイドを作成しました。
アトラシアンのスタッフソフトウェア(例:Jira、Cloverなど)を使用している場合、Bambooが最適です。
数か月間使用していますが、お勧めできます。お金の価値があります。
ハドソンで完全に販売されていない場合は、ワンクリックテストドライブで心が変わるはずです。
下をクリック:
https://hudson.dev.java.net/hudson.jnlp
これにより、テストドライブ用のJava Web Startを介してHudsonが起動します。起動したら、 http:// localhost:8080 / にアクセスしてダッシュボードにアクセスします。このHudsonで行った設定は〜/ .hudsonに保存されるため、データはHudsonプロセスの再起動後も存続します。
svnやant / mavenなどのかなり標準的なツールを使用している場合は、5分でビルドして実行できるはずです。さまざまなツールがあり、20分かかる場合があります!
こちらで紹介をご覧ください:
Bambooは素晴らしい作品です。あなたが現金を持っている場合、私はそれをお勧めします。 Cruise Controlはその価値があります。ソースの変更が行われ、ビルドされたことを確実に検出することも、手動でビルドすることもできませんでした。インターフェイスと設定は恐ろしく複雑です。
クルーズコントロールを使用します。必要な機能がすべて揃っており、設定は非常に簡単でした。 ANTとSVNの統合は問題ありません。
コン:ナイトリービルドのメッセージの送信を停止するため、プロセスまたはマシンを再起動する必要がある場合があります。それが何であるかは分かりませんが、それは単に迷惑です。
Javaの世界ではいつものように、オープンソースの世界と商用の世界があります。
すでに、さまざまな製品のかなり良い報道を見てきました。
Hudson:これほど簡単に評価できる他の単一のJavaサーバー製品は知りません。 java -jar hudson.war-それよりも簡単に取得できますか? Windowsで使用できるだけでなく、通常のすべてのJavaプラットフォームで使用できます。 Ant、Maven、およびその他の多くのビルドプラットフォームがサポートされています。
Hudsonの最大の特長は、プラグイン機能です。ほとんど継続的に開発されています。機能を要求すると、それが完了するのに時間がかかりません。
私は通常、ファンボーイのように聞こえるのは好きではありませんが、このapp / developer / communityは確かに印象的です。
BR、
〜A
継続的統合機能マトリックスに一言:CruiseControlの人々によって収集されたのではなく、開始されたDamageControlプロジェクトによるCodeHaus で、DamageControlが休止状態になったときにCruiseControl wikiに移動しました。情報は、主にプロジェクト/製品の所有者またはファンによって維持されています。
bamboo に満足しています。解決する前に、いくつかの無料のソリューションを検討しました。
Cruise Controlを使用したところ、まともな結果が得られました。その後、すべてのプロジェクトでビルドツールにMavenを使用し始めました。それに伴い、CIのハドソンへの移行が始まりました。 Mavenへの移行があなたの将来にあるかもしれないと思うなら、私はそれをお勧めします。 Hudsonを使用してAntタスクを呼び出すこともできますが、Mavenラッパーが正常に機能している可能性があります。
Thoughtworks クルーズは、 CruiseControl オープンソースプロジェクト。非常に見栄えがよく、多くの機能、分散ビルドなど。拡張性が何なのかわかりません。
私が実行している組織(openqa.org)は、ほぼすべての時点で使用されています。簡単なセットアップという点では、TeamCityまたはBambooを使用します。しかし、全体的な信頼性の観点から、ハドソンに注目することをお勧めします。私はJetBrainsが本当に ですが、しばらくするとTeamCityが奇妙な状態に陥り、ビルドの信頼性が非常に低くなることがわかりました。 IDEAが大好きなので、残念です!
Automated Build Studio を使用しており、非常に満足しています。これはWindowsアプリなので、Windowsビルドサーバーに縛られていますが、プラス面ではセットアップ、保守、使用が非常に簡単です。ポイントアンドクリックを使用してコンポーネントからプロセスを構築し、ニーズを満たすコンポーネントがなければスクリプトを使用できます。
私が使用した数少ない中で、 Buildbot は、最も強力で柔軟です。しかし、それがあなたにとって重要な場合、それは最もきれいではありません。
BambooとHudsonの両方を管理しましたが、Hudsonをお勧めします。
どちらも優れていますが、Hudsonではレポートのサポートが強化されています。たとえば、カバレッジレポートの公開などはHudson内で非常に簡単です。
これは近い将来変更される可能性がありますが、BambooのJIRAなどとの統合および統計情報にもかかわらず、使いやすさとサードパーティのサポートのためのHudsonは、金額に関係なく優れています(無料、Bambooではありません)。
ハドソンも使用します。不況でなければ、おそらくBambooとほとんどのアトラシアン製品(Bamboo、Crucible、Confluence)をJIRAとともに使用します。
継続的インテグレーションサーバーに Continuum を使用しています。前回の任務で使用した開発マネージャーを雇うつもりだったので、少なくとも私たちのうちの1人が経験したことを選ぶのは理にかなっているように思えました。
Continuumを選ぶ前に、私はジュニア開発者にCruiseControlを導入するために2週間を費やさせました。ただし、Continuum 1.0を最初に実行するようにしました。
Zutubi Pulse を使用しています。 antは非常に使いやすく、多くの高度な機能があります。
StarTeamを使用しており、HudsonとCruiseControl.NETの間では、CC.NETにはStarTeamとの統合時にいくつかのバグがあります。設定ファイルで定義したワークスペースを認識していないようです。
米国での会議の昨年、私は最初にCruise Control .netについて1時間のプレゼンテーションで聞いたことがあります。帰り道で会社に小さなPOCを実装することにしました。 5時間(私ができたすべての学習を含む)。
それを使用しているのは、結果と操作性に非常に満足していると言わなければならないからです。 いくつかの欠点があります(たとえば、複数のサーバーを監視することはできますが、サーバースケールにタスクが分散されていないなど) 私は実装の1つにバグを見つけましたが、それはオープンソースであるため、非常に迅速に修正できました(大きな利点)-コードプレックスに小さな[プロジェクト] [1]を作成して、修正に含める前に修正を含めるチェックインとしてのコミュニティ。 このプラットフォームをご覧になることを強くお勧めします。また、実際に必要なものを言うことができれば素晴らしいと思います。
[1]: http://www.codeplex.com/DavidovitzCCE プロジェクト
>Parabuild をご覧ください。無料のツールと比較して、セットアップは非常に簡単で、メンテナンスのオーバーヘッドはほぼゼロです。それは無料ではありませんが、あなたはあなたが支払うものを手に入れます。
ホストされたCIサービスを使用しないのであれば、メンテナンスやコストなどを心配する必要はありません。
MikeCIはホストされたCIサービスであり、Amazon EC2でビルドをホストし、月額わずか10ドルです。独自のCIサーバーを維持するよりもはるかに安価です。
試してみてください。
fazend.com で無料のホストCIサービスを検討してください。 ant
をサポートしています。
CruiseControl.NETは、元のJavaベースのボックスよりもWindowsボックスではるかに効果的です。特に、専用のビルドサーバーがまだ利用できない場合。
こちらもご覧ください
http://www.thoughtworks-studios.com/solutions/deployment-management リンクテキスト
ThoughtWorks Deployment Management Solutionは、Twist(アジャイルテスト)の機能とGo(リリース管理)を組み合わせています。
- Twistは、
ビジネスユーザーから直接テスト
そして、自動化をサポートします とともに進化する長期テスト 応用。 -
Goは開発と
IT運用チームモデルリリース
ソフトウェアの処理と展開
繰り返し確実に。