|
|
|
|
|
by jupp0r
2357 days ago
|
|
Use a SaaS solution like CircleCI, Travis, BuildKite, etc. They all have various upsides and downsides but you will save lots of money vs maintaining you own Jenkins and dealing with all its flaws. Also, people who are not used to the whole test driven development culture will have an easier time adapting if infrastructure doesn’t constantly break. |
|
I would say the simplest thing would be to buy a self-hosted GitHub Enterprise, although the cheaper option is self-hosted GitLab CI (but, ugh, maintenance). GitHub Enterprise is so much easier I would gladly pay out the nose for it, though it lags in features.
Next you're looking at Bamboo, TeamCity, Harness, JFrog Pipelines, Spinnaker. Spinnaker is probably the best (only?) open source choice among these.
After that you're looking at open-source projects that come "batteries not included", requiring scripting and integrating more stuff. At that point, my personal preference is to just tie together some AWS or GCloud services, and make your own event-driven task-running pipelines (ex: GitHub webhook triggers Lambda which adds some build items to an SQS queue which triggers more Lambdas which run a build task on Fargate which dumps an artifact into S3 and the end of the pipeline triggers a container build which pulls from S3 artifacts and dumps the resulting container into ECR and test-runs it on Fargate, publishing build results to GitHub commit status). This model is slightly more complex to set up, but insanely easy to scale.