Docker in CI/CD process
Buddy is a CI/CD service powered by Docker. It attaches pipelines to a selected Git repository that build, test and deploy your application. Each pipeline is triggered on certain conditions – for example, upon a push to the master branch, or at a certain time of the day.
Each build action runs in an isolated Docker container with a mounted clone of the repository.
Buddy features over 100 predefined actions: from builds and testing environments to deployments, Docker orchestration actions, to notifications and monitoring actions. Thanks to this, you don't need to configure scripts or manually create Docker images, as everything can be fully automated in a couple of minutes. You can also use it to run custom Docker images – and this is what this article covers.
Run Docker Image
If your CI/CD process requires a custom Docker image, e.g. to build your application or verify the test coverage, you can use the 'Run Docker Image' action. You can use images created by previous Docker build actions in the pipeline or pull an image from the selected Docker registry.
Buddy has native integrations with Docker Hub, Amazon ECR and Google GCR. You can also define the connection to any private registry.
Cache and Repository
The 'Cache' tab lets you define the mount path for the pipeline's filesystem. The filesystem contains the repository in the recently executed revision + artifacts built in previous steps of the pipeline. This solution allows our Docker image to operate on repository files.
Images used in Docker run action are cached by Buddy which speeds up the later executions. If you want to pull a fresh image, clear the pipeline cache in the Settings tab.