Is there any CI service that will pull from dockerhub? Is there any CI service that will pull from dockerhub? jenkins jenkins

Is there any CI service that will pull from dockerhub?


Given the answer by Nathaniel Waisbrot it seems that Jenkins is a valid choice to get what you are looking for, which is, basically, access to docker hub and bring up a container as part of your build and testing process.

In order get this working you will need a high level of customization (configuration at machine level) for your Jenkins instance. I think ClinkerHQ could fit your needs, since it provides a dedicated hosted environment that can be highly customized (even installing additional tools to use in Jenkins Shell Script steps). You should take a look at the Jenkins Docker plugin if you want to provision Jenkins slaves dinamically with docker.

DISCALIMER: I'm deeply involved in ClinkerHQ.


I do this with Jenkins, using the "execute shell" command to run docker pull. It's easy to set up: just put Jenkins in the docker group.

If you use Fig (I haven't converted over to docker-compose to see if it's still a problem there) then you'll need to run things like

/usr/local/bin/python3.4 -c 'import pty, sys; sys.exit(pty.spawn(sys.argv[1:]) != 0)' fig run my_container ./bin/test

because Fig needs a TTY to run.

You could set up a web-hook to trigger Jenkins from the Docker Hub, but I would probably just take the lazy path and either build periodically or trigger on the same Git change as the Hub but with a 30 minute delay.


Edit: I had looked for a hosted solution (like Travis) to do this, rather than running my own Jenkins, but didn't find anything. I think the main problem is that the CI providers make their profit by hosting many customers on one machine. But allowing someone to run arbitrary Docker containers is a major security problem.


You can use Shippable to do this - www.shippable.com

Pull from Docker hub is supported, as is Dockerbuild. You can also enable the workflow of - pull image from docker hub ->pull code from github->test code inside container->if CI passes, push container to Docker Hub. http://blog.shippable.com/making-deployments-even-easier-with-docker-build