いくつかのリクエストにより、継続的インテグレーションのセットアップに関する前回の記事の非常に短い絞り込みを公開していますが、「C#のチェックリストとしても」です。 同時に、トラビスにいくつかの選択肢を追加しました。
読書は3分以内で完了します。興味のある人には猫の下でお願いします。
.NET Core SDKをインストールします 。 新しいリポジトリとプロジェクトを作成します。
dotnet new sln --name CIDemo dotnet new web --name web dotnet sln CIDemo.sln add web/web.csproj
.travis.ymlファイルをプロジェクトのルートフォルダーに追加します。
language: csharp dotnet: 2.1.4 sudo: false env: global: - DOTNET_CLI_TELEMETRY_OPTOUT: 1 script: - dotnet build CIDemo.sln -c Release
.travis.yml-Travisサービスファイル。環境設定、変数、およびコマンドが含まれています。 ドキュメントはこちら
Travisにログインし、リポジトリへのアクセスを許可します。 サーバーに変更を注ぎます。
良いビルド:
そして、ローカルですべてが私のために働く 良くないビルド:
テストプロジェクトを追加する
dotnet new xunit --name test dotnet add test/test.csproj package coverlet.msbuild -v 1.2.0 dotnet sln CIDemo.sln add test/test.csproj
xunitはテスト用のフレームワークであり、 coverlet.msbuildはコードカバレッジレポートを生成するためのツールです
クラスを追加して、そのためのテストを作成します。
`` `c#
システムを使用して;
名前空間ウェブ
{
パブリッククラスIdProvider
{
パブリックGuid NewId()
{
return Guid.NewGuid();
}
}
}
```c# using web; using Xunit; namespace test { public class IdProviderTest { [Fact] public void NewIdShouldReturnUniqueValues() { var idProvider = new IdProvider(); var id1 = idProvider.NewId(); var id2 = idProvider.NewId(); Assert.NotEqual(id1, id2); } } }
スクリプトセクションにコマンドを追加してテストを実行します
- dotnet test -c Release --no-build test/test.csproj /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
最小コードカバレッジレベルは、/ pフラグを使用して設定されます。しきい値= TRESHOLD_LVL
.travis.ymlに新しいセクションを追加します
after_script: - bash <(curl -s https://codecov.io/bash)
チームはテスト結果をcodecovに送信します。 ドキュメントはこちらです。
にログイン https://codecov.ioにアクセスして、リポジトリへのアクセスを許可します。
codecovの結果:
すべて、CIが構成されています。
.travis.ymlの最終バージョン
language: csharp dotnet: 2.1.4 sudo: false env: global: - DOTNET_CLI_TELEMETRY_OPTOUT: 1 script: - dotnet build CIDemo.sln -c Release - dotnet test -c Release --no-build test/test.csproj /p:CollectCoverage=true /p:CoverletOutputFormat=opencover after_script: - bash <(curl -s https://codecov.io/bash)
アナログトラビス
- コードシップ (オープンソースでは無料)
- Circleci (無料1,500ビルド分-+-300ビルドの場合)
- Buddy (120ビルドは無料ですが、テクニカルサポートに書き込む場合はOpenSourceの増加を約束します)
- AppVeyor -OpenSourceには無料-チップをありがとう、 pankraty 。
Codecovの代わりに、テストを使用してテストを操作できます。 https://coveralls.io/ オープンソースプロジェクトでも無料です。
便利なリンク
CIのその他の代替ソリューションおよび無料ソリューションを知っている場合は、記事に追加します。
どうもありがとう。 私はそれが簡潔に、そして要点まで判明したことを望みます。