วิธีเปลี่ยนโครงการใน GCP โดยใช้คำสั่ง CLI


223

ฉันจะเปลี่ยนโครงการที่กำลังทำงานอยู่เป็นโครงการอื่นในบัญชี GCP ( แพลตฟอร์ม Google Cloud ) โดยใช้คำสั่ง cliนอกเหนือจากการใช้gcloud initด้วยตนเองได้อย่างไร

$gcloud projects listจะแสดงรายการโครงการที่กำลังทำงานอยู่ในบัญชีของฉัน ฉันต้องการเปลี่ยนโครงการปัจจุบันเป็นโครงการอื่นจากรายการโดยใช้คำสั่ง cli

คำตอบ:


447
gcloud config set project my-project

$CLOUDSDK_CORE_PROJECTนอกจากนี้คุณยังสามารถตั้งค่าตัวแปรสภาพแวดล้อม


58
ช่วยรับชื่อโครงการด้วย:gcloud projects list
sww314

16
และเพื่อตรวจสอบว่าโครงการใดที่ใช้งานอยู่ในปัจจุบันให้ใช้gcloud config get-value project
Chris Halcrow

4
สิ่งที่ตลกคือฉันเปลี่ยนโครงการเพียงครั้งเดียวหรือสองครั้งต่อเดือน ดังนั้นทุกครั้งที่ฉันต้อง google มันและจบที่คำตอบนี้อีกครั้งและพยายามให้มัน upvote อีก :-D
L.Butz

81

ตรวจสอบให้แน่ใจว่าคุณได้รับการรับรองความถูกต้องด้วยบัญชีที่ถูกต้อง:

gcloud auth list
* account 1
  account 2

เปลี่ยนเป็นบัญชีของโครงการหากไม่:

gcloud config set account `ACCOUNT`

รายการโครงการจะแตกต่างกันไปตามบัญชี

gcloud projects list

- project 1
- project 2...

เปลี่ยนเป็นโครงการที่ตั้งใจไว้:

gcloud config set project `PROJECT ID`

24

คุณควรใช้รหัสโครงการและไม่ใช่ชื่อตามคำตอบอื่น ๆ ที่บอกเป็นนัย

ตัวอย่าง:

gcloud projects list

PROJECT_ID              NAME                  PROJECT_NUMBER
something-staging-2587  something-staging     804012817122
something-production-24 something-production  392181605736

แล้ว:

gcloud config set project something-staging-2587

นอกจากนี้ยังเป็นสิ่งเดียวกันเมื่อใช้เพียงแค่--projectตั้งค่าสถานะด้วยคำสั่งอย่างใดอย่างหนึ่ง:

gcloud --project something-staging-2587 compute ssh my_vm

หากคุณใช้ชื่อมันจะยอมรับอย่างเงียบ ๆ แต่คุณจะได้รับปัญหาการเชื่อมต่อหรือการอนุญาตเมื่อพยายามปรับใช้บางอย่างกับโครงการ


10

คำตอบที่เลือกไม่ได้ช่วยถ้าคุณไม่ทราบชื่อโครงการที่คุณเพิ่ม gcloud แล้ว โฟลว์ของฉันคือการแสดงรายการโครงการที่ใช้งานอยู่จากนั้นเปลี่ยนเป็นโครงการที่ฉันต้องการ

gcloud config configurations list

gcloud config configurations activate [NAME]
โดยที่ [NAME] อยู่ในรายการจากคำสั่งก่อนหน้า


6

นอกจากนี้หากคุณใช้มากกว่าหนึ่งโครงการและไม่ต้องการตั้งค่าโครงการทั่วโลกทุกครั้งคุณสามารถใช้การเลือกธงโครงการ

ตัวอย่างเช่น: เพื่อเชื่อมต่อเครื่องเสมือนชื่อmy_vmภายใต้โครงการที่มีชื่อmy_projectในแพลตฟอร์ม Google Cloud:

gcloud - โปรเจค my_project คำนวณ ssh my_vm

วิธีนี้คุณสามารถทำงานร่วมกับโครงการหลายและการเปลี่ยนแปลงระหว่างพวกเขาได้อย่างง่ายดายโดยเพียงแค่การวางโครงการธง คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับธง GCP อื่น ๆ จากที่นี่


4

สำหรับสิ่งที่คุ้มค่าถ้าคุณมีมากกว่าหนึ่งโครงการที่ฉันใช้:

gcloud init

นี่จะแสดงรายการโครงการทั้งหมดของคุณและให้ตัวเลือกในการเปลี่ยนการตั้งค่าโครงการปัจจุบันเพิ่มการกำหนดค่าโครงการหรือสวิตช์ใหม่:

Pick configuration to use:
 [1] Re-initialize this configuration [esqimo-preprod] with new settings
 [2] Create a new configuration
 [3] Switch to and re-initialize existing configuration: [default]
 [4] Switch to and re-initialize existing configuration: [project 1]
 [5] Switch to and re-initialize existing configuration: [project 2]
Please enter your numeric choice:

มันจะขอให้คุณเข้าสู่ระบบและแสดงตัวเลือกสำหรับบัญชี Google ที่คุณอาจมี

เนื่องจากฉันจัดการหลายองค์กรและโครงการวิธีการนี้ทำให้ฉันสามารถสลับไปมาระหว่างกันได้


3

ฉันชอบชื่อแทนและสำหรับสิ่งที่อาจต้องใช้หลายคำสั่งตามความต้องการของโครงการของคุณฉันชอบฟังก์ชั่น ...

ตัวอย่าง

function switchGCPProject() {
        gcloud config set project [Project Name]
        // if you are using GKE use the following
        gcloud config set container/cluster [Cluster Name]
        // if you are using GCE use the following
        gcloud config set compute/zone [Zone]
        gcloud config set compute/region [region]
        // if you are using GKE use the following
        gcloud container clusters get-credentials [cluster name] --zone [Zone] --project [project name]
        export GOOGLE_APPLICATION_CREDENTIALS=path-to-credentials.json
}

1

gcloud projects listตรวจสอบโครงการที่มีอยู่โดยการทำงาน: นี่จะให้รายการของโครงการที่คุณสามารถเข้าถึงได้ วิธีสลับระหว่างโครงการ: gcloud config set project <project-id>.

นอกจากนี้ฉันขอแนะนำให้ตรวจสอบการกำหนดค่าที่ใช้งานอยู่ก่อนที่จะทำการเปลี่ยนแปลงใด ๆ กับการกำหนดค่า gcloud คุณสามารถทำได้โดยการเรียกใช้:gcloud config list


1

อาจเป็นไปได้ว่าฉันจะตอบช้า แต่คำสั่งนี้ทำให้ฉันเรียนรู้มากมายเกี่ยวกับ gcloud SDK

gcloud alpha interactive

gcloud config set project my-projectมันง่ายที่จะค้นพบด้วยตัวเองว่าคุณจะต้อง

สิ่งที่ดีที่สุดคือภาวะแทรกซ้อนของแท็บเพื่อให้คุณเห็นรายการของโครงการโดยการกดที่แท็บสองครั้ง


1

ฉันโพสต์คำตอบนี้เพื่อให้ข้อมูลเชิงลึกในหลาย ๆ วิธีที่คุณสามารถเปลี่ยนโครงการใน GCP ฉันจะอธิบายด้วยว่าควรใช้ตัวเลือกต่อไปนี้เมื่อใด


ตัวเลือก 1: Cloud CLI - ตั้งค่าคุณสมบัติโครงการบน Cloud SDK บน CLI

ใช้ตัวเลือกนี้หากคุณต้องการเรียกใช้คำสั่ง Cloud CLI ทั้งหมดในโครงการเฉพาะ

gcloud config set project <Project-ID>

ด้วยสิ่งนี้โครงการที่เลือกไว้Cloud CLIจะเปลี่ยนไปและโครงการที่เลือกในปัจจุบันจะเน้นเป็นสีเหลือง

ป้อนคำอธิบายรูปภาพที่นี่


ตัวเลือก 2: Cloud CLI - ตั้งค่าแฟล็ก ID โครงการด้วยคำสั่งส่วนใหญ่

ใช้คำสั่งนี้หากคุณต้องการรันคำสั่งในหลายโครงการ ตัวอย่าง: สร้างกลุ่มในโครงการหนึ่งและใช้การกำหนดค่าเดียวกันเพื่อสร้างในโครงการอื่น ใช้การตั้งค่าสถานะต่อไปนี้สำหรับแต่ละคำสั่ง

--project <Project-ID>

ตัวเลือก 3: Cloud CLI - เริ่มต้นการกำหนดค่าใน CLI

ตัวเลือกนี้สามารถใช้หากคุณต้องการกำหนดค่าแยกต่างหากสำหรับโครงการ / บัญชีที่แตกต่างกัน ด้วยวิธีนี้คุณสามารถสลับระหว่างการกำหนดค่าโดยใช้activateคำสั่ง gcloud config configurations activate <congif-name>เช่น:

gcloud init

ตัวเลือก 4: เปิด Cloud Shell ใหม่พร้อมโครงการที่คุณต้องการ

สิ่งนี้เป็นสิ่งที่ต้องการหากคุณไม่ต้องการทำงานกับคำสั่ง CLI กดPLUS +ปุ่มสำหรับแท็บใหม่ ป้อนคำอธิบายรูปภาพที่นี่

จากนั้นเลือกโครงการที่คุณต้องการ

ป้อนคำอธิบายรูปภาพที่นี่


0

ฉันเพิ่มชื่อแทนใน. bash_alaises เพื่อเปลี่ยนเป็นโครงการอื่น

alias switch_proj1="gcloud config set project ************"

นี่คือสคริปต์ในการสร้างนามแฝง :) สำหรับโครงการทั้งหมดที่ระบุไว้ โปรดอัปเดต switch_proj เป็นนามแฝงโครงการที่ไม่ซ้ำซึ่งคุณสามารถจดจำได้

gcloud projects list | awk '{print "alias switch_proj=\"gcloud config set project " $1 "\""}'

0

หากต้องการอัพเดตโครงการที่มีอยู่ของคุณเป็นโครงการอื่นคุณสามารถใช้บรรทัดคำสั่งนี้:

โครงการ gcloud อัปเดต PROJECT_ID --name = NAME

NAME: จะเป็นชื่อใหม่ของโครงการของคุณ


3
คำถามคือวิธีการเปลี่ยนโครงการทำงานปัจจุบันเป็นโครงการอื่นไม่ใช่เกี่ยวกับวิธีเปลี่ยนชื่อโครงการ ข้อมูลที่มีค่า แต่ไม่เกี่ยวข้องกับคำถาม
P.hunter

0

ตรวจสอบโครงการของคุณโดยเรียกใช้รายการกำหนดค่า gcloud จากนั้นตั้งค่าชุด gcloud "ชื่อโครงการ"


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.