目的
Azure Storage のアクセスキー(接続文字列)を安全に管理しながら、Github Codespaces でC# アプリケーションをデバッグしたい。
対策
Github Secrets にアクセスキーを登録し、C#コードは環境変数として読み込む。
手順
-
Github の Settings から Codespaces を開く
-
Secrets の Codespace user secrets にアクセスキー(接続文字列)を登録する
-
Github Codespaces でデバッグしたいC#アプリケーションのリポジトリを開く
-
[Code] - […] - [Configure dev container] を選択する
-
.devcontainer ディレクトリの devcontainer.json に設定を追加する
今回は環境変数名とシークレット名がどちらも「STORAGE_CONNECTION_STRING」"remoteEnv": { "STORAGE_CONNECTION_STRING": "${secrets.STORAGE_CONNECTION_STRING}" },
-
開発コンテナーをリビルドする
-
環境変数(今回は「STORAGE_CONNECTION_STRING」)から接続文字列を取得する様にプログラムを修正する
string? storageConnectionString = Environment.GetEnvironmentVariable("STORAGE_CONNECTION_STRING");
参考サイト
GitHub Codespaces のアカウント固有のシークレットの管理
開発コンテナーの概要
GitHub Codespaces 用に C# (.NET) プロジェクトを設定する
codespace でのコンテナーのリビルド