Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Description of the operation here.

...

This operation builds an image from a docker file.  It will not create or start a container.

Target Properties

Property Name

Property Code

Required

Description

Docker Unix Socket

FDDKR_UNIX_SOCKET

No

The socket the Docker daemon listens on. Required if Docker Server and Docker Port are not set.

Docker Server Address

FDDKR_DOCKER_SERVER

No

The IP address of the Docker server.  Required if Docker Unix Socker is not set.

Docker Port

FDDKR_DOCKER_PORT

No

The port the Docker service is listening on.  Required if Docker Unix Socker is not set.

Registry Account

FDDKR_REGISTRY_ACCOUNT_CODE

No

The Docker Registry account to use.

Project Properties

Property Name

Property Code

Required

Description

Docker Image Name

FDDKR_IMAGE_NAME

No

The name of the docker image, including the repository if desired. i.e. foo/bar or bar. The plugin input FDDKR_INPUT_IMAGE_NAME takes precedence over this property.

Docker Image Tag

FDDKR_IMAGE_TAG

No

The tag of the docker image. For example: 1.2.3. The plugin input FDDKR_INPUT_IMAGE_TAG takes precedence over this property.

Inputs

Input Name

Input Code

Required

Description

Outputs

...

Output Name

...

Required

...

Description

Artifacts (Keep one and edit if desired.)

This operation doesn’t consume or produce any artifacts.

This operation consumes artifacts from the artifacts repository.

This operation produces artifacts that will be stored in the artifacts repository.

This operation delegates the consume/produce artifacts decision to the workflow developer.

Endpoint Selection (Keep one and edit if desired.)

This operation will select all available endpoints associated to the environment instance which have resource type of {Resource Type}. 

This operation will select all available endpoints associated to the environment/instance.

This operation delegates the selection to the workflow developer to determine.

Endpoint Execution (Keep one and edit if desired.)

This operation will execute on any one of the selected endpoints and will be random in the determination of which one.

This operation will execute on all of the selected endpoints and will execute on each of the selected endpoints.

...

Docker File

FDDKR_INP_DOCKER_FILE

No

The path to the Docker File to build. If empty Dockerfile is used as the name, and it is searched as specified in the next line.

If an absolute path is given, it is used. Otherwise, the file is checked for relative to the FD_TEMP_DIR and any checkout folders.

Docker File Arguments

FDDKR_INP_DOCKER_FILE_ARGS

No

The docker file arguments to use. These are the ARG instructions in the docker file.  KeyValue pairs should be separated by "|" and the key and value should be separated by ",".  Example: key1,value|key2,value|key3,value

Image Name

FDDKR_INP_IMAGE_NAME

No

The Docker image use when running the container. This input will take priority over the FDDKR_IMAGE_NAME project property.

Image Tag

FDDKR_INP_IMAGE_TAG

No

The tag to use when creating the container. This input will take priority over the FDDKR_IMAGE_TAG project property.

Docker File Arguments

FDDKR_INP_DOCKER_FILE_ARGS

No

The docker file arguments to use. These are the ARG instructions in the docker file.  KeyValue pairs should be separated by "|" and the key and value should be separated by ",".  Example: key1,value|key2,value|key3,value

Docker Registry Account

FDDKR_INP_REGISTRY_ACCOUNT_CODE

No

The Registry you want to push the image to. There are a couple different spots to specify this for convenience.

In order of precedence:

  • Target Property

  • This plugin input.

Docker File Arguments

FDDKR_INP_DOCKER_FILE_ARGS

No

The docker file arguments to use. These are the ARG instructions in the docker file.  KeyValue pairs should be separated by "|" and the key and value should be separated by ",".  Example: key1,value|key2,value|key3,value

Push Image to repository

FDDKR_INP_PUSH_IMAGE

No

Push Image to repository.

Outputs

Output Name

Description

FD_BUILT_DOCKER_IMAGE_ID

The image id that was created from the operation.  The IMAGE_ID column when running the command 'docker images'. This output will always be made available to the deploy workflow.

FD_BUILT_DOCKER_IMAGE_NAME

The built docker image name. The IMAGE_NAME column when running the command ‘docker images'. This output will always be made available to the deploy workflow.

FD_BUILT_DOCKER_IMAGE_TAG

The tag of the built image. This output will always be made available to the deploy workflow.

FD_BUILT_DOCKER_IMAGE

The built docker image. This output will always be made available to the deploy workflow.

FD_BUILT_DOCKER_LINK

The link to the built docker image when pushed to a repository. This output will always be made available to the deploy workflow.

Artifacts

This operation consumes a Dockerfile from the artifacts repository.  Can also be overridden through the docker file input.

Endpoint Selection

This operation delegates the selection to the workflow developer to determine.

Endpoint Execution

This operations delegates the execution to the workflow developer to decide.

Special Considerations

[Delete section if not needed]

...

Build Args were not consumed

If using the 'Docker File Arguments' input and the docker file doesn't contain a matching ARG instruction, the operation will fail with the following error:

'com.github.dockerjava.api.exception.DockerClientException: Could not build image: One or more build-args were not consumed, failing build.'

To correct this, either remove the key/value mapping from the input or add an ARG instruction for the missing key in your docker file.

Docker Repository Required?

The 'Docker Repository' input is not required to build the image but in order to make use of other docker functionality, like pushing to a registry, you need to specify a repository.  If you forgot to specify a repository on build you can tag the image from the command line at any point.

docker tag %ImageId% %RepoName%:%tagName%