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.
- Automated Docker Image build using hook on the GitHub repository. (this is done directly from DockerHub)
- Setting up GitHub action using a
yaml
file. (Builds after merging PR to repo - Done from within GitHub) - 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.