Mokhoa oa ho etsa sebaka se tsitsitseng ho Cloudflare Workers Sites

Lumela! Lebitso la ka ke Dima, ke moetapele oa tekheniki bakeng sa sehlopha sa SysOps ho Wrike. Sehloohong sena ke tla u bolella mokhoa oa ho etsa hore websaeteng e be haufi le mosebedisi ka hohle kamoo ho ka khonehang ka metsotso ea 10 le liranta tse 5 ka khoeli le ho iketsetsa ho tsamaisoa ha eona. Sengoloa ha se amane letho le mathata ao re a rarollang ka har'a sehlopha sa rona. Hona ke boiphihlelo ba ka le maikutlo a ka a ho tseba theknoloji e ncha ho 'na. Ke lekile ho hlalosa mehato ka botlalo kamoo ho ka khonehang e le hore litaelo li ka ba molemo ho batho ba nang le boiphihlelo bo fapaneng. Ke tšepa hore u tla thabela. Tsamaea!

Mokhoa oa ho etsa sebaka se tsitsitseng ho Cloudflare Workers Sites

Kahoo, mohlomong u se u fumane mokhoa o bonolo le o theko e tlase oa ho amohela webosaete. Mohlomong le mahala, joalo ka ha ho hlalositsoe ho sena sehlooho se seholo.

Empa ka tšohanyetso u ntse u jeoa ke bolutu 'me u batla ho ama lefatše le lecha le sebete la theknoloji? Ha re re u ntse u nahana ka ho tsamaisa thepa ka boiketsetso 'me u ka rata ho potlakisa sebaka sa hau sa marang-rang ka hohle kamoo ho ka khonehang? Sehloohong sena re tla sebelisa Hugo, empa sena ke boikhethelo.

Re sebelisa Gitlab CI/CD bakeng sa boiketsetso, empa ho thoe'ng ka ho potlakisa? Ha re sebeliseng sebaka sa marang-rang ka kotloloho ho Cloudflare re sebelisa Libaka tsa Basebetsi.

Ho hlokahala eng ho qala:

Karolo ea 1: Ho kenya Hugo

Haeba u se u ntse u kentse Hugo, kapa haeba u khetha jenereithara e fapaneng ea sebaka sa marang-rang (kapa u sa e sebelise ho hang), u ka tlola karolo ena.

  1. Khoasolla Hugo ho tloha https://github.com/gohugoio/hugo/releases

  2. Re beha faele ea Hugo e sebetsang ho latela e 'ngoe ea tse hlalositsoeng ho PATH litsela

  3. Ho theha sebaka se secha: hugo new site blog.example.com

  4. Fetola bukana ea hajoale ho e sa tsoa etsoa: cd blog.example.com

  5. Khetha sehlooho sa moralo (https://github.com/budparr/gohugo-theme-ananke/releases kapa eng kapa eng)

  6. Ha re theheng poso ea pele: hugo new posts/my-amazing-post.md

  7. Kenya litaba faeleng e entsoeng: content/posts/my-amazing-post.md.
    Ha tsohle li entsoe, fetola boleng ba moralo ho bohata

  8. Ho hlahisa lifaele tse tsitsitseng: hugo -D

Hona joale sebaka sa rona sa static se fumaneha ka har'a directory ./setjhaba 'me u itokiselitse ho romelloa ha hao pele ka letsoho.

Karolo ea 2: Ho theha Cloudflare

Joale ha re shebeng setupong sa pele sa Cloudflare. Ha re nke hore re se re ntse re e-na le sebaka sa sebaka sa marang-rang. Ha re nke mohlala blog.example.com.

Mohato oa 1: Theha ho kena ka DNS

Ntlha ea pele, khetha sebaka sa rona, ebe u khetha ntho ea menu DNS. Re theha rekoto ea A blog mme re bonts'a IP e iqapetsoeng bakeng sa eona (ena ke molaoli khothaletso, empa ba ka be ba entse hore e be ntlenyana).

Mokhoa oa ho etsa sebaka se tsitsitseng ho Cloudflare Workers Sites

Mohato oa 2: Cloudflare Token

  1. Profile My -> Li-tokens tsa API tab-> Theha Letshwao -> Theha Custom Token

Mokhoa oa ho etsa sebaka se tsitsitseng ho Cloudflare Workers Sites

Mona o tla hloka ho fokotsa lets'oao ho li-account le libaka, empa tlohela khetho ea Edita bakeng sa litumello tse thathamisitsoeng setšoantšong.

Boloka letšoao bakeng sa bokamoso, re tla e hloka karolong ea boraro.

Mohato oa 3: Fumana accountid le zoneid

domain name Overview → [bar e ka ho le letona]

Mokhoa oa ho etsa sebaka se tsitsitseng ho Cloudflare Workers SitesTsena ke tsa ka, ka kopo u se ke oa li sebelisa :)

Li boloke haufi le letšoao, re tla li hloka hape karolong ea boraro.

Mohato oa 4: Kenya Basebetsi

domain name Basebetsi Laola Basebetsi

Re khetha lebitso le ikhethang le litefiso tsa Basebetsi → E sa lekanyetsoang ($ 5 ka khoeli kajeno). Haeba u lakatsa, u ka ntlafatsa hamorao ho mofuta oa mahala.

Karolo ea 3: Tšebeliso ea pele (ho tsamaisoa ka letsoho)

Ke ile ka etsa deployment ea pele ea matsoho ho fumana hore na ho hlile ho etsahala eng moo. Leha sena sohle se ka etsoa ka mokhoa o bonolo:

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

  2. Ha re ee lethathamong la blog ea rona: cd blog.example.com

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

  4. Theha config bakeng sa wrangler (kenya letšoao ha u botsoa): wrangler config

Joale a re lekeng ho etsa liphetoho ho faele e sa tsoa etsoa wrangler.toml (mona lenane le felletseng la litlhophiso tse ka khonehang):

  1. Re bontša accountid le zoneid

  2. Fetola tseleng ho ntho e kang *blog.example.com/*

  3. Re bontša bohata etsoe workersdev

  4. Fetola bakete ho ./public (kapa moo sebaka sa hau sa marang-rang se leng teng)

  5. Haeba u na le sebaka se fetang se le seng tseleng, u lokela ho lokisa tsela ho script e sebetsang: workers-site/index.js (sheba tshebetso handleEvent)

Ho lokile, ke nako ea ho sebelisa sebaka sa marang-rang u sebelisa sehlopha wrangler publish.

Karolo ea 4: Deployment automation

Tataiso ena e ngoletsoe Gitlab, empa e nka moelelo le boiketlo ba ho tsamaisoa ka boiketsetso ka kakaretso.

Mohato oa 1: Theha le ho lokisa morero oa rona

  1. Theha projeke e ncha ea GitLab 'me u kenye sebaka sa marang-rang: directory blog.example.com ka litaba tsohle li tlameha ho ba bukeng ea motso oa morero

  2. Re beha feto-fetoha CFAPITOKEN Mona: Settings CI / CDMefuta-futa

Mohato oa 2: Etsa faele ea .gitlab-ci.yml 'me u tsamaise thomello ea pele

Etsa faele .gitlab-ci.yml motsong o nang le litaba tse latelang:

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 #

Re qala thomello ea pele ka letsoho (CI/CD Lipeipi Tsamaisa Pipeline) kapa ka ho itlama lekaleng le leholo. Bona!

fihlela qeto e

E ka 'na eaba ke ile ka e hlalosa hanyenyane, 'me ts'ebetso eohle e ile ea nka metsotso e fetang leshome feela. Empa joale u na le sebaka sa marang-rang se potlakileng se nang le boiketsetso le mehopolo e ncha mabapi le hore na u ka etsa eng hape ka Basebetsi.

 Basebetsi ba Cloudflare    Hugo    GitLab Ci

Source: www.habr.com

Eketsa ka tlhaloso