Google Artifact Registry ialah penyelesaian yang berkuasa untuk mengurus dan mengehos artifak pakej Python secara peribadi, selamat dan berskala. Panduan ini menyediakan panduan langkah demi langkah untuk menolak fail .whl pakej Python ke Daftar Artifak menggunakan Google Cloud Build dan rahsia (kredi) daripada Pengurus Rahsia Google untuk pengesahan.
Persediaan Pendaftaran Artifak:
gcloud artifacts repositories create python-packages \ --repository-format=python \ --location=us-central1 \ --description="Python packages repository"
Persediaan Rahsia:
gcloud secrets create creds --data-file=path/to/key.json
Berikan akses Cloud Build kepada rahsia:(Pilihan, boleh juga dilakukan menggunakan 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"
Berikut ialah fail cloudbuild.yaml yang berfungsi penuh:
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
Tentukan Pilihan Binaan:
Retrieve key.json Secret:
Konfigurasikan .pypirc:
Bina dan Tolak Pakej:
Simpan fail cloudbuild.yaml dan cetuskan binaan atau boleh menyambung ke repositori github:
gcloud artifacts repositories create python-packages \ --repository-format=python \ --location=us-central1 \ --description="Python packages repository"
Selepas binaan selesai:
gcloud secrets create creds --data-file=path/to/key.json
Atas ialah kandungan terperinci Menolak Pakej Python ke Pendaftaran Artifak Menggunakan Cloud Build. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!