VCS Providers

Manage your Version Control System (VCS) integrations. env0 uses these connections to interact seamlessly with your VCS server.

env0 makes it simple for teams to connect their code repositories. This connection simplifies how you manage your infrastructure code by automatically updating env0 whenever your repository changes. This means less manual work, consistent environments, better tracking of changes, and improved teamwork between developers and operations.

Integrating your VCS is a key enabler of a GitOps workflow. For example, env0's Pull Request (PR) plans automatically trigger a plan for your infrastructure code whenever changes are committed. This allows teams to continue using their familiar tools while env0 enhances their Infrastructure as Code (IaC) processes with features like PR plan/apply via comments and Continuous Deployment.

These capabilities streamline GitOps adoption by automating PR plan triggers, generating pull requests for review, and seamlessly applying updates to your infrastructure. Continuous Deployment further simplifies workflows by automatically redeploying and executing the complete IaC lifecycle—initializing, planning, and applying—with each code commit. This results in faster iteration within testing environments and reduces the need for manual reviews.

With VCS integration, you gain access to all these capabilities:

env0 seamlessly integrates with several popular Version Control System (VCS) providers to bring you the benefits of GitOps for your Infrastructure as Code. Currently, env0 natively supports:

🚧

VCS Self-hosted - Connecting to self-hosted version control systems requires deploying and running the VCS Agent

Centralized Management

All your VCS integrations can be managed and configured under the Organization settings.

🚧

This section allows you to manage your Self-Hosted VCS and GitHub Code Write connections only.

Go to your Organization Settings and select the VCS tab. From there, you can edit existing connections or create new ones.

  1. In this modal, select the relevant VCS provider. Options are separated into Cloud and Self-Hosted categories.
  2. Choose env0 Access
    1. If you see the label 'Not Configured,' it indicates that this connection has not yet been saved in env0.
  3. Choose Authentication Type
    1. Each VCS supports different Authentication Types. If only one option is available, it will be selected by default.
  4. Provide the necessary authentication information.
  5. Click 'Save Connection' to save these details to env0.
    1. Remember to click 'Save' to apply any changes you make to the VCS connection.

VCS Actions

Within this modal, please confirm that the appropriate connection type is chosen. Additionally, you can perform the following actions:

  • Delete Connection
    • Deleting the connection here will remove all related details from env0. To revoke access from the VCS itself, you'll need to do so within your VCS provider's settings.
  • Display connection health
  • Display Available Repositories
  • Display Webhook Settings - These are the settings you need to configure within your self-hosted VCS to enable automatic triggering of features.

Connection Types

📘

Repositories Access

For any connection type, you can specify which repositories env0 can access. For example, you might grant env0 access to both repoX and repoY for deployments, but limit code writing access to only repoX.

  • Deployment
    • Using this connection, env0 can deploy resources for your organization and enable all the features offered by CI/CD and governance
  • Code Write
    • This connection allows env0 to commit code changes and generate AI-driven pull requests on your behalf. This capability powers features such as automatically creating pull requests to synchronize cloud environment changes with your code repository.

Authentication Types

  • OAuth
    • When you click the 'Grant Access' button, a pop-up window will appear. You'll need to authorize env0 to access your resources. After the pop-up closes (if successful), click 'Save Connection'."
  • By VCS Agent
    • You need to have an active VCS Agent running. Then, provide the VCS URL and select the specific VCS Agent that env0 should connect to.