Artifacts
Artifacts represent deployment or build artifacts. In the context of docker these are container images. When an artifact is linked to a softwareProject in the project model, it signifies that the artifact is created by the softwareProject (e.g. the docker image for the backend). This will add the necessary build steps in the build pipeline if the artifact is of a recognizable type.
Artifacts can also linked to a service (regardless of whether they are created by the softwareProject or not). In this case the artifact will be consumed by the service and the service will provide a runtime environment for it. Having an artifact linked to a service, but not a to a softwareProject allows you to use docker images in a service that are not created by the softwareProject (e.g. a postgres database image).
Artifacts in this context are deployment or build artifacts (e.g. docker images or jars). They are not to be confused with an artifact in the context of NS expanders meaning, a file generated by an expander.
Fields
Technical name
This is the actual name of the artifact. This is separate from the name
field which is mainly used by the model itself.
This is done to avoid name conflicts and collisions.
Group
If specified, the group field add a prefix to the technical name.
Version
Specify the version of the artifact a service will use. If empty, the latest version will be used.
Type
The currently supported artifact types are:
- jee-application-image
- angular-frontend-image
- gateway-image
- custom
Some types such as the jee-application-image will expand a Dockerfile for the artifact.