コンテンツにスキップ

環境変数によるプライベートパッケージ連携

Aikidoがプライベートパッケージを含む依存関係を更新するには、正確なロックファイルの更新を生成できるよう、プライベートレジストリへのアクセスが必要です。Bundle、Poetry、UVなど多くのパッケージマネージャーは、認証の設定に環境変数を使用します。Aikidoでは環境変数を指定でき、これらは暗号化されたうえでワークフローに注入されます。

つまり、システムが依存関係の脆弱性を検出すると、認証情報を安全に保ったまま、プライベートレジストリとシームレスに認証し、影響を受けるパッケージを自動的にパッチ適用し、ロックファイルを更新できるということです。

リポジトリへの書き込みアクセスが設定済みであれば、以下の手順でAikidoをプライベートレジストリと認証するよう設定できます。

  1. アカウントのAutoFix設定ページ(こちら)に移動します。
  2. Connect registry」をクリックすると、以下のモーダルが表示されます。
  1. Environment variables」を選択すると、リポジトリで自動修正を作成するために必要な環境変数を入力できます。以下の例では、Poetry用プライベートレジストリの設定を示しています。
  1. 「key」と「value」を入力し、必要な数だけ変数を追加します。Aikidoはすべての値を自動的に暗号化します。

JSライブラリでプライベートレジストリと認証する一般的な方法は、パッケージマネージャーにパッケージのダウンロード元を伝える .npmrc ファイルをリポジトリに含めることです。認証トークンをリポジトリに保存しないようにするため、環境変数を参照できます。

以下は、レジストリを定義し、認証に NPM_TOKEN 環境変数を使用する .npmrc ファイルの例です。

//npm.pkg.github.com/:_authToken=${NPM_TOKEN}
@pied-piper:registry=https://npm.pkg.github.com

NPMプライベートレジストリのその他のオプションはこちらで確認できます。

環境変数を使用したPoetryのセットアップ方法については、こちらのドキュメントを参照してください。

環境変数を使用したBundleのセットアップ方法については、こちらのドキュメントを参照してください。