0

J'essaie de déployer mon application de démarrage de printemps vers le moteur de l'application via Jenkins à l'aide de Maven. Après que maven ait construit le paquet, j'utilise "mvn install appengine: deploy" dans le shell d'exécution de l'étape Build. Cependant, je reçois l'erreur suivante quand il est construit,Erreur d'autorisation GCloud lors du déploiement dans le moteur de l'application Google flexible

GCLOUD: ERROR: (gcloud.app.deploy) Permissions error fetching application [apps/microservice-qa]. Please make sure you are using the correct project ID and that you have permission to view applications on the project. 

trace d'erreur détaillée:

[INFO] Detected App Engine flexible environment application. 
Sep 12, 2017 7:54:14 AM com.google.cloud.tools.appengine.cloudsdk.CloudSdk logCommand 
INFO: submitting command: /usr/lib/google-cloud-sdk/bin/gcloud app deploy 
[INFO] GCLOUD: Services to deploy: 
[INFO] GCLOUD: 
[INFO] GCLOUD: descriptor:  [/opt/bitnami/apps/jenkins/jenkins_home/workspace/demo-test/target/appengine-staging/app.yaml] 
[INFO] GCLOUD: source:   [/opt/bitnami/apps/jenkins/jenkins_home/workspace/demo-test/target/appengine-staging] 
[INFO] GCLOUD: target project: [xxxx] 
[INFO] GCLOUD: target service: [xxxxx] 
[INFO] GCLOUD: target version: [20170912t075415] 
[INFO] GCLOUD: target url:  [https://xxxxx-dot-microservice-qa.appspot.com] 
[INFO] GCLOUD: 
[INFO] GCLOUD: 
[INFO] GCLOUD: If this is your first deployment, this may take a while... 
[INFO] GCLOUD: ....done. 
[INFO] GCLOUD: 
[INFO] GCLOUD: Beginning deployment of service [another-pub-sub-service]... 
[INFO] GCLOUD: Building and pushing image for service [another-pub-sub-service] 
[INFO] GCLOUD: ERROR: (gcloud.app.deploy) You do not have permission to access project [xxxx] (or it may not exist): The caller does not have permission 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 23.198s 
[INFO] Finished at: Tue Sep 12 07:54:27 UTC 2017 
[INFO] Final Memory: 21M/51M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal com.google.cloud.tools:appengine-maven-plugin:1.3.1:deploy (default-cli) on project demo-test1: Execution default-cli of goal com.google.cloud.tools:appengine-maven-plugin:1.3.1:deploy failed: Non zero exit: 1 -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException 

Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-cli of goal com.google.cloud.tools:appengine-maven-plugin:1.3.1:deploy failed: Non zero exit: 1 
     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
     ... 19 more 
Caused by: com.google.cloud.tools.appengine.api.AppEngineException: Non zero exit: 1 
     at com.google.cloud.tools.appengine.cloudsdk.process.NonZeroExceptionExitListener.onExit(NonZeroExceptionExitListener.java:30) 
     at com.google.cloud.tools.appengine.cloudsdk.internal.process.DefaultProcessRunner.syncRun(DefaultProcessRunner.java:211) 
     at com.google.cloud.tools.appengine.cloudsdk.internal.process.DefaultProcessRunner.run(DefaultProcessRunner.java:137) 
     at com.google.cloud.tools.appengine.cloudsdk.CloudSdk.runGcloudCommand(CloudSdk.java:193) 
     at com.google.cloud.tools.appengine.cloudsdk.CloudSdk.runAppCommandInWorkingDirectory(CloudSdk.java:136) 
     at com.google.cloud.tools.appengine.cloudsdk.CloudSdkAppEngineDeployment.deploy(CloudSdkAppEngineDeployment.java:90) 
     at com.google.cloud.tools.maven.DeployMojo.execute(DeployMojo.java:107) 
     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 
     ... 20 more 

J'ai vérifié les autorisations sur le serveur pour la clé/utilisateur utilisé pour exécuter des commandes gcloud, ils les deux ont tous les droits. Cependant, j'ai toujours l'erreur ci-dessus.

De même, existe-t-il un autre plugin dans Jenkins ou un autre outil (comme jenkins pour gérer les builds et déployer dans le moteur d'application) pour faire de même?

Toute aide serait grandement appréciée. Merci.

Répondre

1

Depuis votre Jenkins serveur peut ne pas être configuré avec votre projet, utilisez les commandes suivantes dans votre jenkins configuration d'emploi:

Exécuter shell:

#!/bin/sh 
gcloud -q auth activate-service-account --key-file=${PROJECT_KEY.JSON} 
gcloud -q config set project ${PROJECT_ID} 
mvn appengine:deploy 

Aussi, pour 'gcloud' soit disponible sur Jenkins serveur, vous devez installer le plugin 'Gestionnaire de déploiement de Google Jenkins Plugin' dans Jenkins.

+0

Merci à @Sonal Aggarwal. Je l'ai fait dans la ligne de commande où Jenkins est installé. Cependant, l'exécution de 'mvn appengine: deploy' à partir de la ligne de commande elle-même renvoie la même erreur. Impossible de comprendre quel pourrait être le problème. – KingKari

+0

Pouvez-vous s'il vous plaît coller le stacktrace ici? Voyez-vous la même erreur même maintenant? –

+0

Oui, je reçois l'erreur même maintenant. J'ai mis à jour la question avec la trace détaillée de la pile. – KingKari