setup-gcloud
Mengonfigurasi Google Cloud SDK di lingkungan GitHub Actions. Google Cloud SDK mencakup biner gcloud dan gsutil.
Atau integrasikan secara asli dengan Google Cloud GitHub Actions lainnya:
Ini bukan produk Google yang didukung secara resmi, dan tidak tercakup dalam kontrak dukungan Google Cloud. Untuk melaporkan bug atau meminta fitur pada produk Google Cloud, harap hubungi dukungan Google Cloud.
Tindakan ini memerlukan kredensial Google Cloud untuk menjalankan perintah gcloud. Lihat Otorisasi untuk lebih jelasnya.
Tindakan ini berjalan menggunakan Node 20. Jika Anda menggunakan runner GitHub Actions yang dihosting sendiri, Anda harus menggunakan versi runner yang mendukung versi ini atau yang lebih baru.
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
: (Opsional, default: latest
) Sebuah string yang mewakili versi atau batasan versi Cloud SDK ( gcloud
) yang akan diinstal (misalnya "290.0.1"
atau ">= 197.0.1"
). Nilai defaultnya adalah "latest"
, yang akan selalu mendownload dan menginstal versi Cloud SDK terbaru yang tersedia.
- uses: 'google-github-actions/setup-gcloud@v2'
with:
version: '>= 416.0.0'
Jika tidak ada versi gcloud
terinstal yang cocok dengan batasan yang diberikan, Tindakan GitHub ini akan mendownload dan menginstal versi terbaru yang tersedia dan masih sesuai dengan batasan tersebut.
Mengautentikasi melalui Workload Identity Federation memerlukan versi 363.0.0 atau yang lebih baru. Jika Anda memerlukan dukungan untuk Federasi Identitas Beban Kerja, tentukan batasan versi Anda seperti ini:
- uses: 'google-github-actions/setup-gcloud@v2'
with:
version: '>= 363.0.0'
Anda bertanggung jawab untuk memastikan versi gcloud
sesuai dengan fitur dan komponen yang diperlukan.
project_id
: (Opsional) ID proyek Google Cloud. Jika disediakan, ini akan mengonfigurasi gcloud agar menggunakan ID proyek ini secara default untuk perintah. Perintah individual masih dapat menimpa proyek menggunakan tanda --project
yang diutamakan. Jika tidak ditentukan, tindakan tersebut akan mencoba menemukan ID proyek "terbaik" dengan melihat input dan variabel lingkungan lainnya.
install_components
: (Opsional) Daftar komponen gcloud tambahan yang akan diinstal, ditetapkan sebagai daftar string yang dipisahkan koma:
install_components: 'alpha,cloud-datastore-emulator'
skip_install
: (Opsional) Lewati instalasi gcloud dan gunakan versi yang disediakan sistem. Jika ditentukan, masukan version
diabaikan.
version
: Versi gcloud yang diinstal. Tindakan setup-gcloud
menginstal Cloud SDK ( gcloud
). Untuk mengonfigurasi autentikasinya ke Google Cloud, Anda harus menggunakan tindakan google-github-actions/auth terlebih dahulu. Tindakan auth
menetapkan Kredensial Default Aplikasi, lalu tindakan setup-gcloud
mereferensikan kredensial ini untuk mengonfigurasi kredensial gcloud. Anda dapat mengautentikasi melalui opsi berikut:
bq
dan 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 '
Jika Anda menggunakan pelari yang dihosting sendiri yang dihosting di Google Cloud Platform, kredensial diperoleh secara otomatis dari akun layanan yang dilampirkan ke pelari. Dalam skenario ini, Anda tidak perlu menjalankan tindakan 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 '
Untuk menggunakan beberapa akun layanan, langkah autentikasi kedua diperlukan untuk memperbarui kredensial sebelum menggunakan 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]
Kami merekomendasikan untuk menyematkan ke versi utama terbaru yang tersedia:
- uses : ' google-github-actions/setup-gcloud@v2 '
Meskipun tindakan ini mencoba mengikuti versi semantik, namun pada akhirnya kita adalah manusia dan terkadang membuat kesalahan. Untuk mencegah perubahan yang tidak disengaja, Anda juga dapat menyematkan ke versi tertentu:
- uses : ' google-github-actions/[email protected] '
Namun, Anda tidak akan mendapatkan pembaruan keamanan otomatis atau fitur baru tanpa memperbarui nomor versi Anda secara eksplisit. Perhatikan bahwa kami hanya menerbitkan versi MAJOR
dan MAJOR.MINOR.PATCH
. Tidak ada alias mengambang untuk MAJOR.MINOR
.