Skip to main content

Branch

Using Git, you can apply strategies to configure different application or resource dependencies per branch.

While you’re developing your project, you will at some point create some new features for it. Typically, you’re going to develop that feature on a separate branch in your Git repository, run some tests, and then merge that feature into your production application.

You can maintain different Flinkwerk Configs per Git branch. This allows you to add, modify or remove any product type and its configuration in your project while you fix bugs, develop a new minor or major version, etc. in a branch.

Push to deploy per branch

For example, you could define the following environments for your projects to have different Git branches deployed to different clusters.

.flinkwerk/config.yaml
environments:
development:
cluster: review
only: branches
staging:
cluster: review
only:
- staging
production:
cluster: production
routes:
- domain: "api.flinkwerk.com"
branch: production

All Git branches, except for those labeled production or staging, will be deployed upon pushing changes as per this configuration to the development cluster automatically after executing the Flinkwerk CLI deploy command. The staging branch will be deployed to the review cluster and the production branch to the production cluster once you push changes to one of them.

Learn how to define clusters as well as environments and how to integrate Flinkwerk with a CI/CD tool for automatic deployment.