要約
- コマンドパレット(Ctrl+Shift+p)から「Remote-Containers: Add Development Container Configuration Files...」を選択
- 「Show All Definitions...」を選択
- 「Azure Terraform」を選択
- 「lts」を選択
- 「OK」を選択(パッケージはデフォルトのまま)
- コマンドパレット(Ctrl+Shift+p)から「Remote-Containers: Reopen in Container」を選択
Dockerイメージを落とすのに時間がかからなければ1分ほどで起動できる。
あとは、.devcontainer\devcontainer.env
に環境変数を書き込んだり、.devcontainer\devcontainer.json
にプロジェクト専用の拡張機能を入れたりするといいと思う。このあたりは起動時に読み込まれるので、変更したらReopenを忘れずに。
詳細
コマンドパレットから「Remote-Containers: Add Development Container Configuration Files...」を選択
「Show All Definitions...」を選択
「Azure Terraform」を選択
「lts」を選択
正直、どれでもいいと思う。
「OK」を選択(パッケージはデフォルトのまま)
起動する
画面右下の「Reopen in Container」から起動する
コマンドパレット(Ctrl+Shift+p)から「Remote-Containers: Reopen in Container」を選択
Remote-Containers: Rebuild and Reopen in Container
でも、Remote-Containers: Rebuild Without Cache and Reopen in Container
でも、最初はキャッシュもビルド済みイメージもないので、ビルドして起動すると思う。
devcontainer.env
ちゃんとドキュメント読まずに始めちゃう症候群なので、こんなことができることは知らなかった。
ただ、ここに書いちゃうとsecretだだ洩れになっちゃうし、使いどころが難しいかも?
devcontainer.json
下記の記事をみていて、"ms-vscode.azure-account"
が足りていなかったので追加。でも、githubじゃない(azure devops)なので、pull requestな拡張機能は要れなかった。
あと、dotenvファイルのシンタックスハイライトをしたかったので"mikestead.dotenv"
を入れてみた。
最終的にはこんな感じ。よく考えたら、いつも使ってるのが入ってないので、いろいろ弄るとは思う。
"extensions": [
"hashicorp.terraform",
"mikestead.dotenv",
"ms-vscode.azurecli",
"ms-vscode.azure-account",
"ms-azuretools.vscode-azureterraform",
"ms-azuretools.vscode-docker"
]
この後
あとはマニュアル通りにやれば大体は上手くいくと思う
ディレクトリでも作って、.tf
ファイルに構成を入れて、コマンド群
cd tf/
# :
#ここでtf作る
# :
az login
# ちゃんとログインできると "id": "00000000-0000-0000-0000-000000000000"って行がある
az account set --subscription 00000000-0000-0000-0000-000000000000
terraform init
terraform plan
terraform apply
雑感
IaCが重要だということは分かっていて、でもAzure ARMとかで地獄を見たので、もう少し開発者フレンドりな書き方を探しているところです。
BicepとかPulumiとかも悩んだんですけど、まずは大御所からやっとこかと思った次第。ここからスタートです。
以上です。