How Do You Streamline Your Deployment Process?

0
0
Asked By CuriousCoder42 On

Hey folks! I need to propose a redesign of our deployment process and could use your insights. Currently, we're using ArgoCD with Argo rollouts and GitHub Actions. Here's a quick rundown of our existing flow:

1. A developer opens a pull request (PR).
2. A GitHub Actions workflow kicks in, building the project and deploying it to an ephemeral PR app for testing.
3. Once the PR is merged, another workflow triggers from the main branch, builds again, and goes through stages: deployment to QA (with manual approvals), and then to production (also requiring manual approval).

I've been asked to simplify this process and cut down on manual deploy steps while ensuring quick feedback loops so developers can always know the status of their deployments. The aim is to boost our deployment speed and facilitate easy rollbacks.

Our QA and production EKS clusters are separate, along with their ArgoCD installations. I'm looking into Kargo and the ArgoCD hydrator and promoter plugins but haven't settled on a direction yet. What does your deployment process look like? Any suggestions would be greatly appreciated!

3 Answers

Answered By DevGenius99 On

I think the biggest change you can make is to directly communicate with the product engineers for feedback. Look for ways to eliminate friction in the process. Focusing too much on specific technologies can distract from the main goal, which is deploying code quickly and safely.

Answered By TechWhiz12 On

Our deployment is pretty straightforward. When a PR is opened or updated, we run all the unit and functional tests, plus checks like Helm charts and linting. When the PR merges, it automatically deploys to QA, runs basic end-to-end tests, and then goes straight to production—no manual steps involved.

We utilize feature flags for any changes that might affect behavior, allowing thorough testing in QA before going live. This method has kept production incidents rare and usually allows for quick reverts via an emergency pipeline if something does go wrong.

Answered By ServerSage86 On

We keep it old school: the developer sends a zip file via Slack, I edit the .conf files in a text editor, and then it's copy-paste to the servers followed by a service restart. It’s definitely straightforward—but perhaps not the most efficient!

CodeNinja45 -

Haha, that sounds pretty tedious! Have you considered automating some of that?

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.