I'm just getting into DevOps, trying to learn as I go. One thing I don't understand is this.

When I was trying to automate my docker image build, I noticed that there are multiple ways to accomplish this. Here are the methods that I know of.

  1. Automated Docker Image build using hook on the GitHub repository. (this is done directly from DockerHub)
  2. Setting up GitHub action using a yaml file. (Builds after merging PR to repo - Done from within GitHub)
  3. Using a full-fledged CI tool like Jenkins. (Also builds on merging PR to repo)

I'm not sure if there are any other ways to accomplish this. What I don't understand, is how these three ways differ from each other. Does any method advantages over another? Which situation requires which method?

I'd appreciate any help.

  • If you are using DockerHub as main image storage, DockerHub hook might be a good option. If you store images somewhere else, e. g. in ECR, Jenkins or GitHub Actions will be a more flexible option. Anyway, you have full control over pipeline in Jenkins or pipeline in GitHub Actions, so these two methods might be equal in terms of advantage – Tarasovych Apr 2 at 12:04
  • No offense, but this seems good enough to be an actual Answer instead of a Comment. Thanks a lot for your help! – revmatcher Apr 3 at 5:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.