Pipeline Steps

A pipeline is made up of various steps that take actions across a hub.

Steps can make use of pipeline variables, fluid identifiers, and prior steps to achieve nearly anything on the Cycle platform.

Identifiers

All steps can be assigned an identifier, and other steps later in the stage can then refer back to the step with it. This is often useful for utilizing build artifacts from an earlier stage, such as using an image from an earlier build step to deploy a container.

Fluid Identifiers

Some pipeline fields are references to other resources (containers, environments, etc). These fields accept what is called a fluid identifier - an identifier that can refer to a previous step using a step identifier, or refer to another resource within the hub using an ID or resource identifier.

The fluid identifier is prefixed with the "type" of identifier:

This is abstracted via an input in the Portal.

Step Actions

Below are the various different actions a step can take.

Container Actions

  • Create Container: Create a new container.
  • Start Container: Start a stopped or newly created container.
  • Stop Container: Gracefully stop a running container, halting its operations without deleting it.
  • Restart Container: Restart a running or stopped container.
  • Delete Container: Permanently delete a container.
  • Reimage Container: Update the underlying image of a container while maintaining existing configurations.
  • Trigger Function Container: Invoke a function container, often used for running a batch job.

Image Actions

  • Create Image Source: Set up an image source, from which images will be pulled.
  • Create Image: Define the structure of an image without actual data, creating a shell for future import.
  • Import Image: Import an image from the image source and populate a previously created image structure.
  • Create and Import Image: A combined action that creates the image shell and imports data from the source in a single step.
  • Prune Images: Remove unused or unnecessary images, either all at once or from a specified list, to free up space.

Environment Actions

  • Create Environment: Create a new environment.
  • Start Environment: Start up an environment, initializing its containers and services.
  • Stop Environment: Stop all containers and services running in an environment, shutting it down temporarily.
  • Delete Environment: Permanently delete an environment and its associated resources.
  • Start Environment Deployment: Initiate a specific deployment within the environment, identified by version or tag.
  • Stop Environment Deployment: Halt a specific deployment within the environment, identified by version or tag.
  • Update Deployment Tag: Change the tag associated with a deployment, often used for version management or updates.
  • Prune Environment Deployments: Remove unused or untagged deployments, cleaning up the environment by deleting containers and resources.
  • Wait For Deployment Health Check: Pause further steps until the deployment is deemed healthy based on predefined conditions.

Stack Actions

  • Create Stack Build: Initialize the shell or base structure for a stack build.
  • Generate Stack Build: Fully generate the stack, preparing it for deployment.
  • Deploy Stack Build: Deploy a stack build to an environment.
  • Prune Stack Builds: Remove unused or outdated stack builds from the system to free up space and resources.

Webhook Actions

  • Post to Webhook: Send a POST request to an external endpoint with custom or step-specific data, supporting retries and failure handling.
  • Get Webhook: Run a GET request against an external endpoint, often used to retrieve data, with support for retries and failure handling.

Utility Actions

  • Sleep: Pause the pipeline for a specified number of seconds before proceeding to the next step, useful for creating delays.