2016-03-14 5 views
1

Je travaille sur un projet avec Google App Engine. J'utilise une intégration continue via Travis, et je souhaite pouvoir m'en servir directement. En raison d'un bug que will not be resolved directly, je ne peut pas compter sur le déploiement GAE intégré de Travis, donc je dois utiliser mvn appengine:update manuellement. Cela nécessite que je navigue vers une URL générée et que collez manuellement au terminal un code d'authentification, ce que je ne peux pas faire dans les versions automatisées.Connexion à Google avec curl?

Il m'a été suggéré, cependant, que je fais de la magie Unix à la place. Bien que je puisse facilement choisir l'URL à partir de grep, j'ai encore besoin de me connecter à Google avec mes informations d'identification afin d'obtenir le code d'authentification (que je peux ensuite utiliser pour le programme de déploiement).

Étant donné que, comment puis-je me connecter à Google avec mes informations d'identification, en utilisant seulement curl ou des utilitaires de ligne de commande similaires?

+0

Peut-être que vous pourriez utiliser le gdoud sdk pour déployer à partir de la ligne de commande. Lorsque je lance "gcloud init" un projet depuis l'invite de commande, il me permet de m'authentifier avec un compte google –

Répondre

1

J'ai déjà accompli des choses similaires en utilisant des comptes de service. Ce sont probablement un bon ajustement pour votre problème.

Les comptes de service vous permettent d'authentifier et de télécharger votre application sans intervention manuelle.

Vue d'ensemble

Un compte de service vous permettra de faire « passwordless » authentification comme vous pouvez déjà faire avec ssh et git, etc. en créant vos clés. Cela supprimera l'exigence que vous vous connectez manuellement, ou suivez la route de la folie en essayant de faire une connexion "manuelle" automatiquement.

Il existe essentiellement deux étapes:

  1. Créez votre compte de service et la clé (avec les permissions)
  2. utilisation que des titres de compétences au lieu de ce que vous faites maintenant

Ressources

Je pense qu'il est préférable de donner une liste de ressources que des instructions concrètes car il est fondamentalement impossible d'exprimer de façon concise (même si c'est simple processus, il y a forcément beaucoup de petites choses qui agacent), les exigences de chacun seront légèrement différentes, et Google est susceptible de changer le processus à un moment donné.

Espérons que ce assez pour vous dirigiez dans la bonne direction.

Remarque

Vous aurez probablement à passer un peu de temps à regarder votre .appcfg_oauth2_tokens_java et trier une variété d'autres contrariétés, mais je crois que cette approche est la meilleure façon de résoudre votre problème.

Il semble que vous ayez une configuration assez simple et qu'un compte de service vous suffira, mais si vous avez besoin d'être un peu bizarre, the App Engine Admin API est toujours là.