TechBlog masa

  • Top
  • Posts
  • Profile
2025-01-09
SWE
Github Actionsで環境変数(apiキーなど)を安全に利用する方法Github Actionsで環境変数(apiキーなど)を安全に利用する方法
Git / GitHub

likes: 0

Unsupported Block: table_of_contents

 

.envは.gitignoreに指定すべき。なぜなら、apiキーなどは例えレポジトリがprivateであってもgithubにあげるのは危険だから。

例えば、チームメンバのGithubアカウントがキーを漏洩する可能性がある。また、gitは過去のログが全て残っていることも考慮すべき(それをいちいち削除するのは面倒…)。

 

Unsupported Block: heading_2
  1. githubレポジトリの Setting > Secrets and variables > Actions へ移動
  2. Secretsで New repository secret (Variablesの方は機密データではなく普通のデータとして扱われるので注意)
  3. Nameにファイルで使用する環境変数名を記載し、Secretにキーを記載
Unsupported Block: heading_2
  1. Actionsへ移動
  2. 対象のymlファイルにて以下のように環境変数を使用する
# Secretsにて MY_API_KEYという名前で登録した場合
- name: Run my_script.js
  run: node ./src/my_script.js
  env:
    MY_API_KEY: ${{ secrets.MY_API_KEY }}
Unsupported Block: heading_2

.envから参照するときと同じコードでOK。

例:dotenvを使用して、同階層の.envから絶対パス指定で参照する

※ Actionsでは、.envに限らず絶対パス指定する必要があるので注意

import { config } from "dotenv";
import path, { dirname } from "path";
import fs from "fs";
import { fileURLToPath } from "url";

const __dirname = dirname(fileURLToPath(import.meta.url));

config({ path: path.resolve(__dirname, ".env") });

const API_KEY = process.env.MY_API_KEY;
if (!API_KEY) {
    console.error("TOKEN NOT FOUND\n");
} else {
    console.log("TOKEN OK\n");
}

 

breadcrumb予定地
profileCard予定地

SideBarPage

共有ボタン予定地
他ボタン予定地