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Ä, 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.
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, 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.
Hvad der krĂŠves for at komme i gang:
Gitlab (din egen eller )
pÄ Cloudflare
Installeret
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.
Download Hugo fra
Placer den udfĂžrbare fil Hugo i et af de definerede i stier
Opret en ny hjemmeside:
hugo new site blog.example.comSkift den nuvĂŠrende mappe til den nyoprettede:
cd blog.example.comVĂŠlg et tema ( eller hvad som helst)
Opret det fĂžrste indlĂŠg:
hugo new posts/my-amazing-post.mdTilfĂž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 falseGenerer 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, men de kunne have gjort det lidt pĂŠnere).

Trin 2: Cloudflare-token
Min profil -> API-tokens fane-> Opret token -> Opret brugerdefineret token

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]
Det 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:
Installer wrangler:
npm i @cloudflare/wrangler -gGĂ„ til mappen for vores blog:
cd blog.example.comStart wrangler:
wrangler init â site hugo-workerOpret 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 ( komplet liste over mulige indstillinger):
Angiv accountid og zoneid
Skift rute til noget som *blog.example.com/*
Angiv false for workersdev
Skift bucket til ./{public (eller hvor dit statiske site ligger)
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
Opret et nyt GitLab-projekt og upload sitet: mappen blog.example.com med alt indhold skal vĂŠre i projektets rodmappe
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.
     Â
Kilde: habr.com
