This repo contains Pulumi Orbs for use in CircleCI. Using these orbs will allow you to easily integrate stack updates and previews into your existing CI/CD workflow, without the need for writing custom scripts.
To use these orbs, simply include the pulumi/[email protected]
orbs package, and
then call the orb commands like pulumi/login
or pulumi/update
from your
CircleCI configuration file.
version: 2.1
orbs:
pulumi: pulumi/[email protected]
jobs:
build:
docker:
- image: circleci/node:7.10
working_directory: ~/repo
steps:
- checkout
- pulumi/login
- run:
command: |
npm install
npm run build
- pulumi/update:
stack: website-prod
The login
orb downloads the Pulumi CLI and authenticates with the Pulumi
service.
It is recommended to omit the
version
andaccess-token
parameters, and instead download the latest Pulumi CLI and provide the access token via a secure environment variable namedPULUMI_ACCESS_TOKEN
.
Parameter | type | default | description |
---|---|---|---|
version | string | latest | Version of the Pulumi CLI to install. |
cloud-url | string | https://api.pulumi.com | URL of the Pulumi service to log into. |
access-token | string | ${PULUMI_ACCESS_TOKEN} | The access token to use to log in. |
The preview
orb performs a preview of the update to a given Pulumi stack.
If the Pulumi.yaml
file for your stack is in a different directory than the
CircleCI job's current working directory, you will need to set the working_directory
parameter.
It is recommended to always run a preview in your CI/CD, as it will catch certain classes of errors that wouldn't otherwise be found in a standard build, test, lint setup.
Parameter | type | default | description |
---|---|---|---|
stack | string | (none) | Name of the Pulumi stack to preview. |
working_directory | string | . | The relative working directory to run pulumi from. |
The update
orb performs an update to a given Pulumi stack.
Parameter | type | default | description |
---|---|---|---|
stack | string | (none) | Name of the Pulumi stack to update. |
working_directory | string | . | The relative working directory to run pulumi from. |
skip-preview | boolean | false | Whether or not to skip the preview step before the update. |