You are on page 1of 5

Build Docker image

Buddy lets developers easily build and test Docker images with code from Git repository. Setting
up a Docker-focused pipeline is as easy as setting up any other type of delivery in the service.

First, you need to specify which repository should the image be based on. Buddy has native
integrations with GitHub, Bitbucket and GitLab, but you can hook up any other repository as well:

With the repository successfully synchronized, you can add the pipeline. A pipeline can be
triggered in three ways: manually on click, automatically on git push, or recurrently at a specific
time:

The second thins is setting the branch, tag, or PR for which the build will run:
The next step is adding the action that will dockerize your application. Select 'Build Image' from
the Docker section of the action roster:

In the action details, specify the Dockerfile location and the directory in the context of which the
image will be built (optional):

Building private images


If the image is private (e.g. FROM: my-registry.com/buddy/my-image:latest) and requires logging
into a registry, you can configure the access data in the 'Options' tab. Buddy integrates with
Docker Hub, Google GCR and Amazon ECR. Apart from that, you can use any other private
registry.
Docker image Continuous
Delivery
With Buddy, you can automate basically any type of a DevOps process. For example, you can
create a pipeline that will perform the following tasks on every push to the selected branch – just
by adding new actions to the already existing ones:

run unit tests


build a Docker image
run the image and test it for errors
push the image to the selected registry
send a notification to a Slack channel
Build arguments
By default, Buddy passes all defined environment variables to the build as build arguments. The
default ENV VARs are also sent as build args, which gives you access to such information as the
revision or the build number during the build.

You can find a complete list of the default environment variables here.

Apart from this, you can define your own build arguments in the action:

Target build stage


If your Dockerfile contains multiple build stages of an image, you can specify which stage should
be built in the 'Options' tab:

Cache
All Docker layers are automatically cached after the build. This means that subsequent builds
only create layers that have changed since the last build, which drastically reduces the build
time. After every build, Buddy runs docker prune which deletes all dangling images (layers that
have no relationship to any tagged images and consume disk space).

If you run multi-stage builds, you may want to disable the prune option, as it deletes the layers of
intermediate stages as well. You can do it in the 'Options' tab:

What's more
Introduction to pipelines****

****Push Docker image****

****Run Docker image****

SOLUTIONS PLATFORM LEARN COMPANY

Pipelines: your doorway to Status Page Documentation Our Blog


CI/CD
Pricing & Features Help & Support About Us
Laravel in Docker
On-Premises API support@buddy.works
Node.js in Docker
Ask the Community
Selenium in Node.js with   
WebDriver.io

Automate Kubernetes
workflows

Security Terms Privacy Responsible Disclosure Policy GDPR

© Copyright 2019 BDY, Sp. z o. o. Sp. k

You might also like