encore-link-app

Par encoredev · skills

Liez une application Encore.ts ou Encore.go locale à Encore Cloud pour pouvoir la déployer, définir des secrets et utiliser le serveur MCP d'Encore Cloud. Explique comment vérifier si une application est déjà liée, enregistrer du code local en tant que nouvelle application Encore Cloud avec `encore app init`, la lier à une application existante avec `encore app link`, et ajouter un git remote `encore` manquant.

npx skills add https://github.com/encoredev/skills --skill encore-link-app

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 affiche encore://<app-id>: liée. Rien à faire.
  • "id" a une valeur, mais il n'y a pas de remote encore: 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 fichier encore.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 dans encore.app. La commande ajoute aussi la remote encore, mais seulement quand le repository n'a aucune remote. Vérifier avec git 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.app contient l'ID d'une autre app. N'ajouter --force que 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.

  1. encore app init refuse de s'exécuter si encore.app existe (an encore.app file already exists). S'il y en a un, le déplacer hors du repository, et noter les paramètres autres que id et lang, comme global_cors ou build :

    mv encore.app /tmp/encore.app.bak
  2. L'enregistrer. Toujours passer --lang, sinon l'app est traitée comme Go. Le nom suit les mêmes règles que encore app create : lettres minuscules, chiffres et tirets simples.

    encore app init my-app --lang ts   # --lang go pour Encore.go
    • Successfully initialized application on Encore Cloud! avec - App ID: <app-id>: terminé. Un nouveau encore.app a été écrit et la remote encore a é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 un encore.app local a été écrit. Se connecter (étape 1), déplacer à nouveau le nouvel encore.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.
  3. Copier les autres paramètres de /tmp/encore.app.bak dans le nouveau encore.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 create pour lier du code existant. Cela crée une nouvelle app dans un nouveau répertoire.
  • Ne pas utiliser encore app link --force sans 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> (voir encore-create-app).
  • Docs: https://encore.dev/docs/platform/deploy/deploying

Skills similaires