Hello,
Environment variables available from pipeline steps are listed here:
https://confluence.atlassian.com/bitbucket/environment-variables-794502608.html
There doesn't seem to be a way to find out which deployment environment is set for this step at the moment (i.e. via fictional BITBUCKET_DEPLOYMENT variable). This is needed for deployment script to decide what to do, otherwise, steps can't be reused for different environments.
Am I missing something?
Many thanks!
Hi Yury,
Currently there's no BITBUCKET_DEPLOYMENT type environment variable.
Is there any reason that you cannot hard code this inside you're step scripts, given that you already need to specify the environment name on the step?
For example:
pipelines:
default:
- step:
name: Deploy to test
deployment: test
script:
- export DEPLOYMENT_NAME=test
- ./deploy-to-env
- step:
name: Deploy to staging
deployment: staging
script:
- export DEPLOYMENT_NAME=staging
- ./deploy-to-env
Does that suit you, or did you have some different use cases?
You can also open a feature request for such an environment variable here: https://bitbucket.org/site/master/issues?status=new&status=open&component=Pipelines
Thanks,
Phil
Hi Philip,
Of course, I can hardcode the environment in the deployment script in addition to specifying it in step itself. My question was, however, how can I avoid precisely that.
There are several reasons as to why I would like to avoid it if at all possible.
An obvious way would be to find out which deployment environment is active by querying an environment variable, but very unfortunately you confirmed that it is not available.
I have created a new feature request as instructed:
https://bitbucket.org/site/master/issues/15987/make-step-deployment-accessible-as
--Yury
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Yury,
You should be able accomplish this now using deployment environment variables defined under the pipelines -> deployments settings screen.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I'm in need of accessing the name of the deployment environment inside the steps with reusable scripts.
Right now, I'm thinking to go ahead with explicitly mentioning/adding one more environment variable called 'BITBUCKET_DEPLOYMENT' under each deployment and repeating the deployment name itself there.
It would be nice to see this feature included as part of Bitbucket itself. thanks.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello,
We’ve added the following default variables to Pipelines:
These are also documented with our other variables.
Thanks,
Phil
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
woohoo!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
These variables (BITBUCKET_DEPLOYMENT_ENVIRONMENT_UUID and BITBUCKET_DEPLOYMENT_ENVIRONMENT) are neither set nor documented, in the 2020th foul year of Our Lord.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
After almost three years of struggling, we've solved our problems with Bitbucket by migrating to GitHub, and it's got cheaper on top of that.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Philip Hodderwhat's the deal? These are not documented.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
What's the latest on this @Philip Hodder - These environment variables still do not appear to being set. Can you advise ASAP?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello,
I still get an issue 'variable missing' although used deployment pipelines setting
This is my yaml
pipelines: branches: develop: - step: name: Build script: - zip -r myapp.zip * artifacts: - myapp.zip - step: name: Upload to S3 services: - docker script: - pipe: atlassian/aws-code-deploy:0.3.2 variables: BITBUCKET_DEPLOYMENT_ENVIRONMENT: 'staging' AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION S3_BUCKET: $S3_BUCKET COMMAND: 'upload' APPLICATION_NAME: $APPLICATION_NAME ZIP_FILE: 'myapp.zip'
Please help!
Thank you
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.