Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Strømlinjeforme deploy oppsett og mappestruktur #100

Open
nilsnh opened this issue Nov 11, 2021 · 1 comment
Open

Strømlinjeforme deploy oppsett og mappestruktur #100

nilsnh opened this issue Nov 11, 2021 · 1 comment
Labels
RFC request for comments

Comments

@nilsnh
Copy link
Contributor

nilsnh commented Nov 11, 2021

RFC: Request for comments.

Craft CMS har bytta ifrå public/ til web/ som web root i sin anbefalte mappestruktur.

@svale har foreslått at starteren burde reflektere denne endringen. Eg syns det høres bra ut, og så fordrer dette at me også endrer på litt andre greier relatert til deploy.

Servebolt bruker i dag public/ som web root så viss me byrjer å bruke web/ mappe for lokal utvikling så må me sørge for at deploy steget automatisk teiper over denne skilnaden.

Endringsforslag

  1. Skriv ein buddy.yml fil som definerer bygge-pipeline. Dette er i tråd med infrastructure as code tilnærmingen.
  2. Omnavn public/ til web/ og sørg for å oppdater både dokumentasjon og kode relatert til lokal utvikling og livereloading.
  3. Oppdater buddy.yml slik at byggesteget tek høgde for at det blir lagd ein symlink frå public/ til web/ i server-miljøet. Foreslå gjerne ein annen løysing om det kan passe betre.
  4. Skriv ein guide docs/deployment-servebolt.md som set brukerar i stand til å settje opp deploy løpet sjølv og link til den i readme.md.
@nilsnh nilsnh changed the title RFC: Strømlinjeforme deploy oppsett og mappestruktur Strømlinjeforme deploy oppsett og mappestruktur Nov 11, 2021
@nilsnh nilsnh added the RFC request for comments label Nov 11, 2021
@svale
Copy link
Contributor

svale commented Nov 12, 2021

Takk, @nilsnh for at du plukket opp denne!

Jeg er jevnt over helt enig i alt :)

Ad pkt 1) Jeg må innrømmet at jeg ga opp på forrige forsøk på å konfigurere buddy works via yaml-fila, men her kreves det nok bare trening, og med gode ENV-variabler i Buddy-miljøet, skal YAML-fila i prinsippet kunne brukes nærmest uendret mellom prosjekter.

Ad pkt 3): Jeg vil foreslå at vi også i samme venda vurdere å legge opp til atomic deployments. Buddy works har en template på dette. Blant fordelene er ekte zero downtime deploys, at man kan holde på noen revisjoner for enkelt å rulle tilbake, eksplisitt definere opp det som skal gjenbrukes (persiste) mellom deploys, samt at vi da aldri rsyncer mot rot-mappa på serveren (som kanskje er det viktigste for meg fordi det kjennes så utrygt).

Mappestrukturen blir da omtrent slik

current -> releases/e68b1d257c4c443f41a4b9084e4dff8b5c5ad218
public -> current/web
releases
storage

Eksempel:
image

Symlinken fra public mappa trenger i praksis egentlig bare settes når serveren settes opp første gang, og det er kanskje bedre enn å redefinere på hver deploy? Evt at deploy-rutina verifiserer at den er der?

@torgeirbeyer - veldig interessert i din take på dette !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
RFC request for comments
Projects
None yet
Development

No branches or pull requests

2 participants