tech.guitarrapc.cóm

Technical updates

PulumiをVisual Studioからpreviewできるようにする

PulumiをVisual Studioで書いていてpreviewできるようにする方法を紹介します。 単純ですが、かなり便利なのでPulumi C#を使っている人におすすめです。

モチベーション

普段私はPulumiをC#で書いており、IDEにVisual Studioを利用しています。

Visual StudioでPulumiを書くときにただデバッグ実行(F5)してもビルド、コンソール実行しようとしますがpulumi previewとして動作しません。 このため、別途コンソールを開いてpulumi previewを実行する必要があるのですがめんどくさすぎます。

ということで、書いたらデバッグ実行(F5)でpulumi previewできるようにしましょう。

launchSettings.jsonでプレビューを実行する

Visual Studioのデバッグ実行はProperties/launchSettings.jsonで動作設定できます。

AWSとAzureそれぞれについて、デバッグ実行(F5)でpulumi previewを実行するjson例を示します。 共通して--stack スタック名を指定します。これを省くと毎回実行時にスタック名のプロンプト入力を求められるため、指定しておくと便利です。

PulumiでAWSを構成する例

AWS認証はAWS_PROFILE環境変数を使うと個人ごとの設定を使えます。

{
  "profiles": {
    "pulumi": {
      "commandName": "Executable",
      "executablePath": "pulumi",
      "commandLineArgs": "preview --refresh --stack {スタック名}",
      "environmentVariables": {
        "IS_DEBUG": "false",
        "AWS_PROFILE": "{AWS_PROFILE_NAME}"
      }
    }
  }
}

PulumiでAzureを構成する例

Azureは別途az loginしておくことで認証を省くことができます。

{
  "profiles": {
    "pulumi": {
      "commandName": "Executable",
      "executablePath": "pulumi",
      "commandLineArgs": "preview --refresh --stack {スタック名}",
      "environmentVariables": {
        "IS_DEBUG": "false"
      }
    }
  }
}

まとめ

Pulumi ESCを使うとリモート実行なのですが、ESCは価格的にも使いにくく好みじゃないんですよね。 非ESCでPulumiを書いている人にはおすすめの設定です。