Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Continuous Delivery (CD) allows project leads and committers to configure automated processes to build and deploy their software.  This is typically done by building docker containers and deploying to a container hosting platform, in the Foundation's case OpenShift Online.

This page provides guidance to project leads and committers who want to integrate Continuous Delivery in their build process.

Glossary

Before getting into more details, please read below the terms inherited by OpenShift (and related) technologies.

  1. OpenShift V3 - A layered system designed to expose underlying Docker-formatted container image and Kubernetes concepts
  2. Kubernetes - The industry leading open source container orchestration framework
  3. Projects - A Kubernetes Namespace that contains (and isolates) resources
  4. ImagesA binary that includes all of the requirements for running a single container
  5. Image Streams - Resource that can be used to automatically perform an action when new images are created
  6. ContainersThe basic units of OpenShift Origin applications
  7. PodsOne or more containers deployed together on one host, and the smallest compute unit that can be defined, deployed, and managed
  8. ServicesInternal load balancer that identifies a set of replicated pods and proxies the connections it receives to them
  9. SecretsProvide a mechanism to hold sensitive information, such as passwords, to decouple sensitive content from the pods
  10. BuildsProcess of transforming input parameters into a resulting object; OpenShift Online supports Source to Image (S2I) and Pipeline types; although the Foundation have successfully tested both strategies, the S2I seems to be more flexible
  11. Deployment (Config) - Resource that accepts triggers (ie Image Streams) and deploys pods
  12. Templates Describes a set of objects that can be parameterized and processed to produce a list of objects for creation by OpenShift Origin

How to Access OpenShift

The 2 main alternatives to access OpenShift is via Web Console or command-line; right now, they're only accessible by the Foundation Staff, as we're working to integrate Identity Management mechanism to support delegated administration to PMC's, and then on to project leads and committers.

Even without access to the dashboard or CLI, a project lead can configure automated build processes within their CI environments.

Projects and Containers

In order to leverage the power of the ODP Continuous Delivery features, a project must be container-ready, therefore implementing modular architectures and avoiding known anti-patterns.

Although OpenShift Online provides different ways of building and deploying a container, the Foundation have currently used a custom integration with Travis CI; the diagram below shows the time-based events and system interactions.

Continuous Delivery diagramImage RemovedContinuous Delivery (CD) allows project leads and committers to configure automated processes to build and deploy their software. FINOS provides a dedicated OpenShift instance that can be used for this purpose.

This page provides guidance to project leads and committers who want to integrate Continuous Delivery in their build process; before starting, make sure you have read through the FINOS OpenShift Console documentation.

Travis CI to OpenShift integration

...