A software artifact is a produced deliverable that can be published and used by later delivery steps. For a cloud-native service, artifacts can include a compiled binary, a container image, and a Helm Chart containing Kubernetes manifests. Automating their creation and distribution lets developers focus on features rather than manually packaging and releasing each version. section 2.5 section 3.4 section 3.4.2
A service pipeline moves source changes toward distributable artifacts:
- Build and test the source; failures can stop the build before an artifact is published. section 3.4
- Publish the binary to an artifact repository. Give it the same version as the source repository tag so the binary can be traced to its source. section 3.4
- Build a container image using a Dockerfile or an alternative such as Buildpacks, then publish it to a container registry. A release may need separate images for amd64 and arm64. section 3.4 section 3.4.2
The pipeline needs reachable repositories and credentials to publish each artifact. The service repository also needs an image-building definition and Kubernetes manifests; Helm Charts can package and distribute those manifests. Producing artifacts does not itself deploy them to an environment. Automating the later deployment avoids error-prone manual changes and helps keep environments reproducible. section 3.4.2 section 3.4 section 2.5



