ホームページ >バックエンド開発 >Python チュートリアル >Cloud Build を使用した Python パッケージの Artifact Registry へのプッシュ
Google Artifact Registry は、プライベート、安全、スケーラブルな方法で Python パッケージ アーティファクトを管理およびホストするための強力なソリューションです。このガイドでは、Google Cloud Build と認証用の Google Secret Manager からのシークレット (認証情報) を使用して、Python パッケージ .whl ファイルを Artifact Registry にプッシュするための段階的なチュートリアルを提供します。
アーティファクト レジストリのセットアップ:
gcloud artifacts repositories create python-packages \ --repository-format=python \ --location=us-central1 \ --description="Python packages repository"
シークレットセットアップ:
gcloud secrets create creds --data-file=path/to/key.json
Cloud Build にシークレットへのアクセスを許可します:(オプション、IAM を使用して行うこともできます)
gcloud secrets add-iam-policy-binding creds \ --member="serviceAccount:$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')@cloudbuild.gserviceaccount.com" \ --role="roles/secretmanager.secretAccessor"
完全に動作するcloudbuild.yamlファイルは次のとおりです:
options: machineType: E2_HIGHCPU_8 substitutionOption: ALLOW_LOOSE logging: CLOUD_LOGGING_ONLY steps: # Step 1: Access the secret `creds` and save it as `key.json` - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' entrypoint: bash args: - '-c' - | gcloud secrets versions access latest --secret=creds > /workspace/key.json # Step 2: Configure `.pypirc` with the Artifact Registry credentials - name: 'python' entrypoint: bash args: - '-c' - | cat > ~/.pypirc << EOL [distutils] index-servers = tower-common-repo [tower-common-repo] repository: https://us-central1-python.pkg.dev/$PROJECT_ID/python-packages/ username: _json_key_base64 password: $(base64 -w0 /workspace/key.json) EOL # Step 3: Build and upload the Python package pip install twine build && \ python -m build && \ twine upload --repository tower-common-repo dist/* --verbose
ビルド オプションの定義:
key.json シークレットを取得:
.pypirc を構成します:
パッケージのビルドとプッシュ:
cloudbuild.yaml ファイルを保存し、ビルドをトリガーするか、github リポジトリに接続できます:
gcloud artifacts repositories create python-packages \ --repository-format=python \ --location=us-central1 \ --description="Python packages repository"
ビルドが完了したら:
gcloud secrets create creds --data-file=path/to/key.json
以上がCloud Build を使用した Python パッケージの Artifact Registry へのプッシュの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。