SÄdan laver du en statisk hjemmeside pÄ Cloudflare Workers Sites

Hej! Jeg hedder Dima, jeg er tech lead for SysOps-teamet hos Wrike. I denne artikel vil jeg forklare, hvordan du kan oprette en brugerorienteret hjemmeside pÄ kun 10 minutter og for 5 dollars om mÄneden, og automatisere dens deployment. Artiklen har nÊsten intet at gÞre med de problemer, vi lÞser internt i vores team. Det er snarere mine personlige erfaringer og indtryk af at introducere en ny teknologi for mig. Jeg har forsÞgt at beskrive trinnene sÄ grundigt som muligt, sÄ vejledningen bliver nyttig for folk med forskelligt erfaringsniveau. Jeg hÄber, du vil kunne lide den. Lad os komme i gang!

SÄdan laver du en statisk hjemmeside pÄ Cloudflare Workers Sites

SÄ, mÄske har du allerede fundet en nem og billig mÄde at hoste din hjemmeside pÄ. MÄske endda gratis, som beskrevet i denne fabulous artikel.

Men hvad nu hvis du stadig keder dig og gerne vil berĂžre den vidunderlige nye verden af teknologier? For eksempel, hvis du overvejer automatisering af deployment, og gerne vil maksimere dit hjemmesides hastighed? I denne artikel vil vi bruge Hugo, men det er ikke nĂždvendigt.

Til automatisering bruger vi Gitlab CI/CD, men hvad med hastigheden? Lad os deployere hjemmesiden direkte pÄ Cloudflare ved hjÊlp af Worker Sites.

Hvad der krĂŠves for at komme i gang:

Del 1: Installation af Hugo

Hvis du allerede har installeret Hugo, eller hvis du foretrĂŠkker en anden statisk site-generator (eller slet ikke bruger nogen), kan du springe dette afsnit over.

  1. Download Hugo fra https://github.com/gohugoio/hugo/releases

  2. Placer den udfĂžrbare fil Hugo i et af de definerede i PATH stier

  3. Opret en ny hjemmeside: hugo new site blog.example.com

  4. Skift den nuvĂŠrende mappe til den nyoprettede: cd blog.example.com

  5. VĂŠlg et tema (https://github.com/budparr/gohugo-theme-ananke/releases eller hvad som helst)

  6. Opret det fĂžrste indlĂŠg: hugo new posts/my-amazing-post.md

  7. TilfĂžj indhold til den oprettede fil: content/posts/my-amazing-post.md.
    NÄr alt er gjort, skal du Êndre vÊrdien af draft til false

  8. Generer statiske filer: hugo -D

Nu stÄr vores statiske hjemmeside i mappen ./public og er klar til den fÞrste manuelle deployment.

Del 2: Konfigurering af Cloudflare

Lad os nu se pÄ den indledende opsÊtning af Cloudflare. Antag, at vi allerede har et domÊne til hjemmesiden. Lad os tage blog.example.com.

Trin 1: Opret en DNS-post

FĂžrst vĂŠlger vi vores domĂŠne og derefter menupunktet DNS. Opret en A-post blog og angiv et eller andet fiktivt IP (dette er den officielle anbefaling, men de kunne have gjort det lidt pĂŠnere).

SÄdan laver du en statisk hjemmeside pÄ Cloudflare Workers Sites

Trin 2: Cloudflare-token

  1. Min profil -> API-tokens fane-> Opret token -> Opret brugerdefineret token

SÄdan laver du en statisk hjemmeside pÄ Cloudflare Workers Sites

Her skal du begrÊnse token til specifikke konti og omrÄder, men lade Rediger-muligheden vÊre aktiv for de nÊvnte tilladelser pÄ billedet.

Gem token til fremtidig brug, vi fÄr brug for det i del tre.

Trin 3: FĂ„ accountid og zoneid

Doméne → Oversigt → [hþjre sidepanel]

SĂ„dan laver du en statisk hjemmeside pĂ„ Cloudflare Workers SitesDet er mine, brug dem ikke, vĂŠr venlig 🙂

Gem dem sammen med token, da de ogsÄ vil vÊre nÞdvendige i del tre.

Trin 4: Aktivering af Workers

Doméne → Workers → Administrer Workers

VĂŠlg et unikt navn og Workers-plan → Ubegribelig ($5 om mĂ„neden i dag). Du kan til enhver tid skifte til den gratis version senere.

Del 3: FĂžrste deployment (manuelt deployment)

Jeg udfÞrte den fÞrste deployment manuelt for at finde ud af, hvad der sker dér. Selvom alt dette ogsÄ kan gÞres lettere:

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

  2. GĂ„ til mappen for vores blog: cd blog.example.com

  3. Start wrangler: wrangler init — site hugo-worker

  4. Opret konfig for wrangler (indtast token, nÄr det bliver spurgt): wrangler config

Lad os nu prĂžve at foretage ĂŠndringer i den nyligt oprettede fil wrangler.toml (her komplet liste over mulige indstillinger):

  1. Angiv accountid og zoneid

  2. Skift rute til noget som *blog.example.com/*

  3. Angiv false for workersdev

  4. Skift bucket til ./{public (eller hvor dit statiske site ligger)

  5. Hvis du har mere end ét domÊne i stien, burde du rette stien i dit arbejdsscript: workers-site/index.js (se funktionen handleEvent)

Fremragende, det er tid til at deploye sitet med kommandoen wrangler publish.

Del 4: Automatisering af deployment

Denne vejledning er sammensat til Gitlab, men den formidler essensen og enkelheden ved automatiseret deployment generelt.

Trin 1: Opret og konfigurer vores projekt

  1. Opret et nyt GitLab-projekt og upload sitet: mappen blog.example.com med alt indhold skal vĂŠre i projektets rodmappe

  2. Definer variabel CFAPITOKEN her: Indstillinger → CI/CD → Variabler

Trin 2: Opret filen .gitlab-ci.yml og start den fĂžrste deployment

Opret filen .gitlab-ci.yml i roden med fĂžlgende indhold:

faser:
  - opbygning
  - implementering

opbygning:
  billede: monachus/hugo
  fase: opbygning
  variabler:
    GIT_SUBMODULE_STRATEGY: rekursiv
  script:
    - cd blog.example.com/
    - hugo
  artefakter:
    stier:
      - blog.example.com/public
  kun:
    - master # denne job vil kun pÄvirke 'master' grenen
  tags:
    - gitlab-org-docker #


implementering:
  billede: timbru31/ruby-node:2.3
  fase: implementering
  script:
    - 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:
    stier:
      - blog.example.com/public
  kun:
    - master # denne job vil kun pÄvirke 'master' grenen
  tags:
    - gitlab-org-docker #

Vi starter den fþrste implementering manuelt (CI / CD → Pipelines → Kþr Pipeline) eller ved at sende en commit til master-grenen. Voila!

Konklusion

NÄ, jeg mÄske har lidt undervurderet, og hele processen tog lidt mere end ti minutter. Men nu har du en hurtig hjemmeside med automatisk implementering og nogle friske ideer om, hvad du ellers kan gÞre med Workers.

 Cloudflare Workers    Hugo    GitLab Ci

Kilde: habr.com

KĂžb pĂ„lidelig webhosting med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KĂžb pĂ„lidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster