Note: this is a first pass at this documentation; more details will be added soon.
This article describes the currently-supported stages that you can add to your Spinnaker pipelines.
Note that when you’re creating a pipeline, you probably won’t see every stage that’s listed here: you’ll only see the stages that Spinnaker supports on your provider.
Bake an image from the specified packages. Baking here refers to the process of creating a machine image. Spinnaker’s bakery is backed by Hashicorp’s Packer. Spinnaker provides default Packer templates and base machine images in order to get you started, but see the bakery configuration guide if you want to customize your bake process.
Note that Spinnaker skips the bake process if it detects that a new bake is unnecessary. Spinnaker generates a unique key for each bake based on the bake stage parameters: base OS, versioned packages, etc. If either the packages or the bake stage parameters have changed, Spinnaker triggers a new bake. To change the default behavior and re-bake your image each time the pipeline runs, select Rebake in the Bake Configuration section.
Run automated canary analysis against the deployment before fully deploying.
Check for preconditions before continuing. For example, you can check that your cluster is a particular size, or add a pipeline expression. See the pipeline expressions guide for more information about creating and using pipeline expressions.
Clone Server Group
Deploy a new Server Group that is a copy of the specified Server Group.
Deploy the previously baked or found image using the specified deployment strategy. Spinnaker provides built-in support for both red/black (also known as blue/green) and Highlander deployment strategies. You can also choose to deploy with no impact on existing Server Groups, or build your own custom deployment strategy.
Destroy Server Group
Delete a Server Group and its resources from the specified Cluster. You must specify whether you want to delete the newest, oldest, or previous (second-most-recently deployed) Server Group when this stage starts.
Disable the specified Cluster, which means that the cluster remains up but stops handling traffic. If desired, you can leave a specific number of Server Groups running while the rest of the cluster is disabled.
Disable Server Group
Disable a Server Group, which means that the Server Group remains up but stops handling any traffic. This makes it easy to both route traffic to a new Server Group and roll back those changes if necessary. You must choose whether to disable the Server Group which is newest, oldest, or previous (second-most-recently deployed) when this stage starts.
Enable Server Group
Enable a Server Group, which means that the Server Group will will resume handling traffic.
Find Artifact From Execution
Find and bind an artifact from another pipeline execution.
Find Image From Cluster
Find an image to deploy from an existing Cluster. You must specify the Cluster, Server Group, and image name such that there is exactly one match.
Find Image From Tags
Find an image to deploy from tags.
Run a Jenkins job. You must set up Jenkins in order to use this stage.
Wait for the user to click Continue before continuing.
Run an existing pipeline: you can select any pipeline from this application and run it as a sub-pipeline.
Resize Server Group
Resize the oldest, newest, or second newest Server Group. You can resize the Server Group by either a percentage of its current size or a specific amount. The available resizing strategies are:
- Scale Up, which increases the size of the target Server Group.
- Scale Down, which decreases the size of the target Server Group.
- Scale to Cluster Size, which increases the size of the target Server Group to match the largest Server Group in the Cluster. Optionally, you can specify additional capacity to add as well.
- Scale to Exact Size, which adjusts the size of the target Server Group to match the specified capacity.
Roll back one or more regions in a Cluster.
Run a container.
Scale Down Cluster
Scale down a cluster. You can prevent this stage from scaling down active Server Groups, or choose to keep a certain number of Server Groups at their current size while the rest are scaled down.
Run a script.
Shrink a given cluster to contain nothing except a specified number of either the newest or the largest Server Groups. You can choose whether to delete active Server Groups if they don’t fit the specified criteria.
Tag an image.
Wait a specified period of time.
Run a Webhook job.
Start AppEngine Server Group
Start a Server Group.
Stop AppEngine Server Group
Stop a Server Group.
Upsert AppEngine Load Balancers
Edit a Load Balancer.
Modify AWS Scaling Process
Suspend/resume scaling processes.
Bake a manifest (or multi-doc manifest set) using a template renderer such as Helm.
Destroy a Kubernetes object created from a manifest.
Deploy a Kubernetes manifest YAML/JSON file.
Find Artifacts From Resource
Find artifacts from a Kubernetes resource.
Scale a Kubernetes object created from a manifest.
Undo Rollout (Manifest)
Rollback a manifest a target number of revisions.