コンテンツにスキップ

Poetry - プライベートパッケージ

Aikidoがプライベートパッケージを含む依存関係を更新するには、正確なロックファイル更新を生成できるよう、プライベートレジストリへのアクセス権が必要です。Poetryの場合、Google Artifact Registryの設定サービスキーを提供するか、Aikidoで環境変数を設定できます。

環境変数で認証情報を追加する

Section titled “環境変数で認証情報を追加する ”

プライベートレジストリへ接続するための認証情報が静的な場合は、環境変数として設定できます。環境変数は次の形式で作成する必要があります。

  • POETRY_HTTP_BASIC_[SOURCE_NAME]_USERNAME
  • POETRY_HTTP_BASIC_[SOURCE_NAME]_PASSWORD

ここで [SOURCE_NAME] は、pyproject.toml ファイルで指定したデータソース名を大文字にしたものです。例えば、以下のプロジェクトファイルの場合は POETRY_HTTP_BASIC_ARTIFACT_USERNAMEPOETRY_HTTP_BASIC_ARTIFACT_PASSWORD を設定します。

[[tool.poetry.source]]
name = "artifact"
url = "https://repo-1234567890.d.codeartifact.eu-west-1.amazonaws.com/pypi/poetry/simple/"

以下の手順でAikidoにPoetryの環境変数を設定できます。

  1. Aikidoの AutoFix 用アカウント設定ページへ移動します。こちら
  2. 「Connect Registry」をクリックすると、設定モーダルが表示されます
  1. Poetryを選択すると、POETRY_HTTP_BASIC_[SOURCE_NAME]_USERNAMEPOETRY_HTTP_BASIC_[SOURCE_NAME]_PASSWORD の環境変数を追加できます。
  1. 「Connect Registry」をクリックして環境変数を保存します。

AWS CodeArtifactをPoetryと組み合わせて使用している場合、パスワードはその都度動的に生成する必要があります。AWS CodeArtifactでPoetryを設定する方法については、このページを参照してください。

Autofix経由でPRを作成する際、Aikidoは Poetry コマンドの実行時にこれらの環境変数を含めます。

GCP Artifact Registry用の認証情報を追加する

Section titled “GCP Artifact Registry用の認証情報を追加する ”

GCP Artifact Registryの場合、認証情報を静的に生成することはできません。この場合は、以下の手順に従ってください。

1. GCPでサービスアカウントを作成する

Section titled “1. GCPでサービスアカウントを作成する ”

まず、Google Cloudプロジェクトでサービスアカウントを作成します。

  1. Google Cloud Consoleへ移動します。

  2. IAM & Admin > Service Accounts に移動します。

  3. Create Service Account をクリックします。

  4. Service account nameAikido Artifact Registry Reader のような名前を入力し、Create And Continue をクリックします。

  5. サービスアカウントに Artifact Registry Reader ロールを付与します。

    Google Cloudプロジェクトのサービスアカウントに「Artifact Registry Reader」ロールを割り当てる画面。

  6. Continue をクリックし、Done をクリックします。

2. GCPでサービスアカウントのキーを作成する

Section titled “2. GCPでサービスアカウントのキーを作成する ”
  1. Service Accounts ページで、先ほど作成したサービスアカウントを見つけます。
  2. 右側の3点リーダーをクリックし、Manage Keys を選択します。
  3. Add Key > Create New Key をクリックします。
  4. JSON を選択し、Create をクリックします。
  5. JSONキーファイルを安全な場所に保存します。

前提条件が満たされたら、以下の手順でAikidoが依存関係の更新時にプライベートレジストリと認証するよう設定できます。

  1. Aikidoのautofixer用アカウント設定ページへ移動します。こちら
  2. 「Connect Registry」をクリックすると、設定モーダルが表示されます
  1. Poetryを選択し、モーダル下部の GCP service account key セクションを見つけます。
  1. 保存したJSON Keyの内容を Private registry service account key フィールドに貼り付けます
  2. Connect Registry をクリックして設定を保存します。