Currently, we support Continuous Deployment only for GitHub, GitLab, Bitbucket and Azure DevOps repositories.
Continuous Deployment in env0
env0 allows you to configure an environment to automatically re-deploy your environment with your updated terraform code on every push to a git branch. If a deployment is already in progress when a git push occurs, a deployment will be queued, and the environment will deploy again when the current deployment is finished.
Connect Your Template To Your VCS
Before creating or configuring an environment to continuously deploy, make sure that you have a template integrated with GitHub, GitLab, Bitbucket or Azure DevOps.
To create an environment, choose a specific Project, select the Project Templates tab, and then click Run Now on the template you want to use. On the Run Environment screen, pick the branch you would like to continuously deploy, and tick the
Redeploy on every push to the git branch checkbox. Then, fill out the rest of the configuration for the deployment. When you're done, click Run.The environment will now deploy and will redeploy again on every push to the git branch
Choose your Project, select the Project Environments tab, and then click on the environment you would like to configure for continuous deployment. Go to the Settings tab, tick the
Redeploy on every push to the git branch checkbox.
You can choose to run by the following options:
- Any change - your environment will redeploy on every push
- Changes on Template Directory files - your environment will redeploy on every push which the push contains file changes under Terraform Folder
- Changes by file filter pattern - your environment will redeploy on every push which the push contains file changes by match to the pattern. see below how to configure glob pattern.
Glob patterns specify sets of filenames with wildcard characters. For example, *.txt or my_folder/**
It means you can configure pattern by git repository which re-deploy environment only if the push contains files that change by free pattern.
For example, you can configure pattern like src/project_1/**
In this case, we will re-deploy only if the push contains file which starts with src/project_1/...
We also support extglob patterns with that you can write pattern which ignores files or use a list of folders.
Note that for extglob, when using OR/AND statements, make sure to wrap each option with parentheses, for example: +((/first/path/)|(/second/path/))
When an environment is triggered due to CD - a comment would be automatically added, with a link to the head commit upon the time of trigger.
Updated about 2 months ago