1
votes

Utilisation de gcloud pour déployer sur un domaine personnalisé

J'ai une application Google App Engine qui s'exécute dans une URL personnalisée xxx.org. Je peux déployer une version mise à jour à l'aide du lanceur graphique GAE, uniquement en cliquant sur le bouton «Déployer». Pourtant, j'essaie maintenant d'apprendre à utiliser la machinerie gcloud puisque le lanceur ne fonctionnera plus après le 30 juillet 2020. Je suis perplexe quant à la façon de déployer en utilisant le gcloud déploiement de l'application.

J'ai essayé beaucoup de choses sur la base d'indices dans la documentation et les discussions disponibles sur le Web, mais tout ce que je peux obtenir, ce sont des messages d'erreur incompréhensibles. Je suppose que je dois modifier mon fichier app.yaml. Quelqu'un peut-il me donner des instructions très explicites sur ce que je dois faire? (Je dois dire que j'ai appris à exécuter localement en utilisant les commandes gcloud plutôt que le lanceur, mais je ne peux pas déployer.)


2 commentaires

Avez-vous eu l'occasion de lire la documentation sur le déploiement d'applications sur GAE disponible ici? cloud.google.com/appengine/ docs / flexible / nodejs /… ... si quelque chose ne fonctionne pas, décrivez peut-être ce que vous pensez, ce que vous essayez et ce que vous vivez.


Oui, j'ai lu la documentation et j'ai cherché sur le Web. Ce que je recherche, c'est un exemple simple et explicite de ce à quoi ressemble une instruction «gcloud app deploy» lorsque le site Web est xxx.org, pas la valeur par défaut xxx.appspot.com (je ne me suis peut-être pas souvenu de cette dernière URL ). Non seulement je suis perplexe quant à la forme de cette déclaration, mais je ne comprends pas non plus ce que je dois changer dans mon fichier app.yaml et si je suis également obligé d'avoir en plus un autre fichier .yaml.


3 Réponses :


0
votes

Si la commande gcloud est nouvelle pour vous, vous pourriez peut-être envisager de suivre l'un des bons tutoriels publiés sur Google Cloud docs , avec une nouvelle application démo simple, dans un nouveau projet isolé, juste pour valider que vous êtes en mesure de déployer à l'aide de la commande gcloud app deploy .

Tout d'abord, je vous suggère de vérifier si gcloud sdk est correctement installé et configuré. Pour cela, vous pouvez suivre cette procédure:

Une étape importante est gcloud init qui initialisera votre configuration et définira votre projet par défaut, avec également vos identifiants. (authentification).

Après cette procédure, la commande gcloud config list devrait récupérer les propriétés de certains environnements, au moins:

[core]
account = your@email
project = your-project-id

Your active configuration is: [your-project-id]

your-project-id est l'identifiant de votre projet dans GCP. Consultez console.cloud.google.com pour plus de détails et une vue ergonomique de l'interface utilisateur.

Ceci est la base. Inutile d'aller plus loin, si cela ne fonctionne pas bien à ce stade.

Domaines personnalisés

À propos des domaines personnalisés, pas de lien réel avec déployer l'application gcloud . Il vous suffit d'ajouter un mappage et de mettre à jour les enregistrements DNS. Mais il semble que cela soit déjà fait, car votre application est déjà active. Suivez cette procédure officielle (avec gcloud ) pour ajouter un mappage.

Vérifiez la réponse de Daniel avec un bon détail de chaque étape que vous devez suivre.


4 commentaires

1) Je peux déployer en cliquant sur le bouton «Déployer» dans le lanceur graphique alors que 2) malgré la lecture de nombreux documents et en essayant beaucoup de choses, je ne sais pas quelles commandes gcloud émettre pour obtenir le même effet. Actuellement, lorsque j'accède à mon application et que j'exécute gcloud app deploy, j'obtiens "ERREUR: (gcloud.app.deploy) Erreur d'autorisation lors de la récupération de l'application [apps / devbashero]. Veuillez vous assurer que vous utilisez l'ID de projet correct et que vous êtes autorisé à afficher les applications sur le projet. " Je ne sais pas ce qu'est un "ID de projet", ni quoi en faire si je trouve ce que c'est.


Je viens de modifier ma réponse. Project-id est l'identifiant de votre projet dans GCP. Cela signifie que votre environnement n'est pas correctement configuré. Veuillez suivre attentivement la procédure GCP (lien dans ma réponse). Pensez également à suivre un tutoriel de démarrage sur GCP avant d'aller plus loin.


Mais comment expliquer que le bouton "Déployer" du lanceur fonctionne, si mon environnement n'est "pas correctement configuré"? Et j'ai parcouru le didacticiel, mais je n'ai pas réussi à trouver là ou dans le matériel de référence quoi que ce soit sur la façon d'utiliser gcloud app deploy dans le cas d'une URL personnalisée.


D'accord, je suis allé un peu plus loin. J'ai réussi à exécuter gcloud app deploy sans recevoir de message d'erreur, mais il s'est déployé sur l '"URL cible" devbasherwo.appspot.com < / a> au lieu de devbasherwo.org . Alors maintenant, ma question se résume peut-être à la manière de définir une "URL cible", ce que je n'ai pas encore trouvé comment faire.



2
votes

En supposant que l'application peut être déployée avec le domaine personnalisé, cela signifie que le mappage est déjà effectué et que les enregistrements DNS ont été mis à jour. Néanmoins, vous pouvez trouver toute la documentation importante [ici]. ( https : //cloud.google.com/appengine/docs/standard/python/mapping-custom-domains )

Un simple résumé utilisant les commandes gcloud pour mapper le domaine personnalisé comprendrait:

  1. Ouverture de Webmaster Central pour vérifier la propriété de votre domaine (notez que pour App Engine, il est préférable d'utiliser un enregistrement CNAME plutôt que d'utiliser des enregistrements TXT):

domaines gcloud verify example.com

  1. Vérifiez si le domaine est vérifié avec:

Liste de domaines gcloud vérifiée par l'utilisateur

  1. Déléguez la propriété aux utilisateurs ou comptes de service concernés utilisés par votre application via la page Webmaster Central.

  2. Créez le mappage:

Les mappages de domaine d'application gcloud créent '* .example.com'

  1. Ajoutez les enregistrements de ressources (A, AAAA, CNAME, TXT, etc.) à la configuration DNS de votre registraire de domaine.

Après avoir testé que vous pouvez utiliser votre application via le domaine personnalisé (dans ce cas www.example.com ), il n'y a pas grand-chose à faire concernant l'utilisation de l'application gcloud déployer . Mais notez que si vous utilisez des caractères génériques pour mapper des sous-domaines avec des services à n'importe quel niveau, vous devrez utiliser un fichier dispatch.yaml . Dont vous devez déployer avec la commande gcloud app deploy dispatch.yaml .


0 commentaires

0
votes
  1. Vous ne pouvez pas déployer vers une URL "spécifique". Vous déployez sur un projet spécifique via la commande

    gcloud app deploy {chemin vers votre fichier app.yaml} --project = {PROJECT_NAME}

  2. Par ailleurs, vous auriez mappé votre adresse ".appspot.com" avec votre domaine personnalisé sur la page des paramètres App Engine


1 commentaires

Veuillez ne pas promouvoir votre propre contenu dans les réponses à moins qu'il ne soit pertinent pour la question. Si vous faites cela, vous serez considéré comme un spammeur.