Docker CI/CD with external CI servers

Hi,

I am just getting involved in Docker world as well as implementing CI/CD pipeline. I am confused a bit about the workflow between Docker Cloud and an external CI server (e.g Jenkins).

As it’s provided, we are able to link our remote repo(e.g Github) and build our images automatically and deploy on linked cloud provider node (e.g AWS). Linking our remote repo Docker does set webhooks to our Github account. Thus, depends on our branch/tag config on each commit on particular branch image build will be triggered. If image is successfully built and we have set autodeploy=true our image will be deployed on desired cloud server.

“Besides, we can create our test integrations and run them through hooks in order to test our app before it gets published.”

Here is where my doubt comes.

What is the benefit having an external CI server (e.g Jenkins) if I can do all CI/CD pipeline through Docker platform?

I’d be appreciate, if you could clarify me a workflow between Docker CI/CD and an external CI server.