Indlela yokwenza isiza esimile ku-Cloudflare Workers Sites

Sawubona! Igama lami ngingu-Dima, ngingumholi wezobuchwepheshe weqembu le-SysOps e-Wrike. Kulesi sihloko ngizokutshela ukuthi ungayenza kanjani iwebhusayithi ibe seduze nomsebenzisi ngangokunokwenzeka ngemizuzu eyi-10 namadola ayi-5 ngenyanga futhi ngokuzenzakalela ukuthunyelwa kwayo. I-athikili cishe ayihlanganise lutho nezinkinga esizixazulula eqenjini lethu. Lokhu kuwukuhlangenwe nakho kwami ​​siqu kanye nemibono yokwazi ubuchwepheshe obusha kimi. Ngizamile ukuchaza izinyathelo ngemininingwane eminingi ngangokunokwenzeka ukuze imiyalelo izoba usizo kubantu abanolwazi oluhlukile. Ngethemba ukuthi uzokujabulela. Hamba!

Indlela yokwenza isiza esimile ku-Cloudflare Workers Sites

Ngakho-ke, mhlawumbe usuvele uyitholile indlela elula neshibhile yokubamba iwebhusayithi. Mhlawumbe ngisho mahhala, njengoba kuchazwe kulokhu isihloko esihle.

Kodwa ngokuzumayo usanesithukuthezi futhi ufuna ukuthinta umhlaba omusha onesibindi wobuchwepheshe? Ake sithi ucabanga ngokuthumela ngokuzenzakalelayo futhi ungathanda ukusheshisa isayithi lakho ngangokunokwenzeka? Kulesi sihloko sizosebenzisa Hugo, kodwa lokhu kuyakhethwa.

Sisebenzisa i-Gitlab CI/CD ukwenza okuzenzakalelayo, kodwa kuthiwani ngokusheshisa? Masisebenzise isayithi ngqo ku-Cloudflare sisebenzisa Izingosi Zabasebenzi.

Yini edingekayo ukuze uqale:

Ingxenye 1: Ukufaka u-Hugo

Uma usuvele ufake i-Hugo, noma uma ukhetha i-generator yesayithi emile ehlukile (noma ungasebenzisi eyodwa nhlobo), ungakwazi ukweqa le ngxenye.

  1. Landa u-Hugo kusuka https://github.com/gohugoio/hugo/releases

  2. Sibeka ifayela le-Hugo elisebenzisekayo ngokusho kwelinye lalawo achazwe kuwo PATH izindlela

  3. Ukudala isayithi elisha: hugo new site blog.example.com

  4. Shintsha uhla lwemibhalo lwamanje lube olusanda kwakhiwa: cd blog.example.com

  5. Khetha itimu yedizayini (https://github.com/budparr/gohugo-theme-ananke/releases noma yini)

  6. Masidale okuthunyelwe kokuqala: hugo new posts/my-amazing-post.md

  7. Engeza okuqukethwe efayeleni elidaliwe: content/posts/my-amazing-post.md.
    Uma konke sekuqediwe, shintsha inani lokusalungiswa libe bamanga

  8. Ikhiqiza amafayela amile: hugo -D

Manje isiza sethu esimile sitholakala kuhla lwemibhalo ./umphakathi futhi ilungele ukuthunyelwa kwakho mathupha kokuqala.

Ingxenye 2: Ukusetha i-Cloudflare

Manje ake sibheke ukusethwa kokuqala kwe-Cloudflare. Ake sicabange ukuthi sesivele sinesizinda sesayithi. Ake sithathe njengesibonelo blog.example.com.

Isinyathelo 1: Dala okufakiwe kwe-DNS

Okokuqala, khetha isizinda sethu, bese kuba into yemenyu DNS. Sakha i-blog A-rekhodi futhi sibonisa i-IP eqanjiwe yayo (lesi isikhulu isincomo, kodwa bebengayenza ibe muhle kancane).

Indlela yokwenza isiza esimile ku-Cloudflare Workers Sites

Isinyathelo sesi-2: Ithokheni ye-Cloudflare

  1. Profile My -> Amathokheni e-API ithebhu-> Dala Ithokheni -> Dala Ithokheni Yangokwezifiso

Indlela yokwenza isiza esimile ku-Cloudflare Workers Sites

Lapha uzodinga ukukhawulela ithokheni kuma-akhawunti nezindawo, kodwa shiya inketho yokuhlela ukuze uthole izimvume ezisohlwini lwesithombe.

Londoloza ithokheni yesikhathi esizayo, sizoyidinga engxenyeni yesithathu.

Isinyathelo sesi-3: Thola i-accountid ne-zoneid

Domain Uhlolojikelele → [ibha eseceleni yesokudla]

Indlela yokwenza isiza esimile ku-Cloudflare Workers SitesNgezami lezi, ngicela ungazisebenzisi :)

Zigcine eduze nethokheni, sizozidinga futhi engxenyeni yesithathu.

Isinyathelo sesi-4: Vuselela Abasebenzi

Domain Abasebenzi Phatha Abasebenzi

Sikhetha igama eliyingqayizivele kanye nentela Abasebenzi → Okungenamkhawulo ($5 ngenyanga namuhla). Uma uthanda, ungakwazi ukuthuthukela enguqulweni yamahhala.

Ingxenye 3: Ukuthunyelwa kokuqala (ukuthunyelwa mathupha)

Ngenza ukuthunyelwa kokuqala ukuze ngithole ukuthi kwenzekani ngempela lapho. Nakuba konke lokhu kungenziwa kalula:

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

  2. Ake siye ohlwini lwemibhalo lwebhulogi yethu: cd blog.example.com

  3. Qalisa i-wrangler: wrangler init — site hugo-worker

  4. Dala ukulungiselelwa kwe-wrangler (faka ithokheni uma ubuzwa): wrangler config

Manje ake sizame ukwenza izinguquko efayeleni elisanda kwakhiwa i-wrangler.toml (lapha uhlu olugcwele lwezilungiselelo ezingenzeka):

  1. Cacisa accountid kanye ne-zoneid

  2. Shintsha umzila entweni efana *blog.example.com/*

  3. Cacisa bamanga ngoba abasebenzidev

  4. Shintsha ibhakede libe ./public (noma lapho isayithi lakho elimile likhona)

  5. Uma unesizinda esingaphezu kwesisodwa endleleni, kufanele ulungise indlela kusikripthi esisebenzayo: workers-site/index.js (bona umsebenzi handleEvent)

Kuhle, sekuyisikhathi sokuphakela isayithi usebenzisa iqembu wrangler publish.

Ingxenye 4: Ukusatshalaliswa okuzenzakalelayo

Lo mhlahlandlela ubhalelwe i-Gitlab, kodwa uthwebula ingqikithi nokulula kokuthunyelwa okuzenzakalelayo ngokuvamile.

Isinyathelo 1: Dala futhi ulungiselele iphrojekthi yethu

  1. Dala iphrojekthi entsha ye-GitLab bese ulayisha isiza: umkhombandlela blog.example.com nakho konke okuqukethwe kufanele kubekwe kumkhombandlela wempande yephrojekthi

  2. Setha okuguquguqukayo I-CFAPITOKEN lapha: Amasethingi CI/CDeziguquguqukayo

Isinyathelo sesi-2: Dala ifayela le-.gitlab-ci.yml bese uqalisa ukuthunyelwa kokuqala

Dala ifayela .gitlab-ci.yml kuyimpande enokuqukethwe okulandelayo:

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 #

Sethula ukuthunyelwa kokuqala mathupha (CI/CD Amapayipi Qalisa Ipayipi) noma ngokuzibophezela egatsheni eliyinhloko. Voila!

isiphetho

Hhayi-ke, kungenzeka ukuthi ngikwehlise kancane, futhi yonke inqubo yathatha imizuzu engaphezu kweshumi. Kodwa manje unesayithi elisheshayo elinokuthunyelwa okuzenzakalelayo kanye nemibono emisha mayelana nokuthi yini enye ongayenza Ngabasebenzi.

 Abasebenzi be-Cloudflare    Hugo    I-GitLab Ci

Source: www.habr.com

Engeza amazwana