2015-03-23 15 views
9

Zgodnie z dokumentacją polecenia https://cloud.google.com/sdk/gcloud/reference/initgcloud init myproject nie działa.Utwórz nowy projekt Google Cloud, używając gcloud

google-cloud> gcloud init myproject Initialized gcloud directory in [/Users/arungupta/workspaces/google-cloud/myproject/.gcloud]. Cloning [https://source.developers.google.com/p/myproject/r/default] into [default]. Cloning into '/Users/arungupta/workspaces/google-cloud/myproject/default'... fatal: remote error: Repository not found. You may need to create a repository for this project using the Source Code tab at https://console.developers.google.com ERROR: Command '['git', 'clone', 'https://source.developers.google.com/p/myproject/r/default', '/Users/arungupta/workspaces/google-cloud/myproject/default', '--config', 'credential.helper=gcloud.sh']' returned non-zero exit status 128 ERROR: Unable to initialize project [myproject], cleaning up [/Users/arungupta/workspaces/google-cloud/myproject]. ERROR: (gcloud.init) Unable to initialize project [myproject].

Tworzenie projektu przy użyciu gcloud init minecraft-server --project minecraft-server-183 tworzy projekt o nazwie minecraft-server-183.

Utworzony projekt nie jest wówczas widoczny pod numerem https://console.developers.google.com/project.

Co to jest poprawne polecenie gcloud w celu utworzenia nowego projektu bez wchodzenia na konsolę?

+0

['gcloud init' już nie przyjmuje argument * nazwa-projektu *) (https://cloud.google.com/sdk/gcloud/reference/init). Po prostu tworzy ogólną konfigurację dla bieżącego użytkownika, w tym uwierzytelnianie. – poolie

Odpowiedz

0

Aktualizacja: z dnia 24.10.2016 @poolie mówi polecenie gcloud wspomniano w odpowiedzi Szczepana jest teraz publicznie dostępnych, pozostawi tę odpowiedź tutaj daję jakiś inny sugestie użycia.


Mam też problem, i był bardzo zniechęcony uwagą @Stephan Weinberga, ale zauważyłem, kiedy robi gcloud init że pyta gdzie umieścić „default” repozytorium. więc spojrzałem na jego konfigurację i widziałem, że różni się nieco od tego, co jest udokumentowane.

Spróbuj przepchnąć do https://source.developers.google.com/p/YOUR-PROJECT-NAME/r/default zamiast tego, zadziałało to dla mnie!

+0

Musisz jednak wcześniej utworzyć projekt, ale dobrze jest wiedzieć o początkowym naciśnięciu. – poolie

0

Oto skrypt, który stworzy projekt, który jest edytowalny przez użytkownika (z wielu powodów, takich jak na weryfikowalność kont usług, można tworzyć projekty dla poszczególnych użytkowników):

#!/bin/bash 
if [ "$#" -lt 3 ]; then 
    echo "Usage: ./create_projects.sh billingid project-prefix email1 [email2 [email3 ...]]]" 
    echo " eg: ./create_projects.sh 0X0X0X-0X0X0X-0X0X0X learnml-20170106 [email protected] [email protected]" 
    exit 
fi 
ACCOUNT_ID=$1 
shift 
PROJECT_PREFIX=$1 
shift 
[email protected] 
gcloud components update 
gcloud components install alpha 
for EMAIL in $EMAILS; do 
    PROJECT_ID=$(echo "${PROJECT_PREFIX}-${EMAIL}" | sed 's/@/-/g' | sed 's/\./-/g' | cut -c 1-30) 
    echo "Creating project $PROJECT_ID for $EMAIL ... " 
    # Create project 
    gcloud alpha projects create $PROJECT_ID 
    # Add user to project 
    gcloud alpha projects get-iam-policy $PROJECT_ID --format=json > iam.json.orig 
    cat iam.json.orig | sed s'/"bindings": \[/"bindings": \[ \{"members": \["user:'$EMAIL'"\],"role": "roles\/editor"\},/g' > iam.json.new 
    gcloud alpha projects set-iam-policy $PROJECT_ID iam.json.new 
    # Set billing id of project 
    gcloud alpha billing accounts projects link $PROJECT_ID --account-id=$ACCOUNT_ID 
done 

Objaśnienie skryptu jest na medium: https://medium.com/google-cloud/how-to-automate-project-creation-using-gcloud-4e71d9a70047#.t58mss3co i link github do powyższego kodu (na przykład zaktualizuję go, aby usunąć alfa, gdy przejdzie beta/GA) jest tutaj: https://github.com/GoogleCloudPlatform/training-data-analyst/blob/master/blogs/gcloudprojects/create_projects.sh