Sometimes you may want to use an external project from within your main repository, eg. a library that will generate code in your web app. Git addresses this issue with submodules that allow you to deploy changes from both main and external repositories.
The repository is cloned to the filesystem on two occasions:
- during the first pipeline execution
- on the first execution after clearing the pipeline's cache
Any other execution only fetches the latest changes.
If you use submodules in your project, Buddy will fetch them alongside the main repository. Currently, the following protocols are supported:
- HTTP protocol
- GIT protocol
- SSH protocol – upon authorizing the Buddy Key
Deployments from submodules are enabled in Buddy by default. You can turn them off in the right column on the Pipelines view.
For HTTPS submodules, make sure that the submodule is a repository within the same integration or it won't work. For example, if your repository is hosted on GitHub you can only use repositories from the currently synchronized GitHub account.