52 votes

Comment dé-déployer Cloud Functions pour Firebase ?

J'ai expérimenté les fonctions en nuage pour Firebase et j'ai déployé l'un des échantillons dans la base de données des fonctions en nuage. repo fonctions-échantillons et l'a relié à un projet existant en utilisant firebase use --add .

Comme je ne faisais que jouer, ces fichiers n'ont pas été ajoutés à mon contrôle de version, et je n'ai plus accès à la machine sur laquelle cela a été fait. J'aimerais m'appuyer sur cette fonction ou en créer de nouvelles, mais je ne sais pas comment faire pour 1) modifier et redéployer la fonction originale ou 2) déverrouiller la fonction. use --add et recommencer à zéro. Je vois la fonction dans ma console firebase mais pas de bouton "delete" ou "remove" et j'ai parcouru la documentation CLI à la recherche d'indices en vain.

Merci d'avoir ajouté des fonctions à la "pile" de firebase. Tout conseil est très apprécié.

63voto

Robert-Jan Huijsman Points 1456

Les fonctions sont supprimées lorsqu'elles ne sont pas présentes lors d'un firebase deploy . Le plus souvent, ce serait parce que vous avez supprimé la fonction de votre index.js mais si vous avez supprimé l'ensemble functions répertoire qui fonctionnera aussi.

Pour continuer à travailler sur une fonction dont vous n'avez plus la source, le plus simple est de repartir à zéro. La ou les fonctions que vous déployez remplaceront celles que vous avez déployées précédemment.

Si vous avez l'habitude d'utiliser l'option Console Google Cloud au lieu de la Console Firebase la console Cloud vous montrera le code de la fonction actuellement déployée, afin que vous puissiez le copier-coller sur votre machine locale.

La console Cloud dispose également d'un bouton "supprimer" pour chaque fonction, et même d'un éditeur web. Attention toutefois lorsque vous modifiez des fonctions à partir de la console du nuage : votre prochaine modification de la fonction sera effectuée par le biais d'un bouton de suppression. firebase deploy écrasera tous les changements.

0 votes

Merci ! Je ne sais pas si vous êtes un firebaseur, mais si quelqu'un écoute, je recommanderais de spécifier dans le CLI ou dans les docs des fonctions que firebase cherche un functions dans le répertoire où vous exécutez firebase deploy .

0 votes

Yup, Firebaser ici. Merci pour la suggestion, je vais en parler aux auteurs de la documentation ! :)

0 votes

Bonjour, je veux supprimer les fonctions de façon permanente, une aide ? Je n'ai pas trouvé les boutons ou options de suppression.

49voto

neer17 Points 528

Pour supprimer une fonction de manière explicite, utilisez la commande suivante :

$ firebase functions:delete myFunction

Remplacer maFonction avec le nom de votre fonction. Pour des informations détaillées, suivez ce lien : https://firebase.google.com/docs/functions/manage-functions

1 votes

Notez que vous avez besoin de la dernière version de firebase-tools pour faire cela. Actuellement 4.1.1 . Mon problème était que 3.x n'a pas eu la suppression.

45voto

Sumer Singh Points 289

Aller à Fonctions cloud de Google Cloud Console et sélectionnez le projet, puis sélectionnez la fonction que vous voulez déplier ou supprimer. Sélectionnez-la et cliquez sur supprimer.

5voto

Rbar Points 977

Pour supprimer/déployer une seule fonction, vous pouvez supprimer le code de votre fonction et ensuite exécuter ce qui suit en ligne de commande :

firebase deploy --only functions:YourFunctionName

Remplacer YourFunctionName avec le nom de votre fonction

Dans le cas où vous travaillez sur d'autres fonctions que vous n'êtes pas prêt à déployer ou que vous ne voulez pas déployer toutes vos fonctions pour une raison quelconque, alors le code ci-dessus peut être pratique. Cela semble également un peu plus sûr puisque vous ne redéployez pas tout :)

0 votes

Vous devrez probablement spécifier l'option --force. github.com/firebase/firebase-tools/blob/master/src/commands/

1 votes

Si vous n'ajoutez pas --force il vous demandera si vous êtes sûr de vouloir supprimer la fonction. Si vous ajoutez --force il ne le demandera pas. Je préfère qu'il me le demande, mais c'est un bon point que vous pouvez ajouter. --force si vous préférez ne pas le faire !

0 votes

Cela me semble logique en mode non interactif

4voto

isuru Points 879

Maintenant, vous pouvez simplement supprimer une fonction du tableau de bord des fonctions comme suit. Cliquez sur la marque à trois points de la fonction concernée dans le coin droit.

enter image description here

0 votes

Malheureusement, cette "fonction de suppression" n'est plus disponible. Nous devons choisir "Statistiques d'utilisation détaillées" à la place, ce qui vous amènera à l'adresse suivante console.cloud.google.com puis supprimer la fonction de la console

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X