Code Monkey home page Code Monkey logo

ci-operator's Introduction

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.

ci-operator's People

Contributors

0xmichalis avatar bbguimaraes avatar droslean avatar gabemontero avatar openshift-merge-robot avatar paulfantom avatar petr-muller avatar smarterclayton avatar stevekuznetsov avatar vrutkovs avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.