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.
Workflows are configured with a simple declarative YAML based config. To start configuring workflows, read more about YAML structure.
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:
|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 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:
|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|
Read how in-built state management helps you easily exchange information with upstream and downstream jobs.
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.
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.
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
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
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.
- AWS IAM
- AWS Keys
- Google Cloud
- Azure DC/OS
- Docker Cloud
- Docker Datacenter
- Joyent Triton
- Digital Ocean
- Node cluster on any cloud
Docker and artifact repositories
Source Control Providers
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.