Momwe mungapangire tsamba lokhazikika pa Cloudflare Workers Sites

Moni! Dzina langa ndine Dima, ndine wotsogolera gulu la SysOps ku Wrike. M'nkhaniyi ndikuuzani momwe mungapangire webusaiti kukhala pafupi ndi wosuta momwe mungathere mumphindi 10 ndi madola a 5 pamwezi ndikudzipangira okha. Nkhaniyi ilibe kanthu kochita ndi mavuto omwe timathetsa mu gulu lathu. Izi ndi zomwe ndakumana nazo komanso zowona kuti ndikudziwa ukadaulo watsopano kwa ine. Ndinayesera kufotokoza masitepewo mwatsatanetsatane momwe ndingathere kuti malangizowo akhale othandiza kwa anthu omwe ali ndi zochitika zosiyanasiyana. Ndikukhulupirira kuti mudzasangalala. Pitani!

Momwe mungapangire tsamba lokhazikika pa Cloudflare Workers Sites

Chifukwa chake, mwina mwapeza kale njira yosavuta komanso yotsika mtengo yopezera tsamba. Mwina ngakhale mfulu, monga tafotokozera mu izi nkhani yabwino.

Koma mwadzidzidzi mukutopa ndipo mukufuna kukhudza dziko latsopano laukadaulo laukadaulo? Tiyerekeze kuti mukuganiza zodzipangira zokha ndipo mukufuna kufulumizitsa tsamba lanu momwe mungathere? M'nkhaniyi tigwiritsa ntchito Hugo, koma izi ndizosankha.

Timagwiritsa ntchito Gitlab CI/CD popanga zokha, koma nanga bwanji mathamangitsidwe? Tiyeni titumize tsambalo mwachindunji ku Cloudflare pogwiritsa ntchito Malo Ogwira Ntchito.

Zomwe zimafunikira poyambira:

Gawo 1: Kukhazikitsa Hugo

Ngati muli ndi Hugo kale, kapena ngati mukufuna jenereta yosiyana siyana (kapena osagwiritsa ntchito konse), mutha kudumpha gawo ili.

  1. Koperani Hugo kuchokera https://github.com/gohugoio/hugo/releases

  2. Timayika fayilo yotheka ya Hugo malinga ndi imodzi mwazomwe zafotokozedwamo PATH njira

  3. Kupanga tsamba latsopano: hugo new site blog.example.com

  4. Sinthani chikwatu chapano kukhala chomwe changopangidwa kumene: cd blog.example.com

  5. Sankhani mutu wamapangidwe (https://github.com/budparr/gohugo-theme-ananke/releases kapena chilichonse)

  6. Tiyeni tipange positi yoyamba: hugo new posts/my-amazing-post.md

  7. Onjezani zomwe zili mufayilo yomwe idapangidwa: content/posts/my-amazing-post.md.
    Zonse zikachitika, sinthani mtengo wolembera kuti ukhale zabodza

  8. Kupanga mafayilo osasintha: hugo -D

Tsopano tsamba lathu lokhazikika lili mkati mwa chikwatu ./pagulu ndikukonzekera kutumizidwa kwanu koyamba pamanja.

Gawo 2: Kukhazikitsa Cloudflare

Tsopano tiyeni tiwone kukhazikitsidwa koyambirira kwa Cloudflare. Tiyerekeze kuti tili kale ndi domain latsambali. Tiyeni titenge chitsanzo blog.example.com.

Khwerero 1: Pangani cholowera cha DNS

Choyamba, sankhani dera lathu, kenako menyu DNS. Timapanga blog A-rekodi ndikuwonetsa IP yopeka yake (uyu ndiye wovomerezeka malingaliro, koma akadakongoletsa pang’ono).

Momwe mungapangire tsamba lokhazikika pa Cloudflare Workers Sites

Khwerero 2: Chizindikiro cha Cloudflare

  1. mbiri yanga -> Zizindikiro za API tabu-> Pangani Chizindikiro -> Pangani Custom Token

Momwe mungapangire tsamba lokhazikika pa Cloudflare Workers Sites

Apa mudzafunika kuchepetsa chizindikirocho ku maakaunti ndi madera, koma siyani njira yosinthira zilolezo zomwe zalembedwa pachithunzichi.

Sungani chizindikiro chamtsogolo, tidzachifuna mu gawo lachitatu.

Khwerero 3: Pezani akaunti ndi zoneid

ankalamulira β†’ mwachidule β†’ [mbali yakumanja]

Momwe mungapangire tsamba lokhazikika pa Cloudflare Workers SitesIzi ndi zanga, musagwiritse ntchito chonde :)

Apulumutseni pafupi ndi chizindikiro, tidzawafunanso mu gawo lachitatu.

Gawo 4: Yambitsani Ogwira Ntchito

ankalamulira β†’ ogwira β†’ Ogwira Ntchito Zoyang'anira

Timasankha dzina lapadera ndi tariff Ogwira ntchito β†’ Zopanda malire ($ 5 pamwezi lero). Ngati mungafune, mutha kusinthanso ku mtundu waulere.

Gawo 3: Kutumiza koyamba (kutumiza pamanja)

Ndinapanga ntchito yoyamba yamanja kuti ndidziwe zomwe zikuchitika kumeneko. Ngakhale zonsezi zitha kuchitika mosavuta:

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

  2. Tiyeni tipite ku chikwatu cha blog yathu: cd blog.example.com

  3. Woyambitsa wrangler: wrangler init β€” site hugo-worker

  4. Pangani config for wrangler (lowetsani chizindikiro mukafunsidwa): wrangler config

Tsopano tiyeni tiyesere kusintha fayilo yomwe yangopangidwa kumene wrangler.toml (apa mndandanda wonse wa zokonda zotheka):

  1. Tikuwonetsa accountid ndi zoneid

  2. Timasintha njira ku chinthu ngati *blog.example.com/*

  3. Tikuwonetsa zabodza chifukwa workersdev

  4. Sinthani chidebe kukhala ./public (kapena pomwe tsamba lanu lokhazikika lili)

  5. Ngati muli ndi madomeni angapo panjira, ndiye kuti muyenera kukonza njira yomwe mukugwiritsa ntchito: workers-site/index.js (onani ntchito handleEvent)

Chabwino, ndi nthawi yoti mutumize tsambalo pogwiritsa ntchito gulu wrangler publish.

Gawo 4: Automation yotumiza

Bukuli lidalembedwera Gitlab, koma limafotokoza momwe zimakhalira komanso kumasuka kwadzidzidzi.

Gawo 1: Pangani ndikusintha polojekiti yathu

  1. Pangani pulojekiti yatsopano ya GitLab ndikukweza tsambalo: chikwatu blog.example.com ndi zonse zomwe zili mkati mwake ziyenera kukhala mu chikwatu cha polojekiti

  2. Tinakhala kusintha CFAPITOKEN apa: Zikhazikiko β†’ CI/CD β†’ Zosiyanasiyana

Khwerero 2: Pangani fayilo ya .gitlab-ci.yml ndikuyendetsa ntchito yoyamba

Pangani fayilo .gitlab-ci.yml muzu ndi izi:

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 #

Timakhazikitsa ntchito yoyamba pamanja (CI/CD β†’ Mabomba β†’ Thamangani Pipeline) kapena podzipereka ku nthambi yayikulu. Voila!

Pomaliza

Chabwino, mwina ndidazichepetsa pang'ono, ndipo zonse zidatenga mphindi khumi zokha. Koma tsopano muli ndi tsamba lachangu lomwe limakhala lokhazikika komanso malingaliro atsopano pazomwe mungachite ndi Workers.

 Antchito a Cloudflare    Hugo    GitLab Ci

Source: www.habr.com

Kuwonjezera ndemanga