CI/CD and OLP

This technical solution paper provides a real world example of how CI/CD can be integrated with OLP.

You can integrate OLP (OLP) with a Continuous Integration (CI) system to detect integration errors as quickly as possible, improve quality, and reduce software lead time.

You can also integrate OLP with a Continuous Delivery (CD) system to automatically build, test, and package artifacts for production release based on code changes.

Prerequisites

To implement these CI/CD instructions, you need the following:

  • Familiarity with CI/CD concepts
  • An Open Location Platform account
  • Credentials that allow you to create groups and familiarity with account management in OLP
  • Familiarity with the SDK and basic concepts used in developing pipelines
  • Familiarity with OLP CLI

CI/CD Pipeline Overview

CI and CD can be seen as a pipeline where the code is the input. This input gets tested across a series of steps that usually include automated build and testing as well as validation on testing environments (often known as Staging). When the tests complete successfully, the code is published as ready for production.

The image below illustrates this principle.

General CI/CD Pipeline
Figure 1. General CI/CD Pipeline

The steps described above are suggestions and can be adapted and extended based on different needs. For instance, some steps can be repeated for different kinds of validation, or multiple times at different levels, or have multiple testing environments to parallelize long running tests. All these different testing structures always need to test the same code/artifact, and must be immutable from the first build until the end of the validation. Building a CI/CD implementation is in itself a continuous improvement process that matures step by step.

Basic Definitions

  • Unit tests verify the smallest testable units of software: they are self-contained.
  • Component integration tests verify integration between larger components of the software. In this document, we assume that they don't access remote services.
  • System integration tests verify delivered software on a system level, including integration with remote services like the Open Location Platform.
  • Product acceptance tests use prepared test data, and produce and verify a complete output from a tested application. They are executed in OLP Pipelines.
  • Deployment is a complete set of data and actions required to deploy and run an application as a pipeline in the platform.

results matching ""

    No results matching ""