I'm working at a SaaS company where I recently noticed that we don't have a proper CI/CD process in place. I've started looking into automating our workflows, but I've found out that our QA team is essentially doing something similar to CI/CD, even though they aren't using Jenkins. We have our own build tool based on Ant and a separate deployment tool, and we generally trigger around 3-4 builds a day. The QA testing happens after deployment to our test servers, and there's also a code check process to enforce specific company rules. Given this, how should I approach implementing a full CI/CD pipeline in this environment? Any tips or strategies would be greatly appreciated!
1 Answer
Starting off, you might find it tough to tackle the Continuous Deployment (CD) side of things, especially considering what you’ve mentioned. It could take a year or even longer to fully implement it. I'd suggest first setting up your own instance of Jenkins or a similar tool on your machine to streamline your work. This way, you can experiment with automated tests and build a modern pipeline. Once you have something working, you can show it to the team and demonstrate its benefits. It's essential to learn what the existing CI process looks like too; understanding their methods might help you figure out how to enhance it without ruffling too many feathers. It will take patience and some time, but the benefits will be significant in the long run.

Why is it going to take that long? I want to start from scratch, you know? For instance, I think it would be great to kick off the pipeline right when there's a push based on the commit message. Plus, this change is just for our team. Why would the deployment phase take so long? We're working with 4 test servers and a production server!