...
...
...
...
...
...
...
...
This operation builds an image from a docker file according to the project containers configurations. It will not create or start a container.
Environment/Instance Properties
Property Name | Property Code | Required | Description |
---|---|---|---|
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. |
Docker Unix Socket | FDDKR_UNIX_SOCKET | No | The socket the Docker daemon listens on. Required if Docker Server and Docker Port are not set. |
...
Input Name | Input Code | Required | Description |
---|---|---|---|
Docker File | FDDKR_INP_DOCKER_FILE | No | The path to the Docker FileDockerfile to build. If empty, uses default DockerfileDockerfile configured at the project level. 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 ArgumentsImage Name | FDDKR_INP_DOCKERIMAGE_FILE_ARGSNAME | 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 Repository | FDDKR_INP_REPOSITORY | No | The image name/repository to create the image in. This is the REPOSITORY column when running the command 'docker images'. |
Image Tag | FDDKR_INP_IMAGE_TAG | No | The tag to apply to the image. Example: 'latest' image name including repository and tag. If empty uses Image Name configured at the project level for the stream. The image name should be in lowercase. |
Push Image to repository | FDDKR_INP_PUSH_IMAGE | No | If the image should be pushed to the repository. |
FDDKR_INP_TAG_LATEST | No | Whether or not to tag the image that is built as latest. | |
Docker Registry Account | FDDKR_INP_REGISTRY_ACCOUNT_CODE | No | The Registry you want to push the image to. There are a few different spots to specify this for convenience. In order of precedence:
|
Scan Image | FDDKR_INP_SCAN_IMAGE | No | Should the image automatically be scanned using Anchore? |
Scan Fail Condition | FDDKR_INP_SCAN_FAIL_CONDITION | No | Groovy expression that evaluates if the scan should fail. Available variables are STATUS, CRITICAL_COUNT, and WARN_COUNT. See the Anchore Plugin for more information. |
Custom Anchore Policy Bundle | FDDKR_INP_POLICY_FILE | No | An optional policy file to use when scanning. Paths are relative to the FD_TEMP_DIR directory. See the Anchore Plugin for more information. |
Outputs
Output Name | Required | Description |
---|---|---|
FDDKR_OUT_IMAGE_ID | No | The image id that was created from the operation. The IMAGE_ID column when running the command 'docker images'. |
...
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
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.
...