Pulumi CI/CD & CircleCI
This page details how to use CircleCI to deploy Pulumi stacks.
You can refer to CircleCI’s documentation for information on how to configure your CircleCI jobs and workflows.
When it comes to integrating Pulumi, just like Like other CI/CD services, it is generally a matter
of downloading the Pulumi command-line tool and running
pulumi up from within the CircleCI
environment. However, Pulumi Orbs for CircleCI
enable a standard way to do this integration, without needing any custom scripting.
The Pulumi orbs for CircleCI takes care of the mechanics of downloading and installing the Pulumi command-line tool, so that you can just focus on the specific steps to deploy your stacks within your CircleCI configuration.
For the most up-to-date information about Pulumi orbs, refer to the Pulumi page within the CircleCI orb registry at https://circleci.com/orbs/registry/orb/pulumi/pulumi.
The following CircleCI
config.yaml shows the Pulumi orbs in-action. It references the
email@example.com orb package, and then downloads starts Pulumi using the
and finally updates a stack using the
version: 2.1 orbs: pulumi: firstname.lastname@example.org jobs: build: docker: - image: circleci/node:16.15 working_directory: ~/repo steps: - checkout - pulumi/login - run: command: | npm install npm run build - pulumi/update: stack: website-prod
Integrating Pulumi into CircleCI starts with the
pulumi/login orb, which will take care of
downloading the Pulumi command-line tool if it is not on the current
$PATH. It will then run
pulumi login using available credentials.
You can either specify the Pulumi access token
access-token parameter, or default to using the
$PULUMI_ACCESS_TOKEN environment variable.
Using the environment variable is preferred, as you can secure store that using secure
The full reference documentation for the Pulumi orbs can be found along side their source code on Github.
Thank you for your feedback!
If you have a question about how to use Pulumi, reach out in Community Slack.
Open an issue on GitHub to report a problem or suggest an improvement.