Ki jan yo fè yon sit estatik sou Cloudflare Workers Site
Bonjou! Non mwen se Dima, mwen se yon dirijan teknik pou ekip SysOps nan Wrike. Nan atik sa a mwen pral di w ki jan fè yon sit entènèt pi pre itilizatè a ke posib nan 10 minit ak 5 dola pa mwa ak otomatize deplwaman li yo. Atik la pa gen anyen pou wè ak pwoblèm yo ke nou rezoud nan ekip nou an. Sa a se pito eksperyans pèsonèl mwen ak enpresyon mwen vin konnen yon teknoloji ki nouvo pou mwen. Mwen te eseye dekri etap yo nan plis detay ke posib pou enstriksyon yo ta itil pou moun ki gen eksperyans diferan. Mwen espere ou pral jwi. Ale!
Se konsa, petèt ou te deja jwenn yon fason ki senp ak bon mache pou òganize yon sit entènèt. Petèt menm gratis, jan sa dekri nan sa agwo atik.
Men, toudenkou w ap toujou anwiye epi ou vle manyen mond lan brav nouvo nan teknoloji? Ann di w ap panse sou otomatize deplwaman epi ou ta renmen akselere sit ou a otank posib? Nan atik sa a nou pral itilizeHugo, men sa a se opsyonèl.
Nou itilize Gitlab CI/CD pou automatisation, men e akselerasyon? Ann deplwaye sit la dirèkteman nan Cloudflare lè l sèvi avèkSit Travayè yo.
Ann kreye premye pòs la: hugo new posts/my-amazing-post.md
Ajoute kontni nan fichye kreye a: kontni/posts/my-amazing-post.md. Lè tout bagay fini, chanje valè bouyon an fo
Jenere fichye estatik: hugo -D
Koulye a, sit estatik nou an sitiye andedan yon anyè ./piblik epi pare pou premye deplwaman manyèl ou.
Pati 2: Mete kanpe Cloudflare
Koulye a, kite a gade nan konfigirasyon inisyal la nan Cloudflare. Ann sipoze ke nou deja gen yon domèn pou sit la. Ann pran kòm egzanp blog.egzanp.com.
Etap 1: Kreye yon antre DNS
Premyèman, chwazi domèn nou an, ak Lè sa a, atik nan meni an dns. Nou kreye yon blog A-dosye epi nou endike kèk IP fiktif pou li (sa a se ofisyèl larekòmandasyon, men yo te ka fè li yon ti kras pi bèl).
Etap 2: Cloudflare Token
My Profile -> API tokens tab-> Kreye jton -> Kreye siy koutim
La a ou pral bezwen limite siy la nan kont ak zòn, men kite opsyon nan Edit pou otorizasyon ki nan lis nan foto a.
Sove siy la pou tan kap vini an, nou pral bezwen li nan twazyèm pati a.
Etap 3: Jwenn accountid ak zoneid
Domèn → apèsi sou lekòl la → [ba adwat]
Sa yo se pou mwen, pa sèvi ak yo tanpri :)
Sove yo akote siy la, nou pral bezwen yo tou nan twazyèm pati a.
Etap 4: Aktive Travayè yo
Domèn → Travayè → Jere Travayè yo
Nou chwazi yon non inik ak tarif Travayè → San limit ($5 pa mwa jodi a). Si ou vle, ou ka pita ajou nan vèsyon an gratis.
Pati 3: Premye deplwaman (deplwaman manyèl)
Mwen te fè premye deplwaman manyèl pou chèche konnen kisa ki te vrèman pase la. Malgre ke tout bagay sa yo ka fè pi senp:
Enstale wrangler: npm i @cloudflare/wrangler -g
Ann ale nan anyè blog nou an: cd blog.example.com
Lanse wrangler: wrangler init — site hugo-worker
Kreye yon konfigirasyon pou wrangler (antre siy la lè yo mande l): wrangler config
Koulye a, an n eseye fè chanjman nan dosye ki fèk kreye a wrangler.toml (isit la lis konplè paramèt posib):
Nou endike accountid ak zoneid
Chanje wout nan yon bagay tankou *blog.example.com/*
Nou endikefopou travayèdev
Chanje bokit an ./public (oswa kote sit estatik ou a ye)
Si ou gen plis pase yon domèn nan chemen an, Lè sa a, ou ta dwe korije chemen an nan script k ap travay la: travayè-site/index.js (gade fonksyon handleEvent)
Gwo, li lè yo deplwaye sit la lè l sèvi avèk ekip lawrangler publish.
Pati 4: Deplwaman automatisation
Gid sa a ekri pou Gitlab, men li pran sans ak fasilite deplwaman otomatik an jeneral.
Etap 1: Kreye ak konfigirasyon pwojè nou an
Kreye yon nouvo pwojè GitLab epi telechaje sit la: anyè blog.egzanp.com ak tout sa ki dwe lokalize nan anyè rasin pwojè a
Nou metevaryab CFAPITOKEN isit la: Anviwònman → CI / CD → Varyab
Etap 2: Kreye yon fichye .gitlab-ci.yml epi kouri premye deplwaman an
Kreye yon fichye .gitlab-ci.yml nan rasin lan ak kontni sa a:
stages:
- build
- deploy
build:
image: monachus/hugo
stage: build
variables:
GIT_SUBMODULE_STRATEGY: recursive
script:
- cd blog.example.com/
- hugo
artifacts:
paths:
- blog.example.com/public
only:
- master # this job will affect only the 'master' branch
tags:
- gitlab-org-docker #
deploy:
image: timbru31/ruby-node:2.3
stage: deploy
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
artifacts:
paths:
- blog.example.com/public
only:
- master # this job will affect only the 'master' branch
tags:
- gitlab-org-docker #
Nou lanse premye deplwaman an manyèlman (CI/CD → Pipelines → Kouri tiyo) oswa pa komèt nan branch mèt la. Voila!
Konklizyon
Oke, mwen ka discrete li yon ti kras, ak tout pwosesis la te pran jis plis pase dis minit. Men kounye a ou gen yon sit rapid ak deplwaman otomatik ak kèk nouvo lide sou ki lòt bagay ou ka fè ak Travayè yo.