setup-gcloud
GitHub Actionกำหนดค่า Google Cloud SDK ในสภาพแวดล้อม GitHub Actions Google Cloud SDK มีทั้งไบนารี gcloud และ gsutil
หรือผสานรวมกับการดำเนินการอื่นๆ ของ Google Cloud GitHub:
นี่ไม่ใช่ผลิตภัณฑ์ของ Google ที่ได้รับการสนับสนุนอย่างเป็นทางการ และไม่ครอบคลุมอยู่ในสัญญาการสนับสนุนของ Google Cloud หากต้องการรายงานข้อบกพร่องหรือขอคุณสมบัติในผลิตภัณฑ์ Google Cloud โปรดติดต่อฝ่ายสนับสนุนของ Google Cloud
การดำเนินการนี้ต้องใช้ข้อมูลรับรอง Google Cloud เพื่อดำเนินการคำสั่ง gcloud ดูการอนุญาตสำหรับรายละเอียดเพิ่มเติม
การดำเนินการนี้ทำงานโดยใช้โหนด 20 หากคุณใช้รันเนอร์ GitHub Actions ที่โฮสต์เอง คุณต้องใช้เวอร์ชันรันเนอร์ที่รองรับเวอร์ชันนี้หรือใหม่กว่า
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 Action นี้จะดาวน์โหลดและติดตั้งเวอร์ชันล่าสุดที่มีอยู่ซึ่งยังคงตรงกับข้อจำกัดดังกล่าว
การตรวจสอบสิทธิ์ผ่าน Workload Identity Federation ต้องใช้เวอร์ชัน 363.0.0 หรือใหม่กว่า หากคุณต้องการการสนับสนุนสำหรับ Workload Identity Federation ให้ระบุข้อจำกัดเวอร์ชันของคุณดังนี้:
- uses: 'google-github-actions/setup-gcloud@v2'
with:
version: '>= 363.0.0'
คุณมีหน้าที่รับผิดชอบในการตรวจสอบให้แน่ใจว่าเวอร์ชัน gcloud
ตรงกับฟีเจอร์และส่วนประกอบที่จำเป็น
project_id
: (ไม่บังคับ) ID ของโปรเจ็กต์ Google Cloud หากระบุไว้ ระบบจะกำหนดค่า gcloud ให้ใช้รหัสโปรเจ็กต์นี้เป็นค่าเริ่มต้นสำหรับคำสั่ง คำสั่งแต่ละคำสั่งยังคงสามารถแทนที่โปรเจ็กต์ได้โดยใช้แฟล็ก --project
ซึ่งมีความสำคัญกว่า หากไม่ได้ระบุ การดำเนินการจะพยายามค้นหารหัสโปรเจ็กต์ "ดีที่สุด" โดยดูที่อินพุตและตัวแปรสภาพแวดล้อมอื่นๆ
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 '
หากต้องการใช้บัญชีบริการหลายบัญชี ต้องมีขั้นตอนการตรวจสอบสิทธิ์ที่ 2 เพื่ออัปเดตข้อมูลรับรองก่อนใช้ 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