Hur man skapar en statisk webbplats med Cloudflare Workers Sites

Hej! Jag heter Dima och Àr techledare för SysOps-teamet pÄ Wrike. I denna artikel kommer jag att berÀtta hur du kan skapa en anvÀndarvÀnlig webbplats och automatisera dess distribution pÄ bara 10 minuter och för 5 dollar i mÄnaden. Artikeln handlar nÀstan inte om de problem som vi löser inom vÄrt team. Det Àr snarare min personliga erfarenhet och intryck av att bekanta mig med en ny teknik. Jag har försökt att beskriva stegen sÄ detaljerat som möjligt för att vÀgledningen ska vara anvÀndbar för personer med olika erfarenhet. Hoppas att du gillar det. LÄt oss börja!

Hur man skapar en statisk webbplats med Cloudflare Workers Sites

SÄ, kanske har du redan hittat ett enkelt och billigt sÀtt att vara vÀrd för en webbplats. Kanske till och med gratis, som beskrivs i denna utmÀrkta artikel.

Men kanske kÀnner du dig fortfarande uttrÄkad och vill ta del av den underbara nya vÀrld av teknik? LÄt oss sÀga att du funderar pÄ att automatisera distributionen och vill maximera hastigheten pÄ webbplatsen? I denna artikel kommer vi att anvÀnda Hugo, men det Àr inte nödvÀndigt.

För automatiseringen anvÀnder vi Gitlab CI/CD, men vad gör vi med hastighetsökningen? LÄt oss distribuera webbplatsen direkt i Cloudflare med hjÀlp av Worker Sites.

Vad som krÀvs för att komma igÄng:

Del 1: Installera Hugo

Om du redan har installerat Hugo eller om du föredrar en annan statisk webbplatsgenerator (eller inte anvÀnder dem alls) kan du hoppa över den hÀr delen.

  1. Ladda ner Hugo frÄn https://github.com/gohugoio/hugo/releases

  2. Placera Hugo-binÀren i en av de angivna PATH vÀgarna

  3. Skapa en ny webbplats: hugo new site blog.example.com

  4. Byt nuvarande katalog till den just skapade: cd blog.example.com

  5. VĂ€lj ett tema (https://github.com/budparr/gohugo-theme-ananke/releases eller vad som helst)

  6. Skapa det första inlÀgget: hugo new posts/my-amazing-post.md

  7. LÀgg till innehÄll i den skapade filen: content/posts/my-amazing-post.md.
    NÀr allt Àr klart, Àndra vÀrdet pÄ utkast till false

  8. Generera statiska filer: hugo -D

Nu ligger vÄr statiska webbplats i katalogen ./public och Àr redo för den första manuella distributionen.

Del 2: Konfigurera Cloudflare

Nu ska vi gÄ igenom den första konfigurationen av Cloudflare. Anta att vi redan har en domÀn för webbplatsen. Som exempel tar vi blog.example.com.

Steg 1: Skapa en DNS-post

Först vÀljer vi vÄr domÀn och sedan menypunkten DNS. Skapa en A-post för blog och ange en slumpmÀssig IP-adress (detta Àr den officiella rekommendationen, men de kunde ha gjort det lite finare).

Hur man skapar en statisk webbplats med Cloudflare Workers Sites

Steg 2: Cloudflare-token

  1. Min profil -> API-token flik-> Skapa token -> Skapa anpassad token

Hur man skapar en statisk webbplats med Cloudflare Workers Sites

HÀr mÄste du begrÀnsa token till konton och zoner, men lÀmna Edit-möjligheten för de angivna tillstÄnd som visas i bilden.

Spara token för framtiden, vi kommer att behöva den i del tre.

Steg 3: HĂ€mta accountid och zoneid

DomĂ€n → Översikt → [höger sidopanel]

Hur man skapar en statisk webbplats med Cloudflare Workers SitesDet hĂ€r Ă€r mina, vĂ€nligen anvĂ€nd dem inte 🙂

Spara dem tillsammans med token, de kommer ocksÄ att behövas i del tre.

Steg 4: Aktivering av Workers

DomĂ€n → Workers → Hantera Workers

VĂ€lj ett unikt namn och plan för Workers → Unlimited (5 USD per mĂ„nad för nĂ€rvarande). Du kan later byta till en gratisversion om du vill.

Del 3: Första distributionen (manuell utplacering)

Jag gjorde den första distributionen manuellt för att ta reda pĂ„ vad som egentligen hĂ€nder. Även om allt detta kan göras enklare:

  1. Installera wrangler: npm i @cloudflare/wrangler -g

  2. GÄ till katalogen för vÄr blogg: cd blog.example.com

  3. Kör wrangler: wrangler init — site hugo-worker

  4. Skapa en konfig för wrangler (ange token nÀr det efterfrÄgas): wrangler config

Nu ska vi försöka göra Àndringar i den nyss skapade filen wrangler.toml (hÀr fullstÀndig lista över möjliga instÀllningar):

  1. Ange accountid och zoneid

  2. Ändra route till nĂ„got som *blog.example.com/*

  3. Ange false för workersdev

  4. Ändra bucket till ./public (eller dĂ€r din statiska webbplats finns)

  5. Om du har mer Àn en domÀn i vÀgen, bör du justera sökvÀgen i skriptet för arbetet: workers-site/index.js (se funktionen handleEvent)

Bra, det Àr dags att distribuera webbplatsen med kommandot wrangler publish.

Del 4: Automatisering av distribution

Denna vÀgledning Àr skapad för GitLab, men den förmedlar kÀrnan och enkelheten i automatiserad distribution som helhet.

Steg 1: Skapa och stÀll in vÄrt projekt

  1. Skapa ett nytt GitLab-projekt och ladda upp webbplatsen: katalog blog.example.com med allt innehÄll ska finnas i projektets rotkatalog

  2. Ange variabel CFAPITOKEN hĂ€r: InstĂ€llningar → CI/CD → Variabler

Steg 2: Skapa filen .gitlab-ci.yml och starta den första distributionen

Skapa filen .gitlab-ci.yml i roten med följande innehÄll:

steg:
  - bygg
  - distribuera

bygg:
  bild: monachus/hugo
  steg: bygg
  variabler:
    GIT_SUBMODULE_STRATEGY: rekursiv
  skript:
    - cd blog.example.com/
    - hugo
  artefakter:
    vÀgar:
      - blog.example.com/public
  endast:
    - master # detta jobb kommer endast att pÄverka 'master' grenen
  taggar:
    - gitlab-org-docker #


distribuera:
  bild: timbru31/ruby-node:2.3
  steg: distribuera
  skript:
    - wget https://github.com/cloudflare/wrangler/releases/download/v1.8.4/wrangler-v1.8.4-x86_64-unknown-linux-musl.tar.gz
    - tar xvzf wrangler-v1.8.4-x86_64-unknown-linux-musl.tar.gz
    - cd blog.example.com/
    - ../dist/wrangler publish
  artefakter:
    vÀgar:
      - blog.example.com/public
  endast:
    - master # detta jobb kommer endast att pÄverka 'master' grenen
  taggar:
    - gitlab-org-docker #

Initiera den första distribueringen manuellt (CI / CD → Pipeline → Kör Pipeline) eller genom att skicka en commit till master-grenen. VoilĂ !

Slutsats

Tja, kanske jag överdrev lite, och hela processen tog lite mer Àn tio minuter. Men nu har du en snabb webbplats med automatisk distribution och nÄgra frÀscha idéer om vad mer du kan göra med hjÀlp av Workers.

 Cloudflare Workers    Hugo    GitLab Ci

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster