|
|
|
|
|
by peterwwillis
2356 days ago
|
|
Yes, 100%, SaaS is the way to go - unless it is impossible. There are some orgs & projects out there that literally cannot use a SaaS, which usually leads to self-hosting. ("Cost" is not a valid reason, btw - if one more junior manager tells me "oh but it's so much cheaper to self-host" i'm going to take away their lunch money because isn't growing your own lettuce cheaper than paying for it on a sandwich?). 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. |
|