【入門編】Sublime Textの「Build Systems」でクラウドデプロイ!AWS LambdaやCloud Functionsへの直接送信テクニック – 軽量・高機能テキストエディタ生産性向上バイブル

Sublime Textで「保存=デプロイ」を実現する:クラウド開発の爆速化術

こんにちは。開発環境の設計を愛してやまない、あるエンジニアです。

皆さんは、クラウドネイティブな開発をする際、「ローカルで書いて、Gitにプッシュして、CI/CDが走り出すのを待つ」という手順に、少しだけ「遠いな」と感じたことはありませんか?もちろん、堅牢な開発においてCI/CDは不可欠です。しかし、プロトタイピングやちょっとした関数の調整において、そのオーバーヘッドは思考のフローを分断します。

今回は、世界で最も軽快なエディタである「Sublime Text」のBuild Systemsをハックし、「Ctrl+S(保存)」と同時にクラウドへ関数をデプロイし、実行ログをエディタ内に表示させるという、魔法のような環境を構築する方法を伝授します。

—

1. なぜ「Build Systems」を使うのか?

Sublime Textの`Build System`は、単にプログラムを実行する機能ではありません。これは「エディタが外部コマンドを制御するためのインターフェース」です。

通常、IDEではターミナルを開き、コマンドを打ち、レスポンスを待つという手間が発生します。しかし、Build Systemをカスタマイズすれば、以下のプロセスが「保存」という一つの動作に凝縮されます。

1. バリデーション: 保存時にLintを通す。
2. パッケージング: コードをZIP化する。
3. デプロイ: AWS CLIやCloud Functions APIを叩く。
4. フィードバック: 実行結果やエラーログをSublime Textのコンソールに即時表示する。

このループを確立すれば、あなたは「クラウドという巨大なインフラ」を「自分のローカル関数」のように扱えるようになります。

—

2. 実践:AWS Lambdaデプロイ・システムの構築

ここでは、AWS Lambdaを想定した`.sublime-build`の設定例を紹介します。

ステップ1: ビルドシステムの作成

Sublime Textのメニューから `Tools` > `Build System` > `New Build System…` を選択し、以下のJSONを記述してください。

{
// ビルドシステムの名前
“name”: “DeployToLambda”,

// シェル経由で実行(環境変数の読み込みやパス解決に必要)
“shell_cmd”: “zip -r function.zip . && aws lambda update-function-code –function-name my-lambda-func –zip-file fileb://function.zip”,

// 実行結果をSublime Textの下部パネルに表示するための正規表現(エラー箇所へのジャンプ用)
“file_regex”: “^[ ]File \”(…?)\”, line ([0-9])”,

// 成功・失敗時の通知用(Linux/macOSの場合)
“variants”: [
{
“name”: “Run and Log”,
“shell_cmd”: “aws lambda invoke –function-name my-lambda-func response.json && cat response.json”
}
]
}

ステップ2: セキュリティの鉄則(APIキーの管理)

ここで最も重要なのは、「APIキーをファイルに直書きしない」ことです。
Sublime TextのBuild Systemは、OSの環境変数を継承します。`.bash_profile` や `.zshrc` に `AWS_ACCESS_KEY_ID` などを設定しておけば、エディタの設定ファイルはクリーンに保たれます。

.zshrc などに記述
export AWS_PROFILE=my-developer-profile

こうすることで、万が一設定ファイルをGitHub等で共有しても、機密情報が流出するリスクをゼロにできます。

—

3. なぜこの設定が「現場」で最強なのか?

この構築の真骨頂は、「思考のコンテキストスイッチを最小化できる」点にあります。

  • 即時フィードバック: 通常のCI/CD環境では「デプロイ完了まで30秒〜1分」かかることが一般的です。しかし、CLI経由で直接プッシュすれば、数秒でクラウド上のコードが更新されます。
  • 集中力の維持: Sublime Textから手を離さずに作業が完結するため、脳が「エディタモード」から「ターミナルモード」へ切り替わるストレスがありません。

—

4. 最初の一歩:HelloWorldの動作確認

まずは、極めて小さなスクリプトで試してみましょう。

1. 適当なファイルを作成: `lambda_function.py` を作成します。
2. ビルドの選択: `Tools` > `Build System` から、先ほど作成した `DeployToLambda` を選択します。
3. 実行: `Ctrl + B`(macOSなら `Cmd + B`)を押してください。

下部のパネルに `aws lambda` コマンドの出力結果が表示されれば成功です!もしエラーが出たとしても、`file_regex` の設定のおかげで、エラー行をクリックするだけで即座にソースコードの該当箇所へジャンプできます。

—

先輩エンジニアからのアドバイス

「ツールは、使う側の意思に従うべきだ」というのが私の信条です。

最初は少し複雑に見えるかもしれませんが、一度この「保存=クラウド反映」のパイプラインを作ってしまうと、もう元の環境には戻れません。開発効率とは、単に速く打つことではなく、「作業の断絶をどれだけ排除できるか」にあります。

ぜひ、今日からあなたのSublime Textを「クラウドを操る魔法の杖」へと進化させてみてください。もし設定で詰まることがあれば、いつでもまた聞きに来てくださいね。あなたの開発ライフが、よりクリエイティブで快適なものになることを願っています!

タイトルとURLをコピーしました