Anda telah membangunkan pakej Python yang hebat untuk menyediakan penggunaan dalaman syarikat. Anda ingin menerbitkannya supaya rakan sekerja anda dapat menggunakannya. Kerana pakej hanya untuk kegunaan dalaman, ia tidak dapat diterbitkan di PYPI (Registry Pakej Python Resmi). Sebaliknya, kerana syarikat anda menggunakan GCP, pilihan semulajadi adalah pendaftaran artifak.
Seperti yang diterangkan dalam dokumen, sangat mudah untuk menerbitkan pakej ke pendaftaran.
库
Selepas menyiarkan beg anda ke Registry Artifak, anda boleh memberikannya sebagai item yang bergantung kepada projek lain.
<code class="language-bash">poetry source add --priority=supplemental gcp_registry https://{LOCATION}-python.pkg.dev/{REPO}/{PACKAGE}/ poetry publish --no-interaction --build --repository gcp_registry</code>
pakej pemasangan
Memasang pakej pada mesin tempatan, sila buat fail keperluan_private.txt:Kemudian, gunakan arahan berikut untuk memasang pakej:
<code>--index-url https://{LOCATION}-python.pkg.dev/{REPO}/{PACKAGE}/simple/ --extra-index-url https://pypi.org/simple {YOUR_PACKAGE_NAME}</code>
Pengesahan Pakej Pakej Pakaian KeyRing Artefact Registry. Pastikan aplikasi anda lalai ke aplikasi (ADC) sebelum meneruskan.
<code class="language-bash">pip install keyring pip install keyrings.google-artifactregistry-auth pip install -r /opt/requirements_private.txt</code>
Docker Challenge
Anda tidak mahu menyalin maklumat sensitif (seperti fail akaun perkhidmatan anda) ke cermin Docker.
Penyelesaian
<code class="language-dockerfile">ARG GOOGLE_APPLICATION_CREDENTIALS COPY requirements_private.txt /opt/requirements_private.txt RUN --mount=type=secret,id=creds,target=/opt/mykey.json,mode=0444 \ pip install keyring && \ pip install keyrings.google-artifactregistry-auth && \ pip install -r /opt/requirements_private.txt COPY requirements.txt /opt/requirements.txt RUN pip install -r /opt/requirements.txt</code>
<code>--index-url https://{LOCATION}-python.pkg.dev/{REPO}/{PACKAGE}/simple/ --extra-index-url https://pypi.org/simple {YOUR_PACKAGE_NAME}</code>
<code class="language-yaml">services: app: build: context: . args: - GOOGLE_APPLICATION_CREDENTIALS=/opt/mykey.json secrets: - creds secrets: creds: file: "C:/your/local/host/path/to/google_service_account.json"</code>
Atas ialah kandungan terperinci Cara Memasang Pakej Python dari GCP Artifact Registry dalam Fail Docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!