Kif tagħmel sit statiku fuq Cloudflare Workers Sites

Bongu! Jisimni Dima, jien mexxej tekniku għat-tim SysOps f'Wrike. F'dan l-artikolu ser ngħidlek kif tagħmel websajt kemm jista 'jkun qrib l-utent f'10 minuti u 5 dollari fix-xahar u awtomat l-iskjerament tagħha. L-artiklu m'għandu kważi xejn x'jaqsam mal-problemi li nsolvu fi ħdan it-tim tagħna. Din hija pjuttost l-esperjenza u l-impressjonijiet personali tiegħi li nsir naf teknoloġija li hija ġdida għalija. Ippruvajt niddeskrivi l-passi bl-aktar dettall possibbli sabiex l-istruzzjonijiet ikunu utli għal nies b'esperjenza differenti. Nispera li tgawdi. Mur!

Kif tagħmel sit statiku fuq Cloudflare Workers Sites

Allura, forsi diġà sibt mod sempliċi u irħis biex tospita websajt. Forsi anke b'xejn, kif deskritt f'dan artikolu kbir.

Imma f'daqqa waħda għadek niddejjaq u trid tmiss id-dinja l-ġdida kuraġġuża tat-teknoloġija? Ejja ngħidu li qed taħseb dwar l-awtomatizzazzjoni tal-iskjerament u tixtieq tħaffef is-sit tiegħek kemm jista' jkun? F'dan l-artikolu se nużaw Hugo, iżda dan huwa fakultattiv.

Aħna nużaw Gitlab CI/CD għall-awtomazzjoni, imma xi ngħidu dwar l-aċċelerazzjoni? Ejja niskjeraw is-sit direttament lil Cloudflare bl-użu Siti tal-Ħaddiema.

X'inhu meħtieġ biex tibda:

Parti 1: Installazzjoni ta 'Hugo

Jekk diġà għandek Hugo installat, jew jekk tippreferi ġeneratur ta 'sit statiku differenti (jew ma tużax wieħed), allura tista' taqbeż din il-parti.

  1. Niżżel Hugo minn https://github.com/gohugoio/hugo/releases

  2. Aħna npoġġu l-fajl eżekutibbli Hugo skont wieħed minn dawk definiti fi PATH modi

  3. Ħolqien ta' sit ġdid: hugo new site blog.example.com

  4. Ibdel id-direttorju attwali għal dak li għadu kif inħoloq: cd blog.example.com

  5. Agħżel tema tad-disinn (https://github.com/budparr/gohugo-theme-ananke/releases jew tkun xi tkun)

  6. Ejja noħolqu l-ewwel post: hugo new posts/my-amazing-post.md

  7. Żid il-kontenut mal-fajl maħluq: content/posts/my-amazing-post.md.
    Meta kollox isir, ibdel il-valur tal-abbozz għal falza

  8. Ġenerazzjoni ta' fajls statiċi: hugo -D

Issa s-sit statiku tagħna jinsab ġewwa direttorju ./pubbliku u lest għall-ewwel skjerament manwali tiegħek.

Parti 2: Twaqqif ta' Cloudflare

Issa ejja nħarsu lejn is-setup inizjali ta 'Cloudflare. Ejja nassumu li diġà għandna dominju għas-sit. Ejja nieħdu bħala eżempju blog.eżempju.com.

Pass 1: Oħloq dħul DNS

L-ewwel, agħżel id-dominju tagħna, u mbagħad l-oġġett tal-menu DNS. Noħolqu blog A-record u nindikaw xi IP fittizju għalih (dan huwa l-uffiċjal rakkomandazzjoni, imma setgħu għamluha ftit aktar sabiħa).

Kif tagħmel sit statiku fuq Cloudflare Workers Sites

Pass 2: Cloudflare Token

  1. Profil tiegħi -> Tokens API tab-> Oħloq Token -> Oħloq Custom Token

Kif tagħmel sit statiku fuq Cloudflare Workers Sites

Hawnhekk ser ikollok bżonn tillimita t-token għal kontijiet u żoni, iżda ħalli l-għażla Editja għall-permessi elenkati fl-istampa.

Ħlief it-token għall-futur, ikollna bżonnha fit-tielet parti.

Pass 3: Ikseb accountid u zoneid

dominju Ħarsa ġenerali → [bar tal-lemin]

Kif tagħmel sit statiku fuq Cloudflare Workers SitesDawn huma tiegħi, tużahomx jekk jogħġbok :)

Ħliefhom ħdejn it-token, ikollna bżonnhom ukoll fit-tielet parti.

Pass 4: Attiva l-Ħaddiema

dominju Ħaddiema Immaniġġja l-Ħaddiema

Aħna nagħżlu isem uniku u tariffa Ħaddiema → Unlimited ($5 fix-xahar illum). Jekk tixtieq, aktar tard tista 'taġġorna għall-verżjoni b'xejn.

Parti 3: L-ewwel skjerament (skjerament manwali)

Għamilt l-ewwel skjerament manwali biex insir naf x'kien qed jiġri verament hemmhekk. Għalkemm dan kollu jista 'jsir aktar sempliċi:

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

  2. Ejja mmorru fid-direttorju tal-blog tagħna: cd blog.example.com

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

  4. Oħloq konfigurazzjoni għal wrangler (daħħal it-token meta mitlub): wrangler config

Issa ejja nippruvaw nagħmlu bidliet fil-fajl maħluq ġdid wrangler.toml (hawn lista sħiħa ta' settings possibbli):

  1. Speċifika accountid u zoneid

  2. Bidla rotta għal xi ħaġa bħal *blog.example.com/*

  3. Speċifika falza għall- ħaddiemadev

  4. Ibdel il-barmil għal ./public (jew fejn jinsab is-sit statiku tiegħek)

  5. Jekk għandek aktar minn dominju wieħed fit-triq, allura għandek tikkoreġi t-triq fl-iskrittura tax-xogħol: ħaddiema-sit/index.js (ara l-funzjoni handleEvent)

Kbir, wasal iż-żmien li tuża s-sit billi tuża t-tim wrangler publish.

Parti 4: Awtomazzjoni tal-iskjerament

Din il-gwida hija miktuba għal Gitlab, iżda taqbad l-essenza u l-faċilità ta 'skjerament awtomatizzat b'mod ġenerali.

Pass 1: Oħloq u kkonfigurat il-proġett tagħna

  1. Oħloq proġett GitLab ġdid u ittella s-sit: direttorju blog.eżempju.com bil-kontenut kollu għandu jkun jinsab fid-direttorju tal-għerq tal-proġett

  2. Aħna stabbiliti varjabbli CFAPITOKEN hawnhekk: Settings CI / CDVarjabbli

Pass 2: Oħloq fajl .gitlab-ci.yml u mexxi l-ewwel skjerament

Oħloq fajl .gitlab-ci.yml fl-għerq bil-kontenut li ġej:

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 #

Inniedu l-ewwel skjerament manwalment (CI/CD Linji tal-pajpijiet Mexxi Pipeline) jew billi timpenja ruħha mal-fergħa kaptan. Voila!

Konklużjoni

Ukoll, jista 'jkolli sottovaluta kemmxejn, u l-proċess kollu ħa ftit aktar minn għaxar minuti. Imma issa għandek sit veloċi bi skjerament awtomatiku u xi ideat ġodda dwar x'iktar tista' tagħmel mal-Ħaddiema.

 Ħaddiema Cloudflare    Hugo    GitLab Ci

Sors: www.habr.com

Żid kumment