Lier une App à Encore Cloud
Une app liée a son ID d'app Encore Cloud dans encore.app, et se déploie depuis la remote encore git ou depuis un repository GitHub lié dans le Cloud Dashboard. Les mêmes étapes fonctionnent pour Encore.ts et Encore.go.
Instructions
Suivez les étapes dans l'ordre, depuis le répertoire racine de l'app.
1. Se connecter
encore auth whoami doit afficher logged in as <email>. Si ce n'est pas le cas, voir encore-login. Une connexion par clé d'authentification (logged in as app <app-id>) ne peut lier que l'app de cette clé (étape 3), pas enregistrer une nouvelle app (étape 4).
2. Vérifier si l'app est liée
grep '"id"' encore.app
git remote get-url encore
"id"a une valeur, et la remote afficheencore://<app-id>: liée. Rien à faire."id"a une valeur, mais il n'y a pas de remoteencore: aller à l'étape 5. Ignorer cette étape si l'app se déploie depuis GitHub (les Paramètres > GitHub de l'app dans le Cloud Dashboard). Si vous ne pouvez pas déterminer, demander à l'utilisateur."id"est vide, ou il n'y a pas de fichierencore.app: non liée. Si l'utilisateur a déjà une app sur Encore Cloud pour ce code, aller à l'étape 3. Sinon aller à l'étape 4. Si vous ne pouvez pas déterminer, demander.
3. Lier à une app Encore Cloud existante
Utiliser cette option quand l'app existe déjà sur Encore Cloud, par exemple une que l'utilisateur a créée dans le Cloud Dashboard. Son ID se trouve dans l'URL du dashboard, app.encore.dev/<app-id>.
encore app link <app-id>
Successfully linked app!: l'ID a été écrit dansencore.app. La commande ajoute aussi la remoteencore, mais seulement quand le repository n'a aucune remote. Vérifier avecgit remote get-url encore, et aller à l'étape 5 si elle manque.Error: that app does not exist, or you don't have access to it.: vérifier l'ID. Si c'est correct, l'utilisateur doit être invité à l'app, ou, avec une clé d'authentification, la clé appartient à une app différente.the app is already linked.:encore.appcontient l'ID d'une autre app. N'ajouter--forceque si l'utilisateur confirme que le code doit passer à l'autre app.no app id given.: passer l'ID en argument.
Puis aller à l'étape 6.
4. Enregistrer le code comme une nouvelle app Encore Cloud
Utiliser cette option pour une app créée sans connexion ou avec --platform=false, du code Encore qui n'a pas de fichier encore.app, ou une copie de l'app de quelqu'un d'autre que l'utilisateur veut déployer séparément.
-
encore app initrefuse de s'exécuter siencore.appexiste (an encore.app file already exists). S'il y en a un, le déplacer hors du repository, et noter les paramètres autres queidetlang, commeglobal_corsoubuild:mv encore.app /tmp/encore.app.bak -
L'enregistrer. Toujours passer
--lang, sinon l'app est traitée comme Go. Le nom suit les mêmes règles queencore app create: lettres minuscules, chiffres et tirets simples.encore app init my-app --lang ts # --lang go pour Encore.goSuccessfully initialized application on Encore Cloud!avec- App ID: <app-id>: terminé. Un nouveauencore.appa été écrit et la remoteencorea été ajoutée, en créant d'abord un repository git s'il n'y en avait pas.The app is not currently linked to the encore.dev platform.: personne n'était connectée, donc seul unencore.applocal a été écrit. Se connecter (étape 1), déplacer à nouveau le nouvelencore.app, et réexécuter.specify an app name: passer le nom en premier argument.--org=<id-or-slug>: l'ajouter pour créer l'app dans une org au lieu du compte personnel de l'utilisateur.
-
Copier les autres paramètres de
/tmp/encore.app.bakdans le nouveauencore.app.
5. Ajouter une remote encore manquante
git remote add encore encore://<app-id>
6. Vérifier et commiter
grep '"id"' encore.app # "id": "<app-id>"
git remote get-url encore # encore://<app-id>
L'app est liée. Son Cloud Dashboard est https://app.encore.dev/<app-id>. Commiter le fichier encore.app modifié avec le prochain commit. Lier ne déploie rien : pour déployer, commiter et pousser (voir encore-deploy).
Directives
- Ne pas exécuter
encore app createpour lier du code existant. Cela crée une nouvelle app dans un nouveau répertoire. - Ne pas utiliser
encore app link --forcesans l'accord de l'utilisateur. Cela pointe le code vers une app différente. - Pour obtenir une app qui est sur Encore Cloud mais pas sur cette machine, la cloner à la place :
encore app clone <app-id>(voirencore-create-app). - Docs: https://encore.dev/docs/platform/deploy/deploying