Platform.sh was my first introduction to CI. I love that per branch I can assign environment variables so that with each push the branch deployment responds to its respective environment values.
I am now moving away from Platform.sh and trying to set up my own CI. Of course, I do not want every branch to be deployed using production variables and at the same time, I do not want to create variables named {BRANCH}_SSH_USER. I'd much prefer to have one variable called SSH_USER and have each branches value be different so that my deployment script does not have to be hardcoded to MASTER_SSH_USER or STAGING_SSH_USER.
Am I approaching this the wrong way? If so, how should I be?
Hi Tyler I faced a similar situation and ended up doing some workaround, see if it works for you. I created a json environment variable named SSH_USER with value:
{ "SSH":{"development": { "user": "devuservalue"}, "staging": {"user": "staginguservalue"}}}
This value was set with Secured attribute set; then I user jq to read the value according to the current branch.
sshuser=$(echo $SSH_USER | jq -r ".SSH.${BITBUCKET_BRANCH}.user")
and that did the trick for me, I have a single env variable for any branch, and can be read in a "contextual" manner with the current branch value.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.