問題タブ [continuous-integration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
continuous-integration - Nant との継続的統合
初めて継続的インテグレーションを使用する準備をしています。自動化されたビルドおよびテスト タスクに Nant を使用し、リポジトリをポーリングして Nant スクリプトを実行するための適切な CI ツールを見つけようとしています。
私はこれまで大まかに次のことを調査してきました。
- ハドソン
- クルーズコントロール
- ドラコ
これまでの私の感覚では、ほとんどの作業は Nant によって行われるので、Draco はインストール/セットアップが簡単であるはずなので問題ありません。一方、Cruise Control と Hudson は、より優れたレポート オプションを提供する可能性があります。
ビルドおよびテスト タスクに Nant を使用する場合、継続的インテグレーションを実行する最良の方法は何ですか?
ant - TeamCity からアーティファクトをプルするにはどうすればよいですか?
teamcity からアーティファクトを取得したいと思います。
私は c# と HtmlAgilityPack を使用して Web サイトにアクセスし、最新バージョンとその成果物を見つけようとしています。私は現在、ログインで立ち往生しています。セッション Cookie を送信する必要があると思います。
私は正しい方向に進んでいますか、他の誰かがこれを試しましたか?
ビルド スクリプトを使用してファイルをプッシュするのは簡単ですが、これを 100 個のアプリにスケーリングすることを検討しているため、Ant、NAnt ファイルへの変更を最小限に抑えたいと考えています。
編集:この質問は有望に見えます ログインの背後にあるページから HTML を取得する
編集:これは今すぐ機能します。解析するコードを書くだけです
continuous-integration - 継続的統合のためのCruiseControl [.Net]とTeamCityの比較?
実際の経験に基づいて、どの自動ビルド環境が優れていると考えるかをお聞きしたいと思います。.Net と Java の開発を計画しているので、これらの両方のプラットフォームをサポートするツールが必要です。
私はいろいろ読んで、スタックオーバーフロー開発で使用されるCruiseControl.NETと、さまざまな OS プラットフォームでさまざまなプログラミング言語に基づくビルドエージェントをサポートするTeamCity について知りました。では、これらの両方について実際の経験がある場合、どちらを好みますか?またその理由は何ですか?
現在、私はツールの使いやすさと管理のしやすさに主に関心を持っていますが、CC がオープン ソースであり、実行するプロジェクトが多数ある場合に TC がライセンスの対象となるという事実にはあまり関心がありません (なぜなら、私は少量のプロジェクトで必要です)。
また、上記を満たす他のツールがあり、それを推奨する価値があると思われる場合は、遠慮なく議論に含めてください。
maven-2 - Eclipse RCP プロジェクトのビルド自動化と継続的統合に maven2 を使用しますか?
私の会社は来週、新しいプロジェクトを開始します。eclipse rcp を使用してアプリケーションを開発する予定です。ビルド プロセスは完全に自動化する必要があるため、継続的な統合環境 (Continuum など) をセットアップする準備ができています。build-automation-part では、依存関係管理を使用したいので、maven2 を使用するつもりでした。
私は小さな古いスタイルのJavaプロジェクトにmaven2を使用しましたが、Eclipse rcpで使用するためにmavenをセットアップしたことはありません.
これを行う最善の方法は何ですか?基本概念?よくある罠?そこにチュートリアルや本はありますか?私が見つけたチュートリアルと情報は、時代遅れまたは不完全に見えました。
PS: メイン プロジェクトは、サブ プロジェクト (プラグイン) に分割されます。しかし、これは eclipse rcp プロジェクトの典型だと思います。
continuous-integration - スクラム/アジャイル:内部改善をどのように計画しますか?
私は過去2年間、アジャイル/スクラムアプローチを使用する2つの異なるチームで作業してきましたが、どちらのチームもソフトウェア開発へのアプローチ方法を改善することに熱心でした。最初のチームでは、ビルドシステムの改善、より良い統合テストの設定、より良いリリース戦略の設定など、社内の作業に時間を割くようにプロダクトオーナーを簡単に説得できました。現在、POも喜んで時間を与えてくれますが、彼はもっと押し返しています、それは彼も彼のことを成し遂げなければならないので合理的です。
とにかく私の質問は今です、他のチームはこれをどのように処理しますか?改善ストーリーを作成し、計画中にそれをテーブルに置きますか、それともそのようなことのために時間の「バケツ」を保持しますか?改善のための時間を確保するように製品所有者を説得することは、あなたの経験ではどれほど難しいですか?結局のところ、これらの種類の改善はチームに利益をもたらしますが、直接またはすぐに製品の所有者/ビジネスに利益をもたらすことはありません。
iphone - Xcode プロジェクトの継続的統合?
以前のプロジェクトとの継続的インテグレーションに Hudson を使用した後、現在取り組んでいる iPhone プロジェクト用の継続的インテグレーション サーバーをセットアップしたいと考えています。いくつかの調査を行った結果、Xcode 専用に設計された CI エンジンはないようですが、Cruise Control を xcodebuild CLI ツールと組み合わせて使用することに成功した人がいます。ここで誰かがこれを試しましたか?Xcode プロジェクトでうまく動作する CI エンジンはありますか?
クルーズコントロールを試してみようと思います。調査結果とともに回答を投稿します。
version-control - 継続的インテグレーションの使用に反対する意見は何ですか?
それを使用する正当な理由はたくさん考えられます。ただし、それの欠点は何ですか?
(別のサーバーを購入することは別として)
代わりにデイリー ビルドを使用する利点は何ですか?
deployment - 開発コードと製品コードをどのように維持していますか?
コードを維持する際に従うべきベスト プラクティスと経験則は何ですか? 開発ブランチに本番用の準備が整ったコードのみを配置することは良い習慣ですか、それともテストされていない最新のコードを開発ブランチで利用できるようにする必要がありますか?
開発コードと本番コードをどのように維持していますか?
編集 - 補足質問 - あなたの開発チームは、「可能な限りすぐにコミットし、コードにマイナーなバグが含まれているか不完全である場合でも」プロトコルまたは「コミット-コードを DEVELOPMENT ブランチにコミットする際に、ONLY-perfect-code" プロトコルを実行しますか?
continuous-integration - NAnt と DB 統合テスト、そして最終的には継続的統合
いくつかの Nant ビルド スクリプト内で統合テストを実行するためのさまざまな戦略を検討してきました。通常、多くの異なるスクリプトが、個別のターゲットを持つ 1 つのモノリシック ビルドにチェーンされます。ステージング (ビルドのようにステージング バージョンをビルドする)、ビルド (ビルドするだけ)、統合 (ビルドして統合テストを実行する)。これはかなりうまく機能し、ビルド ターゲットは統合ターゲットとして実行するのに約 3 分の 1 の時間を要します。
一方、統合ターゲットには時間がかかるため、あまり頻繁に実行したくありません。理想的には、デプロイの準備が整う直前です。これは合理的な戦略のように思えますか? IOW、私はそれを正しくやっていますか?
最終的にこのプロジェクトを継続的インテグレーションに移行する計画です。私は継続的インテグレーション全体に慣れていませんが、「ビルドを壊す」という概念を理解していると思うので、それを最大限に活用するために、どのような良い実践をすればよいのでしょうか?
このテーマに関する優れた情報源も評価されます。ありがとう!
version-control - MSBuild -- .csproj ファイルを使用するか、自分で作成しますか?
わかりました。継続的インテグレーションに関しては、私が初心者であることをすぐに認めます。
そうは言っても、自分自身を教育するために CC.NET 環境をセットアップしようとしていますが、自動ビルド部分をセットアップするために必要な情報を見つけるのに苦労しています。
私が理解しているように、C# では、VS 2005 以降で生成された .csproj ファイルは有効な MSBuild ファイルです。つまり、.csproj ファイルを使用して MSBuild タスクを CC.NET に統合できましたが、これにはいくつかの問題があります。
- ここでは、自動化されたビルド環境で本当に必要かどうかわからないことがたくさんあります。
- 私はこのファイルを作成しませんでした。私はそれを理解していません、そしてそれは私を怖がらせます。(偶然によるプログラミング)
- 起こっていることのほとんどは、
$(MSBuildToolsPath)\Microsoft.CSharp.targets
- 1、2、および 3 の結果として、MbUnit のようなものを含めるようにファイルを変更することは、複雑で必要以上に困難に思えます。私の唯一の現実的なオプションは、それを
AfterBuild
セクションに含めることです。これは、私にとってハックのように思えます。
そこで、CC.NET 関係者、MSBuild 関係者、および MbUnit 関係者にいくつか質問します。
- MSBuild を使用する場合、VS で生成された .csproj ファイルをビルド ファイルとして使用することをお勧めしますか? それとも自分で作成する必要がありますか?
- MbUnit テストは、MSBuild ファイルまたは CC.NET ファイルの一部にする必要がありますか? 私の調査によると、それらは MSBuild ファイルに属しているようです。その場合、新しい MSBuild .proj ファイルを作成し、.csproj ファイルに加えて CVS にチェックインしますか? または、MbUnit タスクは .csproj ファイルの一部になりますか?
- 質問 2 と同様です。MbUnit テストを MSBuild ファイルに追加し、.csproj ファイルを使用することになった場合、
Target Name="AfterBuild"
その情報を追加するセクションは本当に必要ですか? セクションがあってはいけませんTarget Name="Test"
か?VS で生成された .csproj ファイルを使用すると、2 番目のオプションが妨げられるようです。
そこにたくさんあることは知っていますが、オンラインで見つけることができたもののほとんどは、私が持っていないこれらのトピックにある程度精通していることを前提としています.曲線ではなく、ステップ関数です。:)
編集 1: テキストを更新して、もう少し簡潔にし、回答に関するいくつかの長引く質問に対処しました。