CodeArtifact で twine を設定して使用する - CodeArtifact

CodeArtifact で twine を設定して使用する

twine は Python パッケージのパッケージ公開ユーティリティです。twine を使用して CodeArtifact リポジトリに Python パッケージを公開するには、まず CodeArtifact リポジトリの情報と認証情報を使用して twine を設定する必要があります。

twine は Python パッケージの公開にのみ使用できます。Python パッケージをインストールするには、pip を使用します。詳細については、「CodeArtifact で pip を設定して使用する」を参照してください。

login コマンドを使用して twine を設定する

まず、CodeArtifact の開始方法での説明に従い、AWS CLIで使用するためのAWS認証情報を設定します。次に、CodeArtifact login コマンドを使用して認証情報を取得し、この認証情報を使用して twine を設定します。

注記

所有しているドメインのリポジトリにアクセスする場合、--domain-ownerを含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。

twineを設定するには、次のコマンドを実行します。

aws codeartifact login --tool twine --domain my_domain --domain-owner 111122223333 --repository my_repo

login は、AWS資格情報を使ってCodeArtifactから認証トークンを取得します。login コマンドは、~/.pypirc を編集し認証情報を含む --repository オプションで指定されたリポジトリを追加することで、twine を CodeArtifact で使用できるように設定します。

login実行後のデフォルトの認証期限は12時間です。loginはトークンを定期的に更新するために実行されねばなりません。loginコマンドを使用して作成された認証トークンの詳細については、loginコマンドで作成されたトークンを参照してください。

login コマンドを使用せずに twine を設定する

login コマンドが twine の設定に使用できない場合、~/.pypirc ファイルまたは環境変数を使用することができます。~/.pypircファイル を使用するためには、次のエントリを追加します。パスワードは、get-authorization-tokenAPI によって取得された認証トークンである必要があります。

[distutils] index-servers = codeartifact [codeartifact] repository = https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/pypi/my_repo/ password = auth-token username = aws

環境変数を使用するには、以下の操作を実行します。

注記

所有しているドメインのリポジトリにアクセスする場合、--domain-ownerを含める必要はありません 詳細については、「クロスアカウントドメイン」を参照してください。

export TWINE_USERNAME=aws export TWINE_PASSWORD=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text` export TWINE_REPOSITORY_URL=`aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format pypi --query repositoryEndpoint --output text`

twineを実行する

twine を使って Python パッケージアセットを公開するには、まず CodeArtifact の権限とリソースを設定する必要があります。

  1. AWSアカウント、ツール、およびパーミッションを設定するには、AWS CodeArtifact での設定セクションの手順に従います。

  2. login コマンドを使用して twine を設定する」または「login コマンドを使用せずに twine を設定する」の手順に従って twine を設定します。

twine の設定後、twine コマンドを実行することができます。Pythonパッケージアセットを公開するには、次のコマンドを使用します。

twine upload --repository codeartifact mypackage-1.0.tgz

Pythonアプリケーションのビルドとパッケージ化の方法については、Pythonパッケージングオーソリティのウェブサイトの配布アーカイブの生成 (Generating Distribution Archives)を参照してください。