9

プロジェクトの構築と展開を自動的に行うための推奨事項を探しています。

現在の開発セットアップでは、ASP.NET、SVN、CCNET、および開発サーバー ビルド用の MSBuild スクリプトを使用しています。CCNET の代わりに Cruise に切り替えることを考えていましたが、まだ持っていない追加機能が得られるかどうかはわかりません。

自動化したいのは、自動化されたビルドが完了してから、ライブ サイトを新しい変更で更新するまでのプロセスです。サイトの更新には、ベース サイトの更新だけでなく、コードやデータベースの変更などのクライアントの更新も含まれるため、これらのシナリオを処理できるように、プロセスは十分に柔軟である必要があります。

これに対する私のインスピレーションの源の 1 つは、このビデオと、毎月の更新に費やした無限の時間から来ました。

4

3 に答える 3

4

小規模または個人的なプロジェクトの場合は、JetBrainsによる無料の(そして優れた)TeamCityのようなものを使用することをお勧めします。単体テストの自動化、継続的インテグレーション、およびビルド後に発生するルール(別の場所への移動を含む)。

規模なチームの場合、カスタムMSBuildタスクの形式でビルドの自動化が少し行われていることがわかりました。RoboCopyが最適です。環境間でビルドを手動でプロモートすることと、MSBuildとRoboCopyを使用してこのプロセスの一部を自動化することのこの優れた組み合わせにより、環境間でクリーンなブレークが作成されます(間違いがないことをプッシュするつもりはありませんでした)。また、宣伝する前にQAレビュービルドを作成することもできます。

2014年7月31日更新:

カスタムTFSビルドテンプレートを使用して成功しました。それらは少し複雑ですが、あなたはそれらを使ってかなりの数のクールなことをすることができます。

GitHubでホストされているオープンソースプロジェクト(NuGetライブラリなど)の場合、 AppVeyorに勝るものはないと思います。Mailchimp.NETのように、完全なビルドとNuGetのデプロイの自動化を備えたプロジェクトがいくつかあります。

于 2010-03-02T17:53:46.487 に答える
0

私は過去にNantを使用して、同様のタスクに多くの幸運をもたらしました。自動ビルドを使用して開始できます。(http://nant.sourceforge.net/

より包括的なものが必要な場合は、wix(http://wix.sourceforge.net/)をチェックしてください。

ライブサイトを更新したいので、自動ビルドが開始されることを本当に確信していますか?それとも、ccツールを使用してビルドを開始し、それがビルドを生成してライブにすることを意味しますか?

誰かが新しいバージョンのファイルをチェックインしたときに、ライブサイトを更新するのは嫌です。

データベースの更新は、おそらく最も困難な側面になります。ただし、databvaseの更新のためにチェックインされるのが変更スクリプトである限り、それは悪いことではありません。

于 2010-02-19T23:24:00.160 に答える
0

コードの変更を展開するための 2 つの主要な機能は、1. ファイルのコピーと 2. DB スクリプトの変更の実行です。MsBuild コミュニティ タスクの使用を検討すると、途中で役立つ便利なビルド タスクがたくさんあります。SqlExecute と RoboCopy は、使用する必要があるすべてのように思えます。これには、ビルド動作を拡張するためにプロジェクト ファイルを変更する必要がありますが、それが完了すると、実行中の手動部分を「スクリプト化」することができます。

于 2010-03-02T17:40:34.203 に答える