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!

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.
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, 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.
Vad som krÀvs för att komma igÄng:
Gitlab (din egen eller )
pÄ Cloudflare
Installerad
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.
Ladda ner Hugo frÄn
Placera Hugo-binÀren i en av de angivna vÀgarna
Skapa en ny webbplats:
hugo new site blog.example.comByt nuvarande katalog till den just skapade:
cd blog.example.comVĂ€lj ett tema ( eller vad som helst)
Skapa det första inlÀgget:
hugo new posts/my-amazing-post.mdLÀ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 falseGenerera 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, men de kunde ha gjort det lite finare).

Steg 2: Cloudflare-token
Min profil -> API-token flik-> Skapa token -> Skapa anpassad token

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]
Det 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:
Installera wrangler:
npm i @cloudflare/wrangler -gGÄ till katalogen för vÄr blogg:
cd blog.example.comKör wrangler:
wrangler init â site hugo-workerSkapa 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 ( fullstÀndig lista över möjliga instÀllningar):
Ange accountid och zoneid
Ăndra route till nĂ„got som *blog.example.com/*
Ange false för workersdev
Ăndra bucket till ./public (eller dĂ€r din statiska webbplats finns)
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
Skapa ett nytt GitLab-projekt och ladda upp webbplatsen: katalog blog.example.com med allt innehÄll ska finnas i projektets rotkatalog
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.
     Â
KĂ€lla: habr.com
