Rumah > pembangunan bahagian belakang > Tutorial Python > Menolak Pakej Python ke Pendaftaran Artifak Menggunakan Cloud Build

Menolak Pakej Python ke Pendaftaran Artifak Menggunakan Cloud Build

Linda Hamilton
Lepaskan: 2024-11-27 16:09:10
asal
850 orang telah melayarinya

Pushing Python Packages to Artifact Registry Using Cloud Build

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.


Prasyarat

  1. Persediaan Pendaftaran Artifak:

    • Buat repositori Python dalam Daftar Artifak anda:
     gcloud artifacts repositories create python-packages \
       --repository-format=python \
       --location=us-central1 \
       --description="Python packages repository"
    
    Salin selepas log masuk
    Salin selepas log masuk
  2. Persediaan Rahsia:

    • Simpan kunci anda sebagai rahsia dalam Pengurus Rahsia Google:
     gcloud secrets create creds --data-file=path/to/key.json
    
    Salin selepas log masuk
    Salin selepas log masuk
  • 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"
    
    Salin selepas log masuk
  1. Kebenaran Binaan Cloud: Pastikan akaun perkhidmatan Cloud Build anda mempunyai kebenaran yang diperlukan untuk mengakses Pendaftaran Artifak dan Pengurus Rahsia.

Konfigurasi YAML Binaan Awan

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
Salin selepas log masuk

Penjelasan Langkah demi Langkah

  1. Tentukan Pilihan Binaan:

    • Tetapkan jenis mesin, gelagat penggantian dan pilihan pengelogan.
    • Konfigurasi ini memastikan binaan yang cekap dan log boleh diurus.
  2. Retrieve key.json Secret:

    • Gunakan akses versi rahsia gcloud untuk mengambil fail key.json dengan selamat daripada Pengurus Rahsia.
    • Simpan fail ke lokasi yang diketahui (/workspace/key.json).
  3. Konfigurasikan .pypirc:

    • Jana fail .pypirc secara dinamik. Fail ini diperlukan untuk benang untuk mengesahkan dengan Pendaftaran Artifak.
    • Kata laluan ialah kandungan berkod base64 key.json.
  4. Bina dan Tolak Pakej:

    • Pasang alatan yang diperlukan (benang, bina).
    • Bina pakej Python (python -m build).
    • Gunakan muat naik twine untuk menolak fail .whl ke Pendaftaran Artifak.

Mencetuskan Binaan

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"
Salin selepas log masuk
Salin selepas log masuk

Perkara Utama

  • Pengurusan Rahsia Selamat: Rahsia (key.json) diakses dengan selamat menggunakan Pengurus Rahsia Google.
  • Konfigurasi Dinamik: .pypirc dijana semasa binaan, memastikan tiada data sensitif disimpan dalam repositori.
  • Muat Naik Berautomasi: Proses ini mengautomasikan pembinaan pakej dan menolak, mengurangkan campur tangan manual.

Pengesahan

Selepas binaan selesai:

  1. Sahkan pakej yang dimuat naik dalam Pendaftaran Artifak:
 gcloud secrets create creds --data-file=path/to/key.json
Salin selepas log masuk
Salin selepas log masuk
  1. Semak ralat atau amaran dalam log binaan.

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!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan