수동으로 사용하는 것 이외의 cli 명령을 사용하여 현재 실행중인 프로젝트를 GCP ( Google Cloud Platform ) 계정의 다른 프로젝트로 변경하는 방법gcloud init
$gcloud projects list
내 계정에서 실행중인 프로젝트를 나열합니다. cli 명령을 사용하여 현재 프로젝트를 목록에서 다른 프로젝트로 변경하고 싶습니다.
답변
gcloud config set project my-project
환경 변수를 설정할 수도 있습니다 $CLOUDSDK_CORE_PROJECT
.
답변
올바른 계정으로 인증되었는지 확인하십시오.
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`
답변
실제로 다른 답변에서 알 수 있듯이 프로젝트 ID는 이름이 아닌 프로젝트 ID를 사용해야합니다.
예:
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
이름을 사용하면 이름을 자동으로 수락하지만 프로젝트에 무언가를 배포하려고 할 때 항상 연결 또는 권한 문제가 발생합니다.
답변
gcloud를 이미 추가 한 프로젝트의 이름을 모르면 선택한 답변이 도움이되지 않습니다. 내 흐름은 활성 프로젝트를 나열한 다음 원하는 프로젝트로 전환하는 것입니다.
gcloud config configurations list
gcloud config configurations activate [NAME]
여기서 [NAME]은 이전 명령에서 나열됩니다.
답변
또한 둘 이상의 프로젝트를 사용하고 매번 글로벌 프로젝트를 설정하지 않으려 는 경우 select project flag를 사용할 수 있습니다 .
예를 들어, Google Cloud Platform에서 my_vm
이름이 지정된 프로젝트에 이름이 지정된 가상 머신을 연결하려면 다음을 수행하십시오 my_project
.
gcloud –project my_project 계산 ssh my_vm
이런 식으로 프로젝트 플래그를 지정 하여 여러 프로젝트로 작업하고 쉽게 변경할 수 있습니다 . 다른 GCP 플래그에 대한 자세한 내용은 여기 를 참조하십시오 .
답변
내가하는 소수 이상의 프로젝트가 있다면 그 가치가 무엇입니까?
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 계정에 대한 로그인 및 표시 옵션을 요구합니다.
여러 조직과 프로젝트를 관리한다는 점을 감안할 때이 접근 방식을 통해 간단히 서로 전환 할 수 있습니다.
답변
나는 별칭을 선호하고 프로젝트 요구에 따라 여러 명령이 필요할 수있는 기능을 선호합니다 …
예
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
}