Skip to main content

Import apps from Git

This guide shows you how to import an existing app connected to Git into a new workspace or a different Appsmith account, enabling you to manage multiple instances of the same app for tasks like feature development, testing, and deployment.

You can connect to Git using any provider of your choice with a Remote SSH URL. The following steps are tailored to popular Git providers such as GitHub, Bitbucket, and GitLab.

caution

If the imported workspace already has a datasource with the same name but a different type, the import fails due to name conflicts. For example, a git-connected application has a MongoDB datasource - "movies" and you are importing it to a workspace that has a PostgreSQL datasource also named "movies." In such a case, the import fails.

  1. Open the Appsmith workspace homepage, then click on the Create New button at the top-right corner, and select Import.

  2. Select the Import from a Git repository option from the import menu.

  3. Select Github as the service provider, and click on Configure Git.

  4. Navigate to the repository's landing page, click on the Code button, and copy the SSH URL.

  5. Paste the URL in the Generate SSH Key section on Appsmith.

  6. Click the Generate SSH Keys button, and unique ECDSA 256 and RSA 4096 keys are displayed. Choose the appropriate key based on your specific security requirements and system constraints.

  7. Copy one of the keys, then navigate to your Repository settings. Proceed to Deploy keys, click on Add deploy keys, paste the copied key, and provide a meaningful title for future reference.

  8. Check the Allow write access option and then add the key.

  9. In Appsmith, click the Connect Git button.

  10. After completing the import process, you need to reconfigure the datasource since Appsmith doesn't export any configuration values used for connecting a datasource. You can do this in the Reconnect Datasources modal or choose to configure them later.

With this capability, you can collaborate on the same Git repository across different applications, enabling management of multi-instance deployments.

See also