GitHub
以前に書いた通り Static Web Apps と App Service を組み合わせたアプリケーション向けに、GitHub で Pull Request が作成された時にプレビュー用の環境を作るようにして運用しているのですが、これがかなり便利でレビュアーの負荷を下げるのに非常に強力で…
Azure Portal から GitHub リポジトリを指定して Static Web Apps を作成すると自動的にワークフローが作成されますが、作成されたワークフローは Deployment Token を使うようになっています。この Deployment Token を使う方法は非常にシンプルで扱いやす…
Static Web Apps へのデプロイを行う方法としては、公式で提供されている GitHub Action や Azure Pipelines Task を使う方法の他に Static Web Apps CLI を使う方法があります。最近ではビルドをカスタマイズしたいので、あえて Static Web Apps CLI を使っ…
Azure Static Web Apps で何も考えずに GitHub で Pull Request を作成すると、標準で提供されているプレビュー環境が自動的に作成されるので便利です。Managed Functions も SWA とセットでデプロイされるので、フロントエンドだけではなくバックエンドも含…
Azure Static Web Apps へアプリケーションをデプロイする際には GitHub Actions を使うことが多いはずですが、公式で用意されている Action はビルドまで行うように設計されているため、ビルドは自前で行ってデプロイだけを行いたいケースでは若干使いにく…
昔にも Dev Container を利用して Azure Functions の開発環境を構築する方法を書いたのですが、その後 Dev Container の機能強化と Azure Functions のアップデートによってベストプラクティスが変わってきたので、現時点でのベストプラクティスを確認して…
最近は Azure OpenAI Service と Semantic Kernel の盛り上がりに伴い、ワークショップなどで GitHub Codespaces と Azure Functions の組み合わせで開発することが増えてきているので、安定して利用できる C# 開発環境を構築する方法を模索していました。こ…
Twitter で今年になってちょいちょい GitHub Sponsors の話を目にしたので、少なくない支援を頂いている自分としても書いてみることにしました。2022 年に GitHub Sponsors 経由で頂いた支援は 218,578 円でした。実は去年より多くなっているのですが、それ…
以前に Azurite と Cosmos DB Emulator を使って GitHub Actions / Azure Pipelines でテストを実行する方法を書きましたが、Ubuntu Runner と Service Containers を利用した方法だったので Windows Runner では実質的には使えない方法でした。理由としては…
暫く触っていなかったのですが、若干 Windows Containers が必要になりそうな気配を感じ取ったので、最新の Windows Containers 事情と Azure / GitHub での扱いについて再度確認しました。Windows Containers を使って動かしたいアプリケーションは Classic…
先日 Static Web Apps に Azure Functions 以外の API を簡単に持ち込める機能が追加されました。App Service / Container Apps / API Management の 3 つを追加で持ち込めるようになったので、API が多いアプリケーションも Static Web Apps でホストしやす…
この間 Azure Container Apps への自動デプロイの構成を Azure Portal の Continuous deployment から設定したら、予想以上に適切な Workflow ファイルが生成されたことに感動したので書いています。あまりにも感動したので Twitter にも書きましたが、リポ…
Build 2022 合わせで Windows App SDK 1.1 の正式版がリリースされていたようです。あまりリリース自体が話題になっていない気がしますが、UWP アプリケーションからの移行先なので 1.1 対応を行いました。リリースノートを見る限り、割と地味なアップデート…
最近は C# と Node.js 以外の環境は WSL 2 や GitHub Codespaces を使って用意することが多いのですが、Conda (Miniconda) を使った環境の構築時にかなりハマったのでメモとして残します。結果的にはまずまずの環境が出来たと思っていますが、思ったより情報…
激しく今更ですが、GitHub Actions の OpenID Connect 対応を利用して Azure リソースや Azure AD 自身へのアクセスを Client Secret 無しで行ってみます。ぶっちゃけ全ては watahani さんのブログを読んでもらえれば良いのですが、少し時間が経過したことも…
.NET Core 3.0 からビルド時に Tier 0 のネイティブコードを生成する ReadyToRun が利用可能になっています。実行時に Tier 0 のコード生成を行わない分、スタートアップの高速化が期待できる機能です。.NET 6.0 は Windows x64 環境なら全てのクロスコンパ…
GitHub や Azure DevOps を使った開発フローにテスト実行を組み込むのは一般的に行われていると思いますが、Azure Storage や Cosmos DB などに依存するテストを実行する際には、実際のリソースにアクセスさせるのではなくローカルで完結させたいことが多い…
App Service / Azure Functions のシークレットを安全に扱う際に利用する Key Vault Reference が User Assigned Managed Identity に対応しつつ、Linux 周りであった色々な制限が削除されたのと同時に、突然 Run From Package でも Managed Identity が使え…
Azure Functions は C# と Node.js を使う場合には開発環境をサクッと構築できるのですが、今回 Python を使って開発しようとしたときに開発環境で割とはまったので、自分が最適だと思った VS Code の Dev Container を使う方法をメモしておきます。開発環境…
CodePlex に置いてあった .NET Framework 3.0 時代に書かれたアプリケーションを、GitHub に移行しつつ .NET 5 で動くように 2 週間ぐらい頑張った話を書きます。正直なところ 12 年前に書かれたコードを何とかするのはめっちゃ大変でした。今回コードの改善…
基本的に NuGet に関しては CI でのパッケージのキャッシュがあまり効果的ではないのですが、推奨設定での使い方をちゃんと試しておこうと思ったので残します。GitHub Actions や Azure Pipelines には NuGet 向けのサンプル定義が用意されています。中身は…
個人的によく使っていて時々 Pull Request も投げている Durable Functions の開発リポジトリでは、全ての Pull Request に対しては基本的なテストのみ実行し、full-ci というラベルが付いた時のみ全てのテストを実行するようになっています。実際に以前投げ…
Azure Static Web Apps がリリースされた時に羨ましかった機能として、Pull Request を作成する度にプレビュー用の環境を自動で作成してくれる、というものがありました。レビュー中に実際のアプリケーションを確認できるのは重要なので、App Service でも欲…
Universe 2020 で発表された機能の中で一番楽しみだったのが GitHub Actions の Environments です。デプロイ先ごとに環境変数と Protection rule を設定出来るようになります。Azure Pipelines では Approvals and checks と Environments という同等の機能…
少し前に書いたエントリの続きに近い内容ですが、実際に GitHub Actions を使って複数の App Service / Azure Functions へのデプロイを並列実行するという話です。ビルドに関しては並列実行しても効果が薄いケースが多いですが、デプロイは前回書いたように…
最近は Azure DevOps で開発していたアプリケーションを GitHub に移行しつつ、ビルドとデプロイ周りを Azure Pipelines から GitHub Actions に切り替えていたのですが、アプリケーションのビルドに時間がかかっていたので短縮するために色々と作業をしまし…
最近は Azure Pipelines だけを使っている GitHub 上のプロジェクトを、徐々に GItHub Actions に移行しています。Azure Pipelines は Approvals や Gates などが便利ですが、OSS で一人開発しているような場合は GitHub Actions に寄せておいた方が都合が良…