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!
Ngakho-ke, mhlawumbe usuvele uyitholile indlela elula neshibhile yokubamba iwebhusayithi. Mhlawumbe ngisho mahhala, njengoba kuchazwe kulokhu
Kodwa ngokuzumayo usanesithukuthezi futhi ufuna ukuthinta umhlaba omusha onesibindi wobuchwepheshe? Ake sithi ucabanga ngokuthumela ngokuzenzakalelayo futhi ungathanda ukusheshisa isayithi lakho ngangokunokwenzeka? Kulesi sihloko sizosebenzisa
Sisebenzisa i-Gitlab CI/CD ukwenza okuzenzakalelayo, kodwa kuthiwani ngokusheshisa? Masisebenzise isayithi ngqo ku-Cloudflare sisebenzisa
Yini edingekayo ukuze uqale:
-
I-Gitlab (eyakho noma
liguqubele ) -
-Akhawunti ku-Cloudflare -
Kufakiwe
nodejs/npm
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.
-
Landa u-Hugo kusuka
https://github.com/gohugoio/hugo/releases -
Sibeka ifayela le-Hugo elisebenzisekayo ngokusho kwelinye lalawo achazwe kuwo
PATH izindlela -
Ukudala isayithi elisha:
hugo new site blog.example.com
-
Shintsha uhla lwemibhalo lwamanje lube olusanda kwakhiwa:
cd blog.example.com
-
Khetha itimu yedizayini (
https://github.com/budparr/gohugo-theme-ananke/releases noma yini) -
Masidale okuthunyelwe kokuqala:
hugo new posts/my-amazing-post.md
-
Engeza okuqukethwe efayeleni elidaliwe: content/posts/my-amazing-post.md.
Uma konke sekuqediwe, shintsha inani lokusalungiswa libe bamanga -
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
Isinyathelo sesi-2: Ithokheni ye-Cloudflare
-
Profile My -> Amathokheni e-API ithebhu-> Dala Ithokheni -> Dala Ithokheni Yangokwezifiso
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]
Ngezami 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:
-
Faka i-wrangler:
npm i @cloudflare/wrangler -g
-
Ake siye ohlwini lwemibhalo lwebhulogi yethu:
cd blog.example.com
-
Qalisa i-wrangler:
wrangler init — site hugo-worker
-
Dala ukulungiselelwa kwe-wrangler (faka ithokheni uma ubuzwa):
wrangler config
Manje ake sizame ukwenza izinguquko efayeleni elisanda kwakhiwa i-wrangler.toml (
-
Cacisa accountid kanye ne-zoneid
-
Shintsha umzila entweni efana *blog.example.com/*
-
Cacisa bamanga ngoba abasebenzidev
-
Shintsha ibhakede libe ./public (noma lapho isayithi lakho elimile likhona)
-
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
-
Dala iphrojekthi entsha ye-GitLab bese ulayisha isiza: umkhombandlela blog.example.com nakho konke okuqukethwe kufanele kubekwe kumkhombandlela wempande yephrojekthi
-
Setha okuguquguqukayo I-CFAPITOKEN lapha: Amasethingi → CI/CD → eziguquguqukayo
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.
Source: www.habr.com