Сайн уу? Намайг Дима гэдэг, би Wrike дахь SysOps багийн техникийн ахлагч. Энэ нийтлэлд би вэбсайтыг 10 минут, сард 5 доллараар хэрэглэгчдэд аль болох ойртуулж, байршуулалтыг автоматжуулах талаар танд хэлэх болно. Нийтлэл нь манай багийн хүрээнд шийдэж буй асуудалтай бараг ямар ч холбоогүй юм. Энэ бол миний хувьд шинэ технологитой танилцсан миний хувийн туршлага, сэтгэгдэл юм. Би алхмуудыг аль болох нарийвчлан тайлбарлахыг хичээсэн бөгөөд ингэснээр заавар нь өөр өөр туршлагатай хүмүүст ашигтай байх болно. Танд таалагдана гэж найдаж байна. Яв!
Тиймээс, магадгүй та вэбсайт байршуулах энгийн бөгөөд хямд аргыг аль хэдийн олсон байх. Энэ дээр дурдсанчлан үнэгүй ч байж магадгүй
Гэхдээ гэнэт та уйдаж, технологийн шинэ ертөнцөд хүрэхийг хүсч байна уу? Та байршуулалтыг автоматжуулах талаар бодож байгаа бөгөөд сайтаа аль болох хурдасгахыг хүсч байна гэж бодъё? Энэ нийтлэлд бид ашиглах болно
Бид автоматжуулалтад Gitlab CI/CD ашигладаг, гэхдээ хурдатгалын талаар юу хэлэх вэ? Сайтыг Cloudflare ашиглан шууд байрлуулцгаая
Эхлэхийн тулд юу шаардлагатай вэ:
-
Gitlab (өөрийн эсвэл
үүлэрхэг ) -
Дансны Cloudflare дээр -
Суулгасан
nodejs/npm
1-р хэсэг: Hugo-г суулгаж байна
Хэрэв та аль хэдийн Hugo суулгасан бол эсвэл өөр статик сайт үүсгэгчийг илүүд үзэж байгаа бол (эсвэл огт ашиглахгүй байгаа бол) энэ хэсгийг алгасаж болно.
-
Hugo-г татаж аваарай
https://github.com/gohugoio/hugo/releases -
Бид Хюгогийн гүйцэтгэгдэх файлыг дотор тодорхойлсон аль нэгийн дагуу байрлуулна
PATH арга замууд -
Шинэ сайт үүсгэх:
hugo new site blog.example.com
-
Одоогийн лавлахыг шинээр үүсгэсэн лавлах болгон өөрчлөх:
cd blog.example.com
-
Загварын сэдэв сонгох (
https://github.com/budparr/gohugo-theme-ananke/releases эсвэл юу ч байсан) -
Эхний бичлэгийг үүсгэцгээе:
hugo new posts/my-amazing-post.md
-
Үүсгэсэн файлд контент нэмэх: content/posts/my-amazing-post.md.
Бүх зүйл дууссаны дараа ноорог утгыг өөрчил хуурамч -
Статик файл үүсгэх:
hugo -D
Одоо манай статик сайт лавлах дотор байрлаж байна ./нийтийн мөн таны анхны гараар байршуулахад бэлэн байна.
2-р хэсэг: Cloudflare-г тохируулах
Одоо Cloudflare-ийн анхны тохиргоог харцгаая. Бид аль хэдийн сайтын домэйнтэй болсон гэж бодъё. Үүнийг жишээ болгон авч үзье blog.example.com.
Алхам 1: DNS оруулга үүсгэ
Эхлээд манай домэйн, дараа нь цэсийн зүйлийг сонго DNS. Бид блог A-Бичлэг үүсгэж, түүнд зориулж ямар нэгэн зохиомол IP зааж өгдөг (энэ бол албан ёсны
Алхам 2: Cloudflare токен
-
Миний намтар -> API токенууд таб-> Токен үүсгэх -> Захиалгат токен үүсгэх
Энд та токеныг данс, бүсээр хязгаарлах хэрэгтэй болно, гэхдээ зурган дээр жагсаасан зөвшөөрлийн хувьд Засварлах сонголтыг үлдээнэ үү.
Токеныг ирээдүйд хадгалаарай, энэ нь гурав дахь хэсэгт хэрэг болно.
Алхам 3: Нягтлан бодох бүртгэл болон бүсийг авна уу
домэйн → Тойм → [баруун талын самбар]
Эдгээр нь минийх, битгий ашигла :)
Тэдгээрийг тэмдгийн хажууд хадгалаарай, бид гурав дахь хэсэгт хэрэгтэй болно.
Алхам 4: Ажилчдыг идэвхжүүл
домэйн → Ажилчид → Ажилчдыг удирдах
Бид өвөрмөц нэр, тарифыг сонгоно Ажилчид → Хязгааргүй (өнөөдөр сард 5 доллар). Хэрэв та хүсвэл дараа нь үнэгүй хувилбар руу шинэчлэх боломжтой.
3-р хэсэг: Эхний байршуулалт (гараар байршуулах)
Би тэнд юу болж байгааг олж мэдэхийн тулд анхны гарын авлагын байршуулалтыг хийсэн. Хэдийгээр энэ бүгдийг хялбархан хийж болно:
-
Wrangler суулгах:
npm i @cloudflare/wrangler -g
-
Блогынхоо лавлах руу орцгооё:
cd blog.example.com
-
Wrangler-г эхлүүлэх:
wrangler init — site hugo-worker
-
Wrangler-д зориулсан тохиргоог үүсгэ (асуух үед токеныг оруулна уу):
wrangler config
Одоо шинээр үүсгэсэн файлд өөрчлөлт оруулахыг оролдъё wrangler.toml (
-
Заана уу accountid болон zoneid
-
Бид өөрчлөгддөг маршрут * гэх мэт зүйлдblog.example.com/*
-
Заана уу хуурамч нь ажилчиддэв
-
Савыг ./public болгож өөрчлөх (эсвэл таны статик сайт хаана байрладаг)
-
Хэрэв таны замд нэгээс олон домэйн байгаа бол ажлын скрипт дээрх замыг засах хэрэгтэй. ажилчид-сайт/index.js (функцийг үзнэ үү handleEvent)
Гайхалтай, багийг ашиглан сайтыг байрлуулах цаг болжээ wrangler publish
.
4-р хэсэг: Байршуулах автоматжуулалт
Энэхүү гарын авлагыг Gitlab-д зориулж бичсэн боловч ерөнхийдөө автоматжуулсан байршуулалтын мөн чанар, хялбар байдлыг тусгасан болно.
Алхам 1: Манай төслийг үүсгэж, тохируулна уу
-
Шинэ GitLab төсөл үүсгээд сайтыг байршуулна уу: лавлах blog.example.com бүх агуулга нь төслийн үндсэн директорт байрлах ёстой
-
Бид тавьсан хувьсагч CFAPITOKEN энд: Тохиргоо → CI / CD → Хувьсагчууд
Алхам 2: .gitlab-ci.yml файл үүсгээд эхний байршуулалтыг ажиллуул
Файл үүсгэх .gitlab-ci.yml үндсэн хэсэгт дараах агуулгатай:
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 #
Бид анхны байршуулалтыг гараар эхлүүлдэг (CI/CD → Шугам хоолой → Дамжуулах хоолойг ажиллуулах) эсхүл мастер салбарт амлалт өгөх замаар. Voila!
дүгнэлт
За, би үүнийг бага зэрэг дутуу тайлбарласан байж магадгүй бөгөөд бүх үйл явц арав гаруйхан минут үргэлжилсэн. Харин одоо танд автомат байршуулалт бүхий хурдан сайт болон Ажилчидтай өөр юу хийж болох талаар шинэ санаанууд байна.
Эх сурвалж: www.habr.com