ホームページ >バックエンド開発 >Python チュートリアル >Docker が Artifact Registry から Python パッケージをダウンロードできるようにする Cloud ビルドを作成する方法
Google Cloud の Artifact Registry は、アプリケーションの依存関係を管理するための強力なツールです。このガイドでは、Cloud Build パイプラインを作成して Docker が Artifact Registry に保存されている Python パッケージにアクセスできるようにする方法を説明します。これらの手順に従うことで、依存関係を安全に管理し、デプロイメントを合理化できます。
gcloud auth を使用して、Docker ビルド プロセスが Artifact Registry で認証できるようにするアクセス トークンを生成します。これを行う方法は次のとおりです:
steps: # Generate Artifact Registry token - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' entrypoint: bash args: - '-c' - | art=$(gcloud auth print-access-token) echo "$art" > /workspace/artifact_registry_token echo "$art"
トークンが生成されると、それをビルド引数として docker ビルド プロセスに渡すことができます。その方法は次のとおりです:
- name: gcr.io/cloud-builders/docker id: Build env: - 'btf=/workspace/artifact_registry_token' entrypoint: bash args: - '-c' - | docker build \ --build-arg ARTIFACT_REGISTRY_TOKEN=$(cat $btf) \ --build-arg PROJECT_ID=$PROJECT_ID \ -t test-image:latest \ -f Dockerfile .
Dockerfile は、トークンを使用して Artifact Registry から Python パッケージをダウンロードするように構成されています:
# syntax=docker/dockerfile:1 FROM python:3.11-slim ARG ARTIFACT_REGISTRY_TOKEN ARG PROJECT_ID # Keeps Python from buffering stdout and stderr ENV PYTHONUNBUFFERED=1 WORKDIR /app RUN pip install --no-cache-dir -r requirements.txt COPY . . # Install dependencies using the token RUN pip install \ --index-url https://pypi.org/simple \ --extra-index-url https://oauth2accesstoken:${ARTIFACT_REGISTRY_TOKEN}@us-central1-python.pkg.dev/${PROJECT_ID}/python-packages/simple/ \ "your-package-name==your-package-version" # Expose the application port EXPOSE 8080 # Command to run the application CMD ["uvicorn", "main:app", "--port=8080", "--host=0.0.0.0"]
最後に、マシンタイプ、ロギング、置換などの他の構成を定義します。
options: machineType: E2_HIGHCPU_8 substitutionOption: ALLOW_LOOSE logging: CLOUD_LOGGING_ONLY substitutions: _PACKAGE: your-package-name==your-package-version _REPOSITORY: python-packages _LOCATION: us-central1 _PROJECT_ID: your-project-id
ビルドをより適切に整理するには、意味のあるタグを含めます:
tags: - gcp-cloud-build - artifact-registry - docker-python-packages
この設定により、Cloud Build の Docker ビルドがアクセス トークンを使用して Artifact Registry から Python の依存関係を安全に取得できるようになります。提供された構成を、パッケージ名、リポジトリ URL、デプロイメント ターゲットなどのプロジェクト固有の詳細に合わせて調整します。
このパイプラインを実装すると、セキュリティが向上し、プロジェクトの依存関係管理がシームレスになります。
以上がDocker が Artifact Registry から Python パッケージをダウンロードできるようにする Cloud ビルドを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。