So, sometimes I’m kinda lazy.
Considering the fact I needed to be connecting to different Gcloud env for different project, it was kinda a hassle to have to switch every time.
So I told myself… why not automatize it ?
So I search a bit and found this good example:
https://gist.github.com/troyharvey/bae82c86c27a3aa539dea83857ee9ecd
I searched a bit for a alpine image and then adapted for my needs like that
deploy:
stage: deploy
image: google/cloud-sdk:alpine
only:
- dev
before_script:
- echo $FIREBASE_KEY > ${CI_PROJECT_DIR}/key.json
- echo $GCLOUD_SERVICE_KEY > /tmp/$CI_PIPELINE_ID.json
- gcloud auth activate-service-account --key-file /tmp/$CI_PIPELINE_ID.json
- gcloud config set project $CLOUDSDK_CORE_PROJECT
script:
- cd ${CI_PROJECT_DIR}
- gcloud app deploy
allow_failure: false
With this, you’ll also need a configuration in your settings, CI/CD variables.
Something like that

Once done, Please do not forget to have at least your branch / tag as protected.
Else you’ll loose time like me 🙂

