AtB-AS / webshop

AtB Webshop / AtB Nettbutikk
https://nettbutikk.atb.no
European Union Public License 1.2
0 stars 1 forks source link

chore: updates cloud build to use env vars #411

Closed mikaelbr closed 2 years ago

mikaelbr commented 2 years ago

Det ligger en cloudbuild.yml fil brakk fra tidligere CI løsninger her, men egentlig så er det nyttig å ha en som er oppdatert. Slik kan f.eks NFK rulle ut enkelt i staging og prod basert på branches og bruke AtBs via GH Action på PR, så det kan gjøre regresjonstester der og.

Nå har jeg tatt utgangspunkt i guide fra https://cloud.google.com/build/docs/deploying-builds/deploy-firebase

Der setter det opp tilganger til Firebase via IAM, men jeg har også sett tidligere eksempler og som vari cloudbuild her fra før der det blir generert opp en kryptert token som manuelt settes inn. Jeg kunne ikke finne en umiddelbar måte å støtte flere miljøer med bruk av krypterte secrets, og eksempler jeg fant viste til flere yaml-filer. Det syns jeg blir en lite skalerbar løsning. Så forslaget er å følge det som vises i guide her, men jeg har ikke gjort noe vurdering på sikkerhetsissue eller bad practice på det.

github-actions[bot] commented 2 years ago

Visit the preview URL for this PR (updated for commit c3e85bd):

https://atb-webshop-staging--pr411-mikael-cloudbuild-wgu6ltk9.web.app

(expires Thu, 04 Nov 2021 14:36:03 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

mjenssen commented 2 years ago

Cloud Build har en ganske ny feature (som er fortsatt i preview afaik) som gjør at du kan angi en service account for hver trigger, så for akkurat den som bygger webshop så kan du angi en service account som har "Firebase Admin"-rollen. Da slipper du å gi den rollen til service account som alle triggerne kjører under.

En annen mulighet ville vært å legge FIREBASE_TOKEN inn i env i triggeren, men siden Cloud Build ikke støtter Secret Manager (ennå) så er ikke det en bra løsning enn så lenge.

Ser bra ut dette. 👍