setup-gcloud
GitHub 操作在 GitHub Actions 環境中設定 Google Cloud SDK。 Google Cloud SDK 包括 gcloud 和 gsutil 二進位檔案。
或與其他 Google Cloud GitHub Actions 原生整合:
這不是 Google 官方支援的產品,並且不在 Google Cloud 支援合約的涵蓋範圍內。若要回報 Google Cloud 產品中的錯誤或要求功能,請聯絡 Google Cloud 支援。
此操作需要 Google Cloud 憑證才能執行 gcloud 命令。有關更多詳細信息,請參閱授權。
此操作使用 Node 20 運行。
jobs :
job_id :
# Add "id-token" with the intended permissions.
permissions :
contents : ' read '
id-token : ' write '
steps :
- id : ' auth '
uses : ' google-github-actions/auth@v2 '
with :
workload_identity_provider : ' projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider '
service_account : ' [email protected] '
- name : ' Set up Cloud SDK '
uses : ' google-github-actions/setup-gcloud@v2 '
with :
version : ' >= 363.0.0 '
- name : ' Use gcloud CLI '
run : ' gcloud info '
version
:(可選,預設值: latest
)表示要安裝的 Cloud SDK ( gcloud
) 版本或版本限制的字串(例如"290.0.1"
或">= 197.0.1"
)。預設值為"latest"
,它將始終下載並安裝最新可用的 Cloud SDK 版本。
- uses: 'google-github-actions/setup-gcloud@v2'
with:
version: '>= 416.0.0'
如果沒有安裝與給定約束相符的gcloud
版本,此 GitHub 操作將下載並安裝仍與約束相符的最新可用版本。
透過工作負載聯合身份驗證需要版本 363.0.0 或更高版本。如果您需要工作負載聯合身份驗證的支持,請指定您的版本約束,如下所示:
- uses: 'google-github-actions/setup-gcloud@v2'
with:
version: '>= 363.0.0'
您有責任確保gcloud
版本與所需的功能和元件相符。
project_id
:(可選) Google Cloud 專案的 ID。如果提供,這將配置 gcloud 預設情況下使用此項目 ID 來執行命令。單一命令仍然可以使用優先的--project
標誌來覆蓋項目。如果未指定,該操作將嘗試透過查看其他輸入和環境變數來尋找「最佳」項目 ID。
install_components
:(可選)要安裝的其他 gcloud 元件列表,指定為以逗號分隔的字串列表:
install_components: 'alpha,cloud-datastore-emulator'
skip_install
:(可選)跳過 gcloud 的安裝並使用系統提供的版本。如果指定,則忽略version
輸入。
version
:安裝的 gcloud 版本。 setup-gcloud
操作會安裝 Cloud SDK ( gcloud
)。若要設定其對 Google Cloud 的身份驗證,您必須先使用 google-github-actions/auth 操作。 auth
操作設定應用程式預設憑證,然後setup-gcloud
操作會引用這些憑證來設定 gcloud 憑證 。您可以透過以下選項進行身份驗證:
bq
和gsutil
工具進行身份驗證。
jobs :
job_id :
# Add "id-token" with the intended permissions.
permissions :
contents : ' read '
id-token : ' write '
steps :
- id : ' auth '
uses : ' google-github-actions/auth@v2 '
with :
workload_identity_provider : ' projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider '
service_account : ' [email protected] '
- name : ' Set up Cloud SDK '
uses : ' google-github-actions/setup-gcloud@v2 '
- name : ' Use gcloud CLI '
run : ' gcloud info '
jobs :
job_id :
steps :
- id : ' auth '
uses : ' google-github-actions/auth@v2 '
with :
credentials_json : ' ${{ secrets.GCP_CREDENTIALS }} '
- name : ' Set up Cloud SDK '
uses : ' google-github-actions/setup-gcloud@v2 '
- name : ' Use gcloud CLI '
run : ' gcloud info '
如果您使用的是在 Google Cloud Platform 上託管的自架執行器,則會從附加到執行器的服務帳戶自動取得憑證。在這種情況下,您不需要執行 google-github-actions/auth 操作。
jobs :
job_id :
steps :
- name : ' Set up Cloud SDK '
uses : ' google-github-actions/setup-gcloud@v2 '
- name : ' Use gcloud CLI '
run : ' gcloud info '
若要使用多個服務帳戶,在使用setup-gcloud
之前需要執行第二個驗證步驟來更新憑證:
jobs :
job_id :
# Add "id-token" with the intended permissions.
permissions :
contents : ' read '
id-token : ' write '
steps :
- id : ' auth service account 1 '
uses : ' google-github-actions/auth@v2 '
with :
workload_identity_provider : ' projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider '
service_account : ' [email protected] '
- name : ' Set up Cloud SDK '
uses : ' google-github-actions/setup-gcloud@v2 '
- name : ' Use gcloud CLI '
run : ' gcloud auth list --filter=status:ACTIVE --format="value(account)" '
# [email protected]
- id : ' auth service account 2 '
uses : ' google-github-actions/auth@v2 '
with :
credentials_json : ' ${{ secrets.GCP_CREDENTIALS }} '
- name : ' Set up Cloud SDK '
uses : ' google-github-actions/setup-gcloud@v2 '
- name : ' Use gcloud CLI '
run : ' gcloud auth list --filter=status:ACTIVE --format="value(account)" '
# [email protected]
我們建議固定到最新的可用主要版本:
- uses : ' google-github-actions/setup-gcloud@v2 '
雖然此操作試圖遵循語義版本控制,但我們終究是人類,有時會犯錯。為了防止意外的重大更改,您也可以固定到特定版本:
- uses : ' google-github-actions/[email protected] '
但是,如果不明確更新版本號,您將無法獲得自動安全性更新或新功能。請注意,我們僅發布MAJOR
和MAJOR.MINOR.PATCH
版本。 MAJOR.MINOR
沒有浮動別名。