Hey everyone! I've recently set up AWS ECS using Terraform and I'm looking for a continuous integration and continuous deployment (CI/CD) tool. I'm leaning towards Jenkins, but I'm curious if that's the best choice or if there are other solid options available. I specifically need something that's self-hosted and I'm not interested in GitHub Actions. Any advice?
4 Answers
Consider using AWS CodeBuild. It builds your Docker image and can push it directly to ECR. You can then run an ECS update-service command. It might not be the most user-friendly option, but it's cost-effective and works well with AWS's ecosystem.
You're on the right track with Jenkins, but it does require some management. If you can dedicate a team to handle it, it can be very powerful. Just know that many users have mixed feelings about it because it can be a bit clunky. However, that's true for many CI/CD tools!
If you want a self-hosted option, consider TeamCity. It's a viable alternative to Jenkins. Just keep in mind that you might run into subscription requirements for some features. Also, if you’re already in AWS, CodeBuild could be a great fit too. It can integrate with ECS easily.
Self-hosted GitLab is another strong option. It allows for CI/CD and you can manage everything on your own terms. It might be worth checking out, along with the hosted runners for GitHub Actions if you change your mind.
Do we need any subscription for that?