/ocd-release-build

makes a release image tagged with the git release tag

Primary LanguageShellMIT LicenseMIT

ocd-release-build

This is a webhook chart to perform a release build openshift or OKD. The idea is that it creates a tagged release inmage that exactly matches the code that has the git release tag. This is an optional component that can run to one side of your preferred CI pipeline. Teams that already have a pipeline that creates release images (e.g., Jenkins or similar container release jobs) can choose not to use this optional component.

As this component is used for release builds it can run along side any CI build. For example, we use circleci for our CI build. We then use the OCD slackbot to trigger a git release from a branch, tag or commit. A webhook then fires this component that makes our release build tagging the resulting image with the git release tag.

Architecture

This component requires quite a lot of internal moving parts. The good news is that it is supplied as a simple to configure chart. It also uses stable and standard Origin features that work on locked down Origin. It would have been simpler to use a custom build type but that has to be enabled by a cluster administrator. The internal complexity of this component is to avoid needing cluster admin rights.

alt text

It is implemented using the awesome webhook engine which is a small but beautful Go app that is configured to match and extract webhook json to invoke shell script. The shell script then logs into openshift and patches the git tag into the build config.

Usage

The ocd-meta wiki has a full tutorial on each of Minishift and Openshift Online Pro that includes setting up a release build environment. That uses Helmfile to install this component.