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

Menolak Pakej Python ke Pendaftaran Artifak Menggunakan Cloud Build

Nov 27, 2024 pm 04:09 PM

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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks Mar 05, 2025 am 09:58 AM

Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks

Cara memuat turun fail di python Cara memuat turun fail di python Mar 01, 2025 am 10:03 AM

Cara memuat turun fail di python

Penapisan gambar di python Penapisan gambar di python Mar 03, 2025 am 09:44 AM

Penapisan gambar di python

Bagaimana saya menggunakan sup yang indah untuk menghuraikan html? Bagaimana saya menggunakan sup yang indah untuk menghuraikan html? Mar 10, 2025 pm 06:54 PM

Bagaimana saya menggunakan sup yang indah untuk menghuraikan html?

Cara Bekerja Dengan Dokumen PDF Menggunakan Python Cara Bekerja Dengan Dokumen PDF Menggunakan Python Mar 02, 2025 am 09:54 AM

Cara Bekerja Dengan Dokumen PDF Menggunakan Python

Cara Cache Menggunakan Redis dalam Aplikasi Django Cara Cache Menggunakan Redis dalam Aplikasi Django Mar 02, 2025 am 10:10 AM

Cara Cache Menggunakan Redis dalam Aplikasi Django

Memperkenalkan Toolkit Bahasa Alam (NLTK) Memperkenalkan Toolkit Bahasa Alam (NLTK) Mar 01, 2025 am 10:05 AM

Memperkenalkan Toolkit Bahasa Alam (NLTK)

Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch? Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch? Mar 10, 2025 pm 06:52 PM

Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch?

See all articles