We have designed CircleCI 2.0 to provide faster build performance and give users greater control over their environments. Users have full control over their customized build environments and do not have to worry about their build environments being updated without their knowledge or becoming out of date.
We utilize the power of Docker to provide our users the flexibility of creating customized environments. Users can preinstall dependencies/tools in the custom images so that you can have the exact versions and releases you want in your images.
Thank you to all of 2.0 beta users for providing constructive feedback. We are listening. Based on this feedback, we have added the following two options:
CircleCI Images
We have created an initial set of docker images for popular languages and databases to help get users started on 2.0. These images are generally supersets of official docker images and have additional tooling for your builds and tests to successfully run on CircleCI.
Many of these images have different variations. Please refer to our documentation for additional details.
Create your own
You can create your own custom image, upload it to a image registry (Dockerhub, Google Container Registry, Quay or Amazon ECR) and use this image with one of our executors.
Please refer our documentation for detailed instructions on creating your own custom images.
We will continue to add more features to our 2.0 platform in the coming weeks. Stay tuned for more.
If you have questions or feedback for CircleCI Images for 2.0, please do let us know by posting in comments below.
I have a 2.0 build wherein on the build container I really just need Bash, Docker, and Git. Is there an image somewhere on DockerHub that you can recommend?
(I tried circleci/ruby:latest and it worked well; but it makes it look like my project needs Ruby to build when it really doesnāt. Also sometimes apparently even the CircleCI images arenāt cached on the host (Iām using remote docker) so Iād rather use smaller images for faster builds.)
(I tried docker:git but no Bash. I tried running apk add bash in a build step but no dice ā I still couldnāt use Bashisms like [[ in my build steps. I tried deanrather/docker-docker-node-git-bash and it worked well but I donāt need Node.)
Can the extra tools included with images get listed somewhere? The Docker Hub page lists some of them, but I canāt tell if itās a complete list or not. For example, apparently unzip isnāt included in the ruby image. The answer is probably āmake your own imageā for my case, but I imagine Iām not the only one with this concern.
You could improve the documentation about those images. I tried to find more info about which linux itās built upon, which packages are installed and I could find nothing about them except whats on this announcement.
I donāt like to put my code to compile in a black box.
I have dug around for a while and canāt seem to find which image the https://hub.docker.com/r/circleci/ruby/ CircleCI Ruby images are based off of. The repo says simple {{BASE IMAGE}}, so Iām not able to easily read/figure out which image is used. Iām guessing ājessieā, but I would like to know for sure.