@sosy/nx-docker-build-plugin
v1.0.5
Published
This plugin is for generating Docker images for NX apps.
Downloads
241
Readme
@sosy/nx-docker-build-plugin
This plugin is for generating Docker images for NX apps.
Usage
Add a new target with the builder @sosy/nx-docker-build-plugin:build
to the applications in your workspace.json
.
For the build the plugin will automatically provide following build args:
- NX_PROJECT_NAME: the name of the project
- NX_PROJECT_ROOT: the root directory of the project
- NX_PROJECT_OUTPUT_PATH: The output path of the build task of the project. This will only be defined if there is a build target for the project which has
options.outputPath
defined.
Options
| option | type | default | description |
|----------------|-----------|--------------|--------------|
| dockerContext | string | "." | The directory for the context of the docker build. |
| dockerFile | string | "Dockerfile" | The dockerfile which should be used. |
| imageName | string | "" | The name used for the docker image name. If empty, the projectName will be used. |
| imageSeparator | string | "/" | The separator which is used for creating the docker image name |
| imagePrefix | string | "" | The prefix for the docker image name. |
| tag | string | latest | The tag used for the docker image. |
| push | boolean | false | If true, the created docker image will be pushed. |
| buildArgs | string[] | [] | Docker build arguments which will be used in the docker build. This arguments should be provided in the workspace.json
. |
| envBuildArgs | string[] | [] | Docker build arguments which will be used in the docker build. This arguments should be provided with the command execution. This can be useful for providing extra arguments in the CI. |
The docker image which will be for the created, will be named
${imagePrefix}${separator}${imageName}:${imageTag}
if imagePrefix is not empty${imageName}:${imageTag}
if imagePrefix is empty
Example
Following configuration could be added to the workspace.json
as projects.app-example.architect.docker-build
"docker-build": {
"builder": "@sosy/nx-docker-build-plugin:build",
"options": {
"dockerFile": "tools/docker/nest.Dockerfile",
"buildArgs": [
"PROJECT_NAME=account-service",
"PROJECT_DIST=backend/account-service"
],
"name": "backend-account-service"
}
},