Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,364,548
Community Members
 
Community Events
168
Community Groups

Is it possible to set environment variables per pipeline step

To keep my pipeline tasks DRY I want to reuse my deployment task.  I now have something like:

- step:
<<: *DEPLOY_TEST
deployment: test
- step:
<<: *DEPLOY_STAGING
deployment: staging
trigger: manual

But the DEPLOY_STAGING and DEPLOY_TEST definitions only differ regarding the env on which to deploy.  Can I add something like:

- step:
<<: *DEPLOY
deployment: test
environment:
HOST: test-host

To further reuse code and have just one DEPLOY definition?

1 answer

1 accepted

0 votes
Answer accepted

Hi Rutger,

We recently released support for defining Deployment Variables. This will allow you to configure variables that will be injected into the relevant Deployment Step. Which seems to be what you need here.

You can configure them in the Repository Settings -> Pipelines -> Deployments.

Thanks,

Phil

Too bad we are only restricted to three hardcoded deployments though

Like Ansgar Schürmann likes this

@Liri Sokol, we've started work on adding support for flexible environment configurations (i.e. more than 3 environments, named whatever you want). You can follow its progress here: https://bitbucket.org/site/master/issues/15362/enhance-deployments-to-support-flexible

Also it's not just deployment where different environment vars may be needed; e.g.  separate smoke test steps for an env that should be run after a deploy to that env

This also doesn't work because you cannot have multiple steps that use deployment variables. 

Like Simone Scardoni likes this

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events