هنگام ساختن برنامه های پایتون با Poetry در ظرف Docker، گاهی اوقات با مشکلاتی در دسترسی به بسته های خصوصی ذخیره شده در رجیستری Google Artifact (GAR) مواجه می شویم. به صورت محلی، این چالش به وجود می آید زیرا docker build
نمیتوانیم مستقیماً اعتبارنامههای Google Cloud را مانند خط لوله CI/CD ما مدیریت کنیم، جایی که از حسابهای سرویس و کنش Kaniko برای ساختهای امن استفاده میکنیم. برای حل این مشکل برای توسعه محلی، اعتبارنامه Google Cloud را در Docker با استفاده از Docker Compose پیکربندی میکنیم و دسترسی ایمن به مخزن GAR را در طول فرآیند ساخت امکانپذیر میکنیم.
غیر کانتینری
پیش نیازها
- پایتون ^ 3.12
- شعر ^1.7.1
- Google Cloud SDK ^489.0.0
- کلید ^24.0.0
- keyrings.google-artifactregistry-auth ^1.0.0
- دسترسی به مخزن GAR Python خود را بخوانید
- وارد GCP (
gcloud auth application-default login
)
راه اندازی
-
راه اندازی کلید
نصب کنید
keyring
پشتیبانی از Google Artifact Registry:pip install keyring pip install keyrings.google-artifactregistry-auth
-
Poetry را به مخزن GAR خود وصل کنید
دسترسی به مخزن خصوصی در رجیستری مصنوعات گوگل از طریق Poetry قابل مدیریت است. ابتدا یک منبع سفارشی در Poetry را برای مخزن GAR با اجرای:
poetry source add --priority=explicit
https:// -python.pkg.dev/ / /simple
حتما ضمیمه کنید
/simple
به…