LambdaCD 0.13.2

Released under the Apache License, version 2.0

A library to create a continous delivery pipeline in code.

Installation

To install, add the following dependency to your project or build file:

[lambdacd "0.13.2"]

Namespaces

lambdacd.core

Main entrypoinint into LambdaCD. Provides core functionality to assemble an instance of LambdaCD that can run.

lambdacd.event-bus

Entry-point into the LambdaCD event bus.

lambdacd.execution.core

Entrypoint into the pipeline/step execution engine.

lambdacd.presentation.pipeline-state

This namespace contains functions useful to convert the internal state of a pipeline into something more easy to use for further processing, e.g. to present it to a user.

lambdacd.presentation.pipeline-structure

This namespace is responsible for converting the pipeline into a nice map-format that we can use to display the pipeline in a UI

lambdacd.presentation.unified

This namespace contains functions to convert the current internal state of a pipeline and it’s structure into a form that’s easier to handle. Unifies the information from lambdacd.presentation.pipeline-state and lambdacd.presentation.pipeline-structure. Used for example to be able to display a pipeline and it’s current state in a UI.

lambdacd.runners

Runners are what keeps a pipeline going. The start new builds based on some logic, e.g. when the previous build is finished or (e.g if the first step is a trigger) after the first step is done.

lambdacd.state.core

Facade for all functions related to dealing with LambdaCDs state. Wraps the related interfaces to simplify compatibility and API.

lambdacd.state.protocols

Defines protocols that need to be implemented by a state component

lambdacd.step-id

Utility functions to deal with the logic behind step ids: step-ids are a sequence of numbers that represent the structure of the pipeline.

lambdacd.stepresults.flatten

Functions to convert a nested step result and transform it into a flat list

Public variables and functions:

lambdacd.stepresults.merge

Functions that can help merge several step results into one

Public variables and functions:

lambdacd.stepresults.merge-resolvers

Contains functions that can act as resolvers in merge-two-step-results by returning a merged result of two values if they match or nil if they don’t.

lambdacd.steps.control-flow

Control-flow elements for a pipeline: steps that control the way their child-steps are being run.

lambdacd.steps.git

DEPRECATED: Build-steps that let you work with git repositories. Use the lambdacd-git library instead.

lambdacd.steps.manualtrigger

Build step that waits for manual user interaction.

Public variables and functions:

lambdacd.steps.result

lambdacd.steps.shell

Build step to run scripts in a separate shell process. Needs bash to run.

Public variables and functions:

lambdacd.steps.status

DEPRECATED, use lambdacd.stepstatus.predicates and lambdacd.stepstatus.unify instead.

lambdacd.steps.support

DEPRECATED, use the namespaces under lambdacd.stepsupport.* instead. See CHANGELOG.md for details.

lambdacd.stepstatus.predicates

Predicates over step status.

Public variables and functions:

lambdacd.stepstatus.unify

Functions that implement logic to summarize a list of statuses into a single status. Commonly used in combination with unify-only-status as a :unify-results-fn to generate the status of a parent step from the statuses of child steps. These functions might return :unknown if a combination of statuses does not make sense to their scenario.

lambdacd.stepsupport.chaining

Functions that allow you to use LambdaCDs pipeline mechanisms inside a step, i.e. chain several steps together:

lambdacd.stepsupport.killable

Functions that help in adding the ability for a step to be killed.

Public variables and functions:

lambdacd.stepsupport.metadata

Functions that support build steps in dealing with metadata

Public variables and functions:

lambdacd.stepsupport.output

Functions and macros that simplify dealing with a steps user readable output (:out). Two approaches are provided: The printer approach that gives full control over what will be provided as output and the capture-output-approach that just redirects all stdout.

lambdacd.ui.api

REST-API into the current state, structure and history of the pipeline for use by the UI.

Public variables and functions:

lambdacd.ui.core

Public variables and functions:

lambdacd.ui.ui-page

lambdacd.ui.ui-server

Deprecated, use lambdacd.ui.core instead.

Public variables and functions:

lambdacd.util