Use Score Humanitec in CI pipeline

Markus Stahl
2 min readAug 22, 2023
Using a base image with score-humanitec inside in a ci/cd pipeline

Score is a platform-agnostic workload specification. The idea is that by creating 1 Score specification you can deploy workloads to different targets, such as docker-compose, Helm or Humanitec.

If you want to create a continuous deployment pipeline, you need to execute the score implementation, for instance score-humanitec. Most probably, your first attempt would be creating a ci-job and install score-humanitec before the deployment:

Installing score-humanitec at every execution of CI job

That job technically works, but has the downside of installing score-humanitec at every execution. Sure, it may only take 1 minute, but you will find yourself often enough cursing on a job that takes even 20 seconds, when you have to wait for it for the hundreds time today.

That’s why I created a docker image for score-humanitec that you can use in your CI:

docker pull ghcr.io/noordsestern/score-humanitec:v0.6.0

It will make above CI job much more convenient — and faster:

More efficient CI job with score-humanitec base image

Checkout the fork of score-humanitec to check on the latest version of the base image. Also check on the official score-humanitec repositoriy for when the official base image may be released.

Summary

If you want to use score-humanitec in CI/CD pipeline, at the moment you need to install the CLI before every job execution. With a bit more effort, you can also create a base image with score-humanitec within. You can save some effort by using (or refactoring) ghcr.io/noordsestern/score-humanitec:v0.6.0 from my fork.

--

--

Markus Stahl

Sustainable automation with open source technologies.