だからケーキ。多くの人が聞いたことがある、多くの人が試してみたいと思ったが、それを延期した。もちろん、TeamCityやJenkinsでずっと働いていて、それを続けているのなら、なぜすでにうまく機能しているものを再発明するのでしょうか。あなたの人生を愛し、幸せになりましょう。しかし、たとえば、あなたの最愛の人生には、新しいプロジェクト、新しい締め切り、少なくともリリース前のストーリーポイントがありますが、新しいコレクターの経験はありませんか?この場合、Cakeは私にとって重宝しました。
私がしたように、この記事がすぐにあなたにケーキを使用するように促さないことをすぐに予約します、そして私の同僚の多くは以前に出た記事によって促されませんでした。主な理由は、害がなく、一貫して機能するプロジェクトで切り替えるのは意味がないからです。お気に入りのジェンキンスを集めれば、すべてうまくいきます。しかし、この記事の後、Cakeが存在することを頭の中で休ませてください。繰り返しになりますが、彼はどこにも行っていません。彼はすでに多くのことを知っており、一緒に仕事をする方が簡単です。以前よりもはるかに簡単です。
ケーキはどのように見えますか?おそらく、.Netの世界に夢中になっていない開発者なら誰でも、彼のアナロジーを見つけるでしょう:gradle、gulp、golangmake。メイクシステムは2020年の啓示ではありません。それは常に便利でした、それはそれが必要で正しいことを意味します。.Netの世界は長い間そのような手段を奪われてきました。実際、MSBuildは存在し、現在も存在しますが、多くの欠点があります。主なものは、普通の開発者から誰がそれを使用できるかということです。そして、その開発の便宜は何ですか?ビルドサーバーでいくつかの基本的で必要なことを行う方が明らかに簡単です。おそらく誰かにとっては便利ですが、コミュニティのかなりの部分が新しいビルドサーバーをマスターするためにMSBuildを好むと確信しています。一度設定を書いて、悪い夢のようにそれを忘れてください。
C#のDSL、オートコンプリート、および型付き言語の他の機能を備えたメイクシステムがあった場合はどうなりますか?はい、私はケーキについて話している。特に、make-systemのランナーの1つであるCake.Frostingライブラリについて説明します。
あなたはここで利用可能なランナーについてもっと読むことができます:ケーキランナー
フロスティング、すべてがよく知っている-あなたはほとんどすぐに、共通の言語を見つけたと自己文書化APIです。Nugetからロードされた拡張メソッド-あらゆる場合において、テストまたはベンチマークとAspホストの混合のように見えるプロジェクト構造。すべての決定は一度に推測され、すべてが家にあります。
Frosting Cake , , , solution . . , Cake.Frosting, Build- .
dotnet run
, . - Mac OS, Linux Windows, SDK, . dotnet CLI, .
, , . — Lifetime: Setup TearDown. .
— Tasks. - FrostingTask<Context>.
IoC , Asp. , Frosting DI IServiceCollection, .
- . , Default. , , ,
[Dependency(typeof(MyPreviousTask))]
MyPreviousTask — , .
, :
.
.
unit-.
Publish.
.
, docker, — , C#.
, , , , . , , . .
— IntelliSense , ?
.Net core – self-contained . , , dotnet, , , , « ». , - . Cake.
, , TS Jenkins
dotnet run ./Build/Build.csproj
( ) , . Frosting , -, .
, . - dotnet Frosting. , — .
— .
. / -;
. -. -.
. . .
. - -, , . .
. IntelliSense, , senior.
問題は、Cakeにリンター、ソナーなどとの必要な統合がないことである可能性があります。この問題は、システムを使用する前に明確にする必要があります。または、拡張機能を追加し、Nugetにアップロードして、非常に優れた人物になりましょう。
ボーナス-使用例Cake.Frostingを上githubの。いわば「種」の場合:リンク
Cakeプロジェクトサイトへのリンク