6

A lot of people new to CI (Continuous Integration) install VS (Visual Studio) on their CI server "because it is required to compile the code". MSTest is a common reference brought up here.

Why should I not install VS (or generally speaking, any software not out-of-the-box) on my CI server?

(This question has not been asked before apparently, so I'm adding it for reference. If it already exists, sorry, I missed it, please merge. If no answer is provided to this question within some time I can add one myself)

4

2 に答える 2

8

する必要がないからです。Visual Studio のライセンスは非常に高価なので、誰も使用していないサーバーに置いておくだけでは無駄です。継続的インテグレーションに本格的な Visual Studio インスタンスをインストールする必要がある理由はいくつかあります。サーバー - しかし、ここに彼らの反論があります:

理由 1: コンパイルする必要があるため。
現実: いいえ、違います。コンパイルするにはMSBuildが必要ですが、これは Windows SDK で無料で入手できます。オペレーティング システムと .NET のバージョンごとにいくつかのバージョンがあるため、正しいバージョンをダウンロードするように注意してください。

理由 2: サーバーで迅速な修正を行うために必要です。
現実: いいえ、違います。サーバー上で迅速な修正を行うべきではありません。バージョン管理システムからチェックアウトし、修正を行い、動作するまでローカルでテストをビルドして実行し、チェックインして、残りは CI システムに任せる必要があります。それがCIシステムを持っている理由です。

理由 3: Visual Studio がないと、CI サーバーで MSTest を実行できません。
現実: 違う。私の知る限り、MSTest ランナーも SDK の一部です (少なくとも、ここの CI サーバーではそのように見えますが、現時点ではテストがないため確認できません...)。ただし、簡単なグーグル検索で、SDK を使用しない方法も説明しているこのブログ投稿が見つかりました。私はそれを詳細に読んでいないので、それが機能すること、または合法であることを約束することはできません. あなたは警告されました。

コメントに理由を自由に追加してください。私はそれらに反論します.

于 2010-07-21T09:53:29.923 に答える