nais / docker-build-push

MIT License
0 stars 5 forks source link

Add version and repo name as env vars during build #20

Closed khtdiep closed 1 year ago

khtdiep commented 1 year ago

Vennligst se over! Første gang jeg jobber med Github Actions her så håper det funker.

Starefossen commented 1 year ago

Litt kontekst så er dette for å kunne vite versjonsnummer når applikasjonen bygges for de som ønsker å bake dette inn i imaget sitt.

thokra-nav commented 1 year ago

Usikker på hva som er målet her, ser ikke at disse miljøvariablene er støttet av https://github.com/docker/build-push-action.

Hvis du ønsker de inn i ditt image, så kan du bruke build_args og/eller build_secrets for å sende informasjon inn i Docker imaget, som du kan lese mer om her: https://docs.docker.com/engine/reference/builder/#arg

Starefossen commented 1 year ago

Det må vel settes som build-args til Docker action.

thokra-nav commented 1 year ago

@Starefossen Det gjør vi, men våre input har _

Starefossen commented 1 year ago

@thokra-nav litt usikker på om jeg forstår, er variablene fra meta tilgjengelig som build args med _ prefix?

khtdiep commented 1 year ago

Sorry, forventet ikke at noen skulle være oppe allerede hehe. Mulig syntax jeg puttet på den siste commiten her var feil, syns jeg så den slik igår men nå finner jeg ikke dokumentasjonen igjen. Kunne gjerne trengt litt hjelp. Mulig jeg misforsto også det med _.

Litt om bakgrunnen for endringen er at i NextJS så er det veldig vanskelig å sende over kjøretid miljøvariabler til browser/client, miljøvariabler som skal til browser/client må være tilgjengelig i byggetid og akkurat disse variablene om versjon er ganske fine for å sette opp noe som Grafana Faro eller Sentry for da å kunne se hvor bra/dårlig en release er (trenger mest versjon, repo/prosjekt navn ikke viktig). Akkurat nå er det hacks osv rundt det men jo mer vi flytter over til NextJS jo mer føler jeg at vi trenger en versjon tag tilgjengelig i byggetid.

khtdiep commented 1 year ago

Faktisk, nå som jeg forstår litt mer så ser jeg at jeg kan injecte denne informasjonen fra pam-deploy som gir også litt mer mening siden det er der versjonen blir generert. Prøver det først.

thokra-nav commented 1 year ago

Beklager dårlig beskrivelse. Mente at vi har støtte for build_args, merk at vi eksponerer med _ key, ikke -

Så fremfor å legge dette som standard, så kan du legge det til i din workflow:

      - uses: nais/docker-build-push@v0
        id: docker-push
        with:
          # [...]
          build_args: |
            NEW_VERSION: ${{ steps.meta.outputs.version }}
            REPO_NAME: ${{ steps.setup.outputs.REPO_NAME }}
khtdiep commented 1 year ago

Ja det fungerte, beklager for bryet. Closer denne PR jeg