https://pulumi.com logo
#general
Title
# general
m

many-pager-81954

02/24/2020, 12:40 PM
Hi, I'm having an issue using Pulumi as part of a Codefresh continuous integration pipeline. We can get it working, but then every so often pulumi upgrades and our builds all begin failing with messages like
Copy code
pulumi:providers:aws default_1_22_0  error: no resource plugin 'aws-v1.22.0' found in the workspace or on your $PATH, install the plugin using pulumi plugin
Is there a way to pin pulumi and the plugins to particular versions so that we can choose when to do the update and not be forced into it? The step config we're using currently is:
Copy code
pulumi_deploy_production:
    description: Deploy to production
    type: freestyle
    stage: release
    image: pulumi/pulumi:v1.7.1
    working_directory: "infrastructure/pulumi/production"
    commands:
      - cd ../common && npm install
      - cd ../production && npm install
      - pulumi plugin install resource aws v1.15.0
      - pulumi stack select MachineLabsLtd/production --non-interactive
      - pulumi up --non-interactive --skip-preview --yes
w

white-balloon-205

02/24/2020, 3:21 PM
Plugins are stored in
~/.pulumi
. The necessary versions are acquired as part of
NPM install
. If you do not maintain your home directory between NPM install and Pulumi up, you might end up misssing plugins. We have seen codefresh users in particular get hit by this. You can change where plugins are stored with the PULUMI_HOME env car. You will want to set that for both the NPM install and Pulumi deployment steps of your codefresh pipeline. https://www.pulumi.com/docs/reference/cli/environment-variables/ https://github.com/pulumi/pulumi/issues/2966