Maison >développement back-end >Tutoriel Python >Transférer des packages Python vers Artifact Registry à l'aide de Cloud Build
Google Artifact Registry est une solution puissante pour gérer et héberger les artefacts de packages Python de manière privée, sécurisée et évolutive. Ce guide fournit une procédure étape par étape pour transférer les fichiers .whl du package Python vers Artifact Registry à l'aide de Google Cloud Build et d'un secret (crédits) de Google Secret Manager pour l'authentification.
Configuration du registre d'artefacts :
gcloud artifacts repositories create python-packages \ --repository-format=python \ --location=us-central1 \ --description="Python packages repository"
Configuration secrète :
gcloud secrets create creds --data-file=path/to/key.json
Accorder à Cloud Build l'accès au secret :(Facultatif, peut également être effectué à l'aide d'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"
Voici le fichier cloudbuild.yaml complet et fonctionnel :
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
Définir les options de construction :
Récupérer le secret key.json :
Configurer .pypirc :
Construire et pousser le package :
Enregistrez le fichier cloudbuild.yaml et déclenchez la build ou pouvez vous connecter au référentiel github :
gcloud artifacts repositories create python-packages \ --repository-format=python \ --location=us-central1 \ --description="Python packages repository"
Une fois la construction terminée :
gcloud secrets create creds --data-file=path/to/key.json
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!