The Docker actions in Continua are a wrapper around the docker command line. If you're having trouble using any of the Docker actions, please refer to the Command Line Reference.

The Docker Build action is a premium action which allows you to construct a docker image from a Docker File and a Docker Context.

The Docker File describes how the docker image should be constructed, while the Docker Context gives access to any source files required by the created image. Subsequently running the docker image will create a container, which is an instance of the image.  

Docker Build

Name

A friendly name for this action (will be displayed in the actions workflow area).

Enabled

Determines if this action will be run within the relevant stage.

Working Directory

The directory on the agent to run the Docker command in. If left empty, this defaults to the location of the Dockerfile. If the Dockerfile has not been specified, this defaults to the workspace folder.

Docker Context

The Docker Context is a directory that contains extra files required to build the Docker Image, typically including the Dockerfile. If a file is missing from the Docker Context that the build requires, an error will be generated and the build will fail. 

Image Name

A name to give to the resulting image. This is usually in the format of {repository}:{tag} where the repository can take the format of {user_name}/{image_name}.

Docker command line parameter: --tag.

Dockerfile Path

Specifies the path of the Dockerfile to use. The Dockerfile describes exactly how the image should be constructed. This should generally be contained within the Docker Context directory.

Docker command line parameter: --file.

Target Build Stage

The name of an intermediate build stage to use as a final stage for the resulting image.

Docker command line parameter: --target

Specify remote Docker host

Tick to open a new Host tab to specify an alternative Docker host to the one local to the agent. 

Using

The version of Docker to use when running the Docker Build command. It is important that the agent has the correct version of Docker installed for the Dockerfile provided.  

The Using drop down is populated with any property collector whose namespace matches the pattern defined by the Docker Build action. The pattern for this action is ^Docker.*

If you create a property collector for this action, make sure you select the Path Finder PlugIn type and give it a name that will match the pattern above in blue. Example names listed here, search the table's Plugin column for "Docker Build".

For more in-depth explanations on property collectors see Property Collectors.

Alternatively, you can select the Custom option from the Using drop down list and specify a path in the resulting input field that will be displayed. Please read Why it's a good idea to use a property collector before using this option.


Host

Docker Host URL

The address of the host running the Docker daemon. This can be in the form of a URL or any IP4 Address. If a non-standard port is required simply use the <IPAddress>:<Port> specification format. [--host]

Use TLS

Tick to connect to the Docker host using TLS where the host is not verified against a CA. [--tls]

Verify TLS

This is available only if 'Use TLS' is ticked. Tick to verify the TLS certificate with a root authority. [–tlsverify]

When using Verify TLS, if the host's certification authority (CA) is not trusted by the agent, then the connection is not established. 

Note: The --tls command line option is overridden.

CA Certificate

The path to Docker host CA certificate file. [--tlscacert]

Certificate

The path to Docker host certificate file. [--tlscert]

Docker Host Certificate Key

The path to a PEM format file containing the key for the accessing the Docker Host Certificate. [--tlskey]


Settings

Platform

Enter platform type. e.g. windows or linux. Only needed if the host server is multi-platform capable.

Docker command line parameter: --platform

Isolation Mode

Container's isolation technology. 

  • process: namespace isolation only,
  • hyperv: hypervisor partition-based isolation.
  • default: use the value specified by the Docker daemon’s --exec-opt. If the daemon does not specify an isolation technology, Microsoft Windows uses process as its default value.

Docker command line parameter: --isolation=

Force removal of intermediate containers

Tick to ensure that intermediate containers are always removed even if the build is unsuccessful.

Docker command line parameter: --force-rm

Remove intermediate containers after successful build

Tick to remove intermediate containers if the build is successful.

Docker command line parameter: --rm

Skip image verification

Tick to skip verification of the image once built. 

Docker command line parameter: --disable-content-trust=true

Force image verification

Tick to force image verification regardless of the whether or how the DOCKER_CONTENT_TRUST variable is set.

Docker command line parameter: --disable-content-trust=false

Compress the build context using gzip

Tick to compress the files in the Docker context before uploading to the Docker daemon.

Docker command line parameter: --compress

Ignore cache when building the image

Tick for clean build of the image, ignoring the image cache.

Docker command line parameter: --no cache

Always attempt to pull a newer version of the image

Tick to get the latest version of the base image before running the build.

Docker command line parameter: --pull

Write the image ID to the image file

Tick to write an image ID to the image.

Docker command line parameter: --iidfile


Variables

Build Time Variables

Variables that can be accessed like regular environment variables in the RUN instruction of the Dockerfile. Specify one name and value pair per line.

Docker command line parameter: --build-arg.

Host IP Mappings

Host IP address mappings to add to the containers host file.

Docker command line parameter: --add-host.

Labels

Metadata to add to your docker image. Specify one name and value pair per line.

Docker command line parameter: --label.

Extra Command Line Arguments

Optional extra command line arguments to pass to Docker Build.


Options

Log standard output

Tick to log standard output. [--log-level]

Log Level

The amount of information detail to display in the build log.

Timeout (in seconds)

How long to wait for the action to finish running before timing out. Leaving this blank (or zero) will default to 86400 seconds (24 hours).

Treat failure as warning

Tick to continue build on failure, marking the action with a warning status.

Ignore warnings

If this is ticked, any warnings logged will not mark the action with a warning status.


Environment

Environment Variables

Multiple environment variables can be defined - one per line. These are set before the command line is run.

Log environment variables

If this is ticked, environment variable values are written to the build log. 

Generate system environment variables

Tick this checkbox to set up a list of new environment variables prefixed with 'ContinuaCI.' for all current system expression objects and variables.

Mask sensitive variable values in system environment variables

This checkbox is visible only if the 'Generate system environment variables' checkbox is ticked.

If this is ticked, the values of any variables marked as sensitive will be masked with **** when setting system environment variables. Clear this to expose the values.


  • No labels