| .. | ||
| __tests__ | ||
| middleware | ||
| types | ||
| constants.ts | ||
| README.md | ||
| source-control-context.factory.ts | ||
| source-control-export.service.ee.ts | ||
| source-control-git.service.ee.ts | ||
| source-control-helper.ee.ts | ||
| source-control-import.service.ee.ts | ||
| source-control-preferences.service.ee.ts | ||
| source-control-resource-helper.ts | ||
| source-control-scoped.service.ts | ||
| source-control-status.service.ee.ts | ||
| source-control.config.ts | ||
| source-control.controller.ee.ts | ||
| source-control.module.ts | ||
| source-control.service.ee.ts | ||
Source Control - Environments
Environments enable enterprise users of n8n to effectively manage multiple deployments of n8n by synchronizing them using a shared git repostiory.
Local development
When using the "usual" pnpm run dev scripts to start a local n8n instance, your local git settings and credentials will be picked up by the git repository that is cloned within n8n.
This is why you should start n8n in a docker container when doing any kind of manual testing of this feature.
Building a local docker image from your local checkout:
pnpm build:docker
Starting a local container using that image:
pnpm --filter n8n-containers stack:enterprise
The development experience of running n8n from source in a docker container still leaves a lot to be desired (lots of waiting for building and running the container). We should improve on this in the future.
Setup Demo
- create a github repo
- copy the ssh repository url
- In n8n
- go to settings/Environments
- paste the ssh repository url
- copy the ssh
- Back in github
- go to Settings/Deploy Keys
- Click Add deploy key
- Pate the ssh
- important Tick "Allow write access"
- Back in n8n
- Click Connect