[Dev Containers] Kiotaを中心として構築する


Kiotaについて

OpenAPI仕様書からクライアントコードの自動的に生成できる。
仕様書が更新された場合は、変更された部分を反映してくれる。

サポートされたプラットフォームであれば、強力なツール。

利用方法は公式ドキュメントを参照。

Using the Kiota tool | Microsoft Learn

Kiotaは.NETが必要

対応する言語は多いものの、ツールは.NET 8.0 SDKの環境で動く。
Visual Studioで開発している場合、現在は既にインストール済みだと思うが、VS Codeを中心とした開発環境ではインストールが必要になる可能性もある。

Kiotaはコンテナーイメージも提供されているため、そちらでも良いが、毎回長いコマンド打つのと出力先へのバインドを許容できるかどうか。

.NET 8.0をインストールしよう

…でも良いのだけど、環境を汚されたくない人もいるかもしれない。
また、展開するにしても万人向け手順書が必要になることも。
で、動かなかったら、何人かトラブルシューティング。

Visual Studio用 .NET SDK (microsoft.com)

Visual Studio CodeならDev Containers!

個別に環境構築し、トラブルシューティングのために時間を浪費することに意義はない。
無駄なことは省いて、その分、別なことに時間を使う。

ところで、個別にDockerfileなどを用意すれば、リポジトリに特化した環境が作れるからいいものの、Codespacesなども使い始めるとビルドの時間で結構持って行かれることに気づく。

そんな訳で、ビルド済みのイメージはレジストリに登録しておけば良い。
個人レベルならDocker Hub、ビジネスならクラウドプロバイダーが提供しているコンテナーレジストリーで。
セルフホステッドが良いならDocker Hub Registryでも立てておく。

ベースイメージだけ登録しておき、差分だけ各リポジトリでビルドするのも良い。

作成した開発コンテナーはGitHubのリポジトリに置いておく。
Docker Hubと連携しているので、GitHubへのプッシュでDocker Hubも更新される。
Actionsはなるべくコード検証などに使いたい。