Uyenza njani indawo emileyo kwiiSayithi zaBasebenzi be-Cloudflare

Mholo! Igama lam ndinguDima, ndingumkhokeli wobugcisa kwiqela leSysOps eWrike. Kweli nqaku ndiza kukuxelela indlela yokwenza iwebhusayithi isondele kumsebenzisi ngokusemandleni kwimizuzu eyi-10 kunye ne-5 yeedola ngenyanga kwaye ngokuzenzekelayo ukuthunyelwa kwayo. Inqaku alinanto yakwenza neengxaki esizisombululayo kwiqela lethu. La ngamava am obuqu kunye neempembelelo zokwazi itekhnoloji entsha kum. Ndizamile ukuchaza amanyathelo ngokweenkcukacha ezininzi kangangoko ukuze imiyalelo ibe luncedo kubantu abanamava ahlukeneyo. Ndiyathemba ukuba uya kukonwabela. Hamba!

Uyenza njani indawo emileyo kwiiSayithi zaBasebenzi be-Cloudflare

Ke, mhlawumbi sele ufumene indlela elula nengabiziyo yokusingatha iwebhusayithi. Mhlawumbi nokuba simahla, njengoko kuchaziwe kule inqaku elikhulu.

Kodwa ngequbuliso usenesithukuthezi kwaye ufuna ukuchukumisa ihlabathi elitsha elinesibindi letekhnoloji? Masithi ucinga malunga nokuthunyelwa ngokuzenzekelayo kwaye ungathanda ukukhawulezisa indawo yakho kangangoko kunokwenzeka? Kweli nqaku siza kusebenzisa Hugo, kodwa oku kukhetho.

Sisebenzisa i-Gitlab CI/CD kwi-automation, kodwa kuthekani ngokukhawulezisa? Masibeke indawo ngokuthe ngqo kwi-Cloudflare sisebenzisa Iziza zabasebenzi.

Yintoni efunekayo ukuze uqalise:

Icandelo 1: Ukufakela uHugo

Ukuba sele unayo i-Hugo efakiweyo, okanye ukuba ukhetha isiza esahlukileyo se-static generator (okanye ungasebenzisi enye kwaphela), ngoko ungatsiba le ndawo.

  1. Khuphela uHugo ukusuka https://github.com/gohugoio/hugo/releases

  2. Sibeka ifayile yeHugo ephunyeziweyo ngokutsho kwenye yezo zichazwe kuyo PATH iindlela

  3. Ukudala indawo entsha: hugo new site blog.example.com

  4. Guqula uvimba weefayili wangoku kulowo usandula ukudalwa: cd blog.example.com

  5. Khetha umxholo woyilo (https://github.com/budparr/gohugo-theme-ananke/releases okanye nantoni na)

  6. Masidale iposti yokuqala: hugo new posts/my-amazing-post.md

  7. Yongeza umxholo kwifayile eyenziweyo: umxholo/izithuba/yam-amazing-post.md.
    Xa yonke into yenziwe, tshintshela ixabiso loyilo amanga

  8. Ukuvelisa iifayile ezimileyo: hugo -D

Ngoku indawo yethu engatshintshiyo ingaphakathi kuluhlu ./uluntu kwaye ulungele ukuthunyelwa kwakho ngesandla.

Icandelo 2: Ukumisela i-Cloudflare

Ngoku makhe sijonge ukuseta kokuqala kwe-Cloudflare. Masicinge ukuba sele sinesizinda sendawo. Makhe sithathe umzekelo blog.example.com.

Inyathelo 1: Yenza ungeno lweDNS

Okokuqala, khetha indawo yethu, kwaye emva koko into yemenyu DNS. Senza irekhodi yebhlog ye-A kwaye sibonise i-IP yobuxoki kuyo (eli ligosa iingcebiso, kodwa ngebeyenze yantle kancinci).

Uyenza njani indawo emileyo kwiiSayithi zaBasebenzi be-Cloudflare

Inyathelo 2: I-Cloudflare Token

  1. Iprofayile yam -> Iimpawu ze-API ithebhu-> Yenza uMqondiso -> Yenza uMqondiso weSiko

Uyenza njani indawo emileyo kwiiSayithi zaBasebenzi be-Cloudflare

Apha kuya kufuneka unciphise ithokheni kwiiakhawunti kunye nemimandla, kodwa shiya i Hlela ukhetho lweemvume ezidweliswe emfanekisweni.

Gcina uphawu lwexesha elizayo, siya kuyidinga kwinxalenye yesithathu.

Inyathelo lesi-3: Fumana i-akhawunti kunye ne-zoneid

thambeka β†’ isishwankathelo β†’ [ibar esecaleni esekunene]

Uyenza njani indawo emileyo kwiiSayithi zaBasebenzi be-CloudflareEzi zezam, ungazisebenzisi nceda :)

Zigcine ecaleni komqondiso, siya kuzifuna kwakhona kwinxalenye yesithathu.

Inyathelo lesi-4: Vula Abasebenzi

thambeka β†’ abasebenzi β†’ Lawula abasebenzi

Sikhetha igama elikhethekileyo kunye neerhafu Abasebenzi β†’ Unlimited ($ 5 ngenyanga namhlanje). Ukuba unqwenela, ungaphucula kamva kwinguqulelo yasimahla.

Icandelo 3: Ukusasazwa kokuqala (ukusasazwa ngesandla)

Ndenze ukuthunyelwa kwezandla okokuqala ukufumanisa ukuba kuqhubeka ntoni na apho. Nangona konke oku kunokwenziwa ngokulula:

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

  2. Makhe siye kuluhlu lwebhlog yethu: cd blog.example.com

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

  4. Yenza uqwalaselo lwe-wrangler (ngenisa uphawu xa uceliwe): wrangler config

Ngoku makhe sizame ukwenza utshintsho kwifayile entsha eyenziwe wrangler.toml (apha uluhlu olupheleleyo lweseto ezinokwenzeka):

  1. Chaza accountid kunye nezoneid

  2. Guqula indlela kwinto efana *blog.example.com/*

  3. Chaza amanga kuba abasebenzidev

  4. Guqula ibhakethi libe ./public (okanye apho indawo yakho engatshintshiyo ikhona)

  5. Ukuba une-domain engaphezulu kwesinye kwindlela, ke kuya kufuneka ulungise umendo kwiskripthi esisebenzayo: abasebenzi-site/index.js (jonga umsebenzi handleEvent)

Kulungile, lixesha lokuthumela indawo usebenzisa iqela wrangler publish.

Icandelo 4: Ukusasazwa okuzenzekelayo

Esi sikhokelo sibhalelwe i-Gitlab, kodwa sibamba undoqo kunye nokukhululeka kokusasazwa okuzenzekelayo ngokubanzi.

Inyathelo 1: Yenza kwaye uqwalasele iprojekthi yethu

  1. Yenza iprojekthi entsha yeGitLab kwaye ulayishe indawo: ulawulo blog.example.com nayo yonke imixholo kufuneka ibekwe kulawulo lweengcambu zeprojekthi

  2. Sabeka iyaguquguquka CFAPITOKEN apha: izicwangciso β†’ CI / CD β†’ Iintlobo

Inyathelo lesi-2: Yenza ifayile ye-.gitlab-ci.yml kwaye usebenzise ukuthunyelwa kokuqala

Yenza ifayile .gitlab-ci.yml kwingcambu ngomxholo olandelayo:

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 #

Siphehlelela ukuhanjiswa kokuqala ngesandla (CI/CD β†’ Imibhobho β†’ Qhuba uMbhobho) okanye ngokuzibophelela kumphathi wesebe. Voila!

isiphelo

Ewe, inokuba ndiyithathe kancinci, kwaye yonke le nkqubo ithathe ngaphezulu kwemizuzu elishumi. Kodwa ngoku unendawo ekhawulezayo yokusasazwa ngokuzenzekelayo kunye neengcinga ezintsha malunga nokuba yintoni enye onokuyenza ngaBasebenzi.

 Cloudflare Abasebenzi    Hugo    GitLab Ci

umthombo: www.habr.com

Yongeza izimvo