I have the following BitBucket pipeline script which preserves some files, does deployment and restores the files.
As shown this applies to the master branch. For the development branch I need exactly the same script. The only difference is that deployment: production will become deployment: development since I need other environment variables, set in BitBucket.
I've looked into https://support.atlassian.com/bitbucket-cloud/docs/yaml-anchors/ for YAML anchors to make this script as a function. But couldn't get it to work.
Is there a way to avoid this part being copied for the development branch?
branches:
master:
- step:
name: Deployment to production
deployment: production
trigger: manual
script:
- echo "Deploying to prod..."
- pipe: atlassian/scp-deploy:1.0.1
variables:
USER: $DOMAIN
SERVER: $SERVER
REMOTE_PATH: '~/public/prod'
LOCAL_PATH: 'dist/*'
Hi @basvdijk ,
Thank you for your question!
We have tested examples provided in the YAML anchors guide and overrides works good, where variable NAME setup in different deployments (test, development, production):
definitions:
steps:
- step: &build-test
name: Build and test
script:
- echo "Build and test"
- step: &deploy
name: Deploy
deployment: test
script:
- echo "Hello ${NAME}"
pipelines:
branches:
development:
- step: *build-test
- step: *deploy
- step:
<<: *deploy
name: Deploy development
deployment: development
master:
- step: *build-test
- step:
<<: *deploy
name: Deploy Test
- step:
<<: *deploy
deployment: production
trigger: manual
It could be useful to check names for your deployments, because by default it starts with capital letter but you use small instead: Test vs test, Production vs production.
It would be nice if you provide us with more details to help you.
Cheers,
Oleksandr Kyrdan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.