Moving towards our mission of effortless deployments, today, we reveal our new deployment pipelines feature. This comes as a result of countless hours spent rethinking the entire Git app deployment flow from a user viewpoint. These new pipelines are powered by ArgoCD, offering a stable, reliable, and efficient deployment flow. Let’s check out what’s changed.
Why are Pipelines necessary?
Every deployment flow can be visualized as a pipeline. With our new pipeline builder, we are giving our users a new and intuitive way to approach, save, and customize their deployments.
There have additionally been several under-the-hood changes that enable these deployments with pipelines. These provide a much more robust framework for us to develop new features on top of.
What are Argonaut Deployment Pipelines?
Simply put, our deployment pipelines enable users to set and save build and deploy configurations with an easy-to-use visual pipeline builder. Many of our users manage and deploy to multiple environments. Having the configurations saved as pipelines ensures you get the correct infra set up in your pre-prod and test as your production environment without thinking twice.
You may also use it to set different build and deploy configurations for your different environments. Pipelines are an enhancement to most other existing Kubernetes deployment flows. Pipelines are automatically triggered with each commit to the branch and can also be triggered manually through the Argonaut UI.
Here are some changes to the user interface.
- Git App deployment has a new pipeline builder view.
- Ability to save app deployment configuration as a pipeline. “Applications” are essentially a pipeline group.
- Configure build and deploy step separately.
- Separate run history for the build and deploy step.
💡 The pipeline builder is only for deploying Git apps on Kubernetes runtimes. There is currently no changes to deploying apps as Add-ons and apps to AWS Lambda.
How does it work?
There are several major backend changes that our team has built out. The framework change allows us to deliver more collaboration and automation-based features to help our users. These provide a stronger foundation for our future features, enable faster load times in the UI, and ensure a more reliable deployment experience for our users.
- We have now integrated ArgoCD into our deployment flows, making our process more reliable and GitOps-friendly.
- The deployment flow is broken into two independent steps - build and deploy.
- The builds are now powered by Dagger, reducing the build times for your applications, and are executed using GitHub actions or GitLab CI, depending on your VCS.
- The deploy step is run using ArgoCD, which follows GitOps practices and is more reliable.
💡 Earlier, each app had to have a build and deploy step. Apps with pre-built images were harder to deploy using Argonaut.
- We can also automate the process of executing a deployment after the build, e.g. one build can have multiple deploys. Pipelines enable the combining of our steps in different ways.
- Since the steps are independent, users can provide a repo with a
dockerfileor provide a container image that can directly be plugged into the deploy step.
- Move more towards GitOps principles for deployments. Helm changes are now maintained using Git. ArgoCD notices helm changes in the Git repo, and changes are automatically applied.
- Backend changes give a considerable speed increase in seeing their new apps and pipelines on the Applications screen.
In summary, our new deployment pipelines feature, powered by ArgoCD and Dagger.io, is a big step forward in making deployments smooth and easy. The intuitive pipeline builder with custom configurations and strong GitOps practices give our users a reliable and efficient deployment process. The major backend improvements set the stage for future features and make Argonaut faster and more enjoyable to use. A huge thank you to our team members - Ankit, Nischal, Prajjwal, Prashant, Subham, and Tushar for all their dedication and effort in making this feature come to life.
As we move forward, we're excited to continue improving the deployment process for our users. Soon, we'll add the ability to deploy a single build to multiple environments - a feature many of our customers have asked for. These improvements lay the foundation for lots of future developments at Argonaut. We'll introduce more steps in the coming months, like testing and custom scripts. We'll also add the ability to combine steps, speed up deployment, and make it easier for teams to work together using these pipelines.
Get started with our updated Quickstarts and deploy your first app today!