liveBook · Manning

Software artifact

As explained in Platform Engineering on Kubernetes

A software artifact is a produced, versioned deliverable such as a package, image, binary, or deployment manifest.

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

How Platform Engineering on Kubernetes covers it

How deep it goes
Details build, test, version, and publication steps plus repository requirements, but leaves deployment to later automation.
Examples
Uses a tagged binary, amd64 and arm64 container images, a Dockerfile, and distributable Helm Charts.
What it assumes
Assumes a service source repository; requires an image-build mechanism, Kubernetes manifests, and reachable publication repositories with credentials.
What you can do after
Operate/configure a service pipeline to publish traceable binaries and images for later deployment.
How it connects
Links artifacts to service pipelines, source control, artifact repositories, container registries, Kubernetes, and Helm.

Also explained in

Compare how 4 books explain software artifact →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Platform Engineering on Kubernetes. The section links point to the parts of the book it draws on.