Platform reference

This document points to reference documentation for various parts of the platform, such as workflow configuration, runtime, integrations, and visibility & analytics. While you can get to most of these pages through the left navigation menu, this is a one stop shop for all reference docs.

Configuration

Workflows are configured with a simple declarative YAML based config. To start configuring workflows, read more about YAML structure.

Jobs

Jobs are executable units of your workflow. Read the overview of how jobs are defined and how they fit into a workflow.

List of supported jobs:

Job Type Description
deploy Managed job that deploys apps/services to Container Platforms or VM clusters
externalCI Managed job for integrating external CI providers, such as Jenkins, with your workflows
manifest Managed job that creates an immutable app/Service definition
provision Managed job that provisions resources needed (e.g. load balancers) by Container Orchestration Platforms
release Managed job that provides semantic versioning to help with release management for apps/Services
runCI Unmanaged job that executes configured CI commands
runSh Unmanaged job that executes any shell commands, scripts, or supported CLI commands
rSync This job is automatically added when you add an Assembly Line to Shippable, and keeps the workflow synced with your yml configuration.

Resources

Resources hold information that is required to execute jobs. Read the overview of how resources are defined and how they fit into a workflow.

List of supported resources:

Resource Type Description
ciRepo Automatically created resource that represents a git repository that has been enabled for CI
cliConfig Configuration information for command-line tools
cluster Pointer to a cluster on various cloud providers
dockerOptions Configuration information for a container
externalCIServer Resource that points to an external CI server
file Pointer to a file on JFrog Artifactory
gitRepo Pointer to a source code repository
image Pointer to a Docker image in a registry
integration Encrypted connection information to 3rd party services
loadBalancer Represents load-balancer resources offered by cloud providers
notification Helps send alerts from jobs
params Environment variables used to prep your job runtime
replicas Specify number of copies of an app/service to run
state Store information that is read and updated by several jobs in workflow
syncRepo Automatically generated resource that points to the repository containing configuration for your workflows
time Trigger a job at a specific day and time
trigger Trigger a job by updating this resource
version Use semantic versions and specify bump logic
webhook Add a webhook from an external provider to trigger a Shippable workflow

State

Read how in-built state management helps you easily exchange information with upstream and downstream jobs.

Runtime

Jobs need a machine or container to execute a set of commands. Our job runtime provides an environment that is already prepped with the necessary OS, software tools and packages, runtime configurations, and secrets to authenticate with 3rd party services that the activity might interact with.

Read the Runtime overview to learn more.

Nodes

We offer on-demand nodes with and without node caching, as well as a unique Bring-Your-Own-Node offering which lets you run jobs on your nodes that can be behind your firewall.

You can also create node pools, which let you route specific jobs to a subset of nodes. This is immensely helpful if you have a few jobs that are resource intensive and need bigger nodes, or if you want to run specific jobs on a separate pool for security reasons.

Read more about Node types and pools.

Caching

We support two types of caching:

  • Node caching, where the entire node is paused between jobs, instead of being restarted, and,
  • Artifact caching, which allows you to cache specific folders between jobs

Read more about caching types

Machine images

Our machine images are used to spin up job nodes. These images come prepped with many popular tools and packages, as well as a set of Docker images that are used to run your jobs.

We publish machine images every month or couple of months to make sure we already have the latest and greatest versions of installed components.

For a complete list of machine images and more details on how they work, read the machine images overview

Security

Read our Security overview to understand how we handle various aspects of security, such as Role-Based Access Control and Credentials management

Integrations

Integrations are used to connect your Shippable CI or CD workflows to third party platforms or services and manage secrets that might be needed by your workflows. An individual user owns each integration and can define scope for it, i.e. restrict access to specific organizations and repositories.

Cloud providers

Docker and artifact repositories

Source Control Providers

Notifications

Project Mgmt

Miscellaneous

Single Pane of Glass

Your workflows can be viewed graphically in our real-time, interactive dashboard called a Single Pane of Glass. You can view jobs in a dependency graph view or grid view, as well as take actions such as trigger or pause jobs, pin specific resource versions, view trace and audit information, etc.

Read more on the Single Pane of Glass.