Próbowałem napisać skrypt, który okresowo odpytuje Google Cloud Storage. Działa to dobrze, gdy uruchomię go normalnie, ale jeśli dołączę go jako krok kompilacji w Jenkins, daje on błąd 403 Forbidden
. Dzieje się tak dlatego, że dla użytkownika Jenkins nie ukończono procesu gcloud auth login
, który wymaga skopiowania kodu weryfikacyjnego. Jak to zrobić, używając Jenkinsa?używać gcloud z Jenkinsem
EDIT:
Próbowałem kroki na: https://cloud.google.com/storage/docs/authentication#service_accounts i pobrać klucz JSON, który wygląda tak:
{"web":{"auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://accounts.google.com/o/oauth2/token","client_email":"[email protected]","client_x509_cert_url":"https://www.googleapis.com/robot/v1/metadata/x509/[email protected]","client_id":"....project.googleusercontent.com","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs"}}
który jest cholernie dziwne, ponieważ wszystkie linki wskazują na rzeczy jak bad request, invalid request
..I musi robić coś złego. Komenda wpadłem było:
gcloud auth activate-service-account [email protected] --key-file /var/lib/jenkins/....project.googleusercontent.com.json
dziękuję! Jednak to właśnie otrzymuję (nie mogę go sformatować, przepraszam: /): ' Plik"/usr/local/share/google/google-cloud-sdk/lib/googlecloudsdk/gcloud/sdktools/auth /activate_service_account.py ", wiersz 90, w Run service_account_id = json_key ['client_id'], KeyError: 'client_id'' –
Czy możesz wkleić w uruchomionym wierszu poleceń, a plik klucza * z kluczem i nazwa użytkownika redacted *? –
Będę aktualizować pytanie –