開発中のWebサイト用にCIサーバーをセットアップしようとしていますが、新しいASP.NET5でそれを行う方法に関する情報が見つかりません。
私たち(ASP.NETチーム)は、ビルドサーバーとしてTeamCityを使用します。各リポジトリには、 これ と同様のbuild.cmd
ファイルがあります。 TeamCityは単にそのファイルを呼び出します。
Mac/Linuxビルドの場合、build.sh
ファイルがあります。
私はあなたに兄弟を手に入れました。これを理解するのに数日かかりました。この構成は、ASP.NET Core 1.0 RC2/preview2プロジェクトのTeamCityv10にあります。ボーナスとして、OctopusDeployにプッシュするステップを含めています。 dotnetteamcityプラグインとプッシュ機能を備えた最新のOctopusDeployプラグインをインストールする必要があります。ビルド手順の概要は次のとおりです。
まず、dotnet restore
を使用してパッケージを復元しようとしないでください。 .NetCoreとしてコンパイルされていない内部nugetパッケージがある場合は機能しません。これを理解するのに永遠にかかりました。人々がすべてを.NetCoreに変換するか、Microsoftがdotnet.exeをより柔軟に修正するまで、dotnet restore
を使用しようとすることは無視します。
私が読んだもののいくつかは、NuGetの最新のベータバージョンである3.5を使用すると言っていました。これを試してみると、次のエラーが発生します。
[14:30:09] [復元] D:\ buildAgent\tools\NuGet.CommandLine.3.5.0-rc1\tools\NuGet.exeからNuGet.exe3.5.0.1737を起動しています
[14:30:10] [復元]アセンブリ 'NuGet、バージョン= 3.5.0.1737、カルチャ=ニュートラル、PublicKeyToken = 31bf3856ad364e35'からタイプ 'NuGet.CommandAttribute'を読み込めませんでした。
それが何を意味するのかわかりませんし、気にしません。今のところ3.4.4を使用してください。必要に応じて残りを記入してください。
dotnet publish
の手順は非常に簡単です。最後のステップで使用するため、必ず出力ディレクトリを指定してください。また、 このバグ のため、必ず%teamcity.build.workingDir%
変数を使用して絶対パスを指定してください。そうしないと、web.config
ファイルが見つからず、サイト全体の公開が完了しません。 web.configやwwwrootのようなものが欠けているでしょう!
最後に、タコにプッシュします。これは私にとって非常にトリッキーでした。 %teamcity.build.workingDir%/published-app/**/* => OrderReviewBoard.1.0.0.Zip
と書かれている部分に注意してください
これのいずれかの部分が無効な場合IS無効、あなたのステップはそれ自体を説明せずに失敗します!!!無効とは、つまりおそらく、適切に解決されないZip名にteamcity環境変数(すべての例に示されている%build.number%
など)を配置するか、存在しないパスを指定するか、または任意の数のことを行います。 「[OctopusDeploy]プッシュするパッケージを指定してください」というエラーが表示されます。これは、そのステートメントが失敗したために生成されなかったことを意味します。ビルド番号を自動インクリメントする必要があることに気付きました。そのままにしておきます。それを行う方法を理解するためにあなたに。
ここで実行されているものにすべてを混乱させないでください。 タコは彼らのサイトでそれを説明しようとします 、しかしそれはここに隠されています。 octo pack
とocto Push
があります。 octo pack
の新しいバージョンは、その[パッケージパス]ボックスに入力したステートメントに基づいて、見えなくなります。 nuspecパッケージを作成しようとしたり、dotnet pack
を使用しようとしたりすることを躊躇しないでください。これらは私たちの目的にとって行き止まりです。 .Zipファイルを作成して、人生を歩んでください。最後に、追加したコマンドライン引数に注目してください。これらはあなたを少し助ける。それらは必須ではありません。幸運を。
現時点では、.NET CoreプロジェクトにTeamCityプラグインを使用してみることができます: https://github.com/JetBrains/teamcity-dotnet-plugin
ASP.NET Coreの世界には多くの変更があり、何度か質問されたので、 TeamCityforを使用してCI/CD環境をセットアップする方法のステップバイステップガイド)を書き留めました。 NET Core 。特に初心者の方に役立つと思います。