Google Artifact Registry は、プライベート、安全、スケーラブルな方法で Python パッケージ アーティファクトを管理およびホストするための強力なソリューションです。このガイドでは、Google Cloud Build と認証用の Google Secret Manager からのシークレット (認証情報) を使用して、Python パッケージ .whl ファイルを Artifact Registry にプッシュするための段階的なチュートリアルを提供します。
前提条件
-
アーティファクト レジストリのセットアップ:
- Artifact Registry に Python リポジトリを作成します。
gcloud artifacts repositories create python-packages \ --repository-format=python \ --location=us-central1 \ --description="Python packages repository"
-
シークレットセットアップ:
- キーをシークレットとして Google Secret Manager に保存します。
gcloud secrets create creds --data-file=path/to/key.json
-
Cloud Build にシークレットへのアクセスを許可します:(オプション、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"
- Cloud Build 権限: Cloud Build サービス アカウントに、Artifact Registry と Secret Manager にアクセスするために必要な権限があることを確認してください。
Cloud Build YAML 構成
完全に動作するcloudbuild.yamlファイルは次のとおりです:
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
段階的な説明
ビルド オプションの定義:
- マシンタイプ、置換動作、およびログオプションを設定します。
- これらの構成により、効率的なビルドと管理しやすいログが確保されます。
key.json シークレットを取得:
- gcloud Secrets バージョン アクセスを使用して、Secret Manager から key.json ファイルを安全に取得します。
- ファイルを既知の場所 (/workspace/key.json) に保存します。
.pypirc を構成します:
- .pypirc ファイルを動的に生成します。このファイルは、Twine が Artifact Registry で認証されるために必要です。
- パスワードは、base64 でエンコードされた key.json の内容です。
パッケージのビルドとプッシュ:
- 必要なツール (twine、build) をインストールします。
- Python パッケージをビルドします (python -m build)。
- twine アップロードを使用して、.whl ファイルを Artifact Registry にプッシュします。
ビルドのトリガー
cloudbuild.yaml ファイルを保存し、ビルドをトリガーするか、github リポジトリに接続できます:
gcloud artifacts repositories create python-packages \ --repository-format=python \ --location=us-central1 \ --description="Python packages repository"
重要なポイント
- 安全なシークレット管理: シークレット (key.json) は、Google Secret Manager を使用して安全にアクセスされます。
- 動的構成: .pypirc はビルド中に生成され、機密データがリポジトリに保存されないようにします。
- 自動アップロード: このプロセスはパッケージのビルドとプッシュを自動化し、手動介入を減らします。
検証
ビルドが完了したら:
- Artifact Registry でアップロードされたパッケージを確認します。
gcloud secrets create creds --data-file=path/to/key.json
- ビルド ログでエラーまたは警告がないか確認します。
以上がCloud Build を使用した Python パッケージの Artifact Registry へのプッシュの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...

風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの問題を解決する方法は?風光明媚なスポットコメントと分析を行っているとき、私たちはしばしばJieba Wordセグメンテーションツールを使用してテキストを処理します...


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ドリームウィーバー CS6
ビジュアル Web 開発ツール

WebStorm Mac版
便利なJavaScript開発ツール
