4 ms·
There are many considerations when designing a Continuous Deployment (CD) pipeline that can deploy code to production rapidly. I suggest it's best to approach t
by uf00lme 3y ago
There are many considerations when designing a Continuous Deployment (CD) pipeline that can deploy code to production rapidly. I suggest it's best to approach this on a 'per commit' basis rather than 'per compile'. Unless you're building advanced and complex software, compute resources shouldn't be a limiting factor in building and testing every commit. It is what good CI systems are generally designed to do.
If you're just starting out, I recommend starting out by running Jenkins on your local machine. Once you've familiarised yourself with a few different pipelines and determined what suits your software, only then consider exploring SaaS options like GitHub or GitLab. Jenkins offers significant flexibility, whereas many SaaS platforms tend to be opinionated with have more defined structures. It's really very common to walk into a sizable software development offices and spot at least one developer using Jenkins locally even when the company has a large 'devops' budget. While it's is far from perfect, Jenkins is effective, mature and a great place to learn what is possible with a CI/CD setup without wasting a lot of time or money.