Skip to content

cjschaef/ci-operator

 
 

Repository files navigation

Warning: development has moved to https://github.com/openshift/ci-tools.git

ci-operator

ci-operator automates and simplifies the process of building and testing OpenShift component images (e.g. any openshift/origin-{component} images).

Given a Git repository reference and a component-specific configuration file, describing base images and which images should be built and tested and how, ci-operator builds the component images within an OpenShift cluster and runs the tests. All artifacts are built in a new namespace named using a hash of all inputs, so the artifacts can be reused when the inputs are identical.

ci-operator is mainly intended to be run inside a Pod in a cluster, triggered by the Prow CI infrastructure, but it is also possible to run it as a CLI tool on a developer laptop.

More information on the architecture can be found in the ARCHITECTURE.md.

Note: ci-operator orchestrates builds and tests, but should not be confused with Kubernetes operator which make managing software on top of Kubernetes easier.

Obtaining ci-operator

Currently, users must download the source and build it themselves:

$ git clone https://github.com/openshift/ci-operator.git
$ cd ci-operator
$ make build

Usage

ci-operator is mainly intended to be run automatically by the CI system, but after you build it, you can also run it locally:

./ci-operator --config component.yaml --git-ref=openshift/{repo}@master

For more information about ci-operator options, use the --help parameter:

./ci-operator --help

Onboarding a component to ci-operator and Prow

See ONBOARD.md for more information about how to write component repository configuration file. See the configuration reference at CONFIGURATION.md for details on the configuration file keys.

OpenShift components using ci-operator

A number of OpenShift components are already using ci-operator.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.8%
  • Other 0.2%