Deployment automation with GimletD
Deployment automation is typically taken care of in CI pipelines. Extensive workflows are copy pasted from git repository to git repository.
With Gimlet, all deployment logic is factored into a central component called GimletD.
info
Gimlet uses the gitops paradigm in deployment. You can get familiar with gitops in Gitops Intro.
GimletDβ
GimletD is the GitOps release manager.
It builds on the concepts, conventions, and workflows Gimlet CLI introduced and augments them with a centralized approach for managing releases.
It encompasses all release automation logic that used to be scattered in CI pipelines.
It factors much of the scripting work into a standardized toolchainβ
Companies nowadays use CI to automate their releases.
Deployment and rollback steps are implemented in CI pipelines to handle basic release workflows.
Later on, further release steps are added: dynamic environments, cleanups, notifications.
Steps every application has to maintain.
This decentralized approach allows little room for control, flexibility, or complex features. GimletD assumes all release focused tasks and the management of the GitOps repository.
GimletD adds centralized release workflowsβ
GimletD acts as a centralized release manager that adds
- policy based deployments
- advanced authorization and security standards
It allows both strict control over releases and flexibility to rewire the release workflows of all your applications at the same time.
And by capturing all release logic, it factors out a large amount of scripting work from CI pipelines into a standardized toolchain.
What CI responsibilities are taken overβ
- deployment logic
- rollback logic
- branch based preview deployments
- notification logic
- gitops write operations
- gitops read operations, auditing, reporting
Introducing the release artifactβ
GimletD achieves this by introducing a new concept, the release artifact. It serves as the means to detach release workflows from CI.
With GimletD, CI pipelines create an artifact for every releasable version of the application, but they donβt release them. GimletD then serves as a release manager to perform ad hoc or policy based releases.
GimletD operates solely on CI-created releasable artifacts. This split allows for the above listed features.
info
The artifact store is implemented in GimletD, hence the matching colors.
Read more on https://gimlet.io/concepts/gimletd-concepts/