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!
Ke, mhlawumbi sele ufumene indlela elula nengabiziyo yokusingatha iwebhusayithi. Mhlawumbi nokuba simahla, njengoko kuchaziwe kule
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
Sisebenzisa i-Gitlab CI/CD kwi-automation, kodwa kuthekani ngokukhawulezisa? Masibeke indawo ngokuthe ngqo kwi-Cloudflare sisebenzisa
Yintoni efunekayo ukuze uqalise:
-
Gitlab (eyakho okanye
kunamafu ) -
Iakhawunti kwi-Cloudflare -
Ifakiwe
nodejs/npm
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.
-
Khuphela uHugo ukusuka
https://github.com/gohugoio/hugo/releases -
Sibeka ifayile yeHugo ephunyeziweyo ngokutsho kwenye yezo zichazwe kuyo
PATH iindlela -
Ukudala indawo entsha:
hugo new site blog.example.com
-
Guqula uvimba weefayili wangoku kulowo usandula ukudalwa:
cd blog.example.com
-
Khetha umxholo woyilo (
https://github.com/budparr/gohugo-theme-ananke/releases okanye nantoni na) -
Masidale iposti yokuqala:
hugo new posts/my-amazing-post.md
-
Yongeza umxholo kwifayile eyenziweyo: umxholo/izithuba/yam-amazing-post.md.
Xa yonke into yenziwe, tshintshela ixabiso loyilo amanga -
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
Inyathelo 2: I-Cloudflare Token
-
Iprofayile yam -> Iimpawu ze-API ithebhu-> Yenza uMqondiso -> Yenza uMqondiso weSiko
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]
Ezi 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:
-
Faka i-wrangler:
npm i @cloudflare/wrangler -g
-
Makhe siye kuluhlu lwebhlog yethu:
cd blog.example.com
-
Qalisa i-wrangler:
wrangler init β site hugo-worker
-
Yenza uqwalaselo lwe-wrangler (ngenisa uphawu xa uceliwe):
wrangler config
Ngoku makhe sizame ukwenza utshintsho kwifayile entsha eyenziwe wrangler.toml (
-
Chaza accountid kunye nezoneid
-
Guqula indlela kwinto efana *blog.example.com/*
-
Chaza amanga kuba abasebenzidev
-
Guqula ibhakethi libe ./public (okanye apho indawo yakho engatshintshiyo ikhona)
-
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
-
Yenza iprojekthi entsha yeGitLab kwaye ulayishe indawo: ulawulo blog.example.com nayo yonke imixholo kufuneka ibekwe kulawulo lweengcambu zeprojekthi
-
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.
umthombo: www.habr.com