Cloudflare Workers сайтууд дээр хэрхэн статик сайт хийх вэ

Сайн уу? Намайг Дима гэдэг, би Wrike дахь SysOps багийн техникийн ахлагч. Энэ нийтлэлд би вэбсайтыг 10 минут, сард 5 доллараар хэрэглэгчдэд аль болох ойртуулж, байршуулалтыг автоматжуулах талаар танд хэлэх болно. Нийтлэл нь манай багийн хүрээнд шийдэж буй асуудалтай бараг ямар ч холбоогүй юм. Энэ бол миний хувьд шинэ технологитой танилцсан миний хувийн туршлага, сэтгэгдэл юм. Би алхмуудыг аль болох нарийвчлан тайлбарлахыг хичээсэн бөгөөд ингэснээр заавар нь өөр өөр туршлагатай хүмүүст ашигтай байх болно. Танд таалагдана гэж найдаж байна. Яв!

Cloudflare Workers сайтууд дээр хэрхэн статик сайт хийх вэ

Тиймээс, магадгүй та вэбсайт байршуулах энгийн бөгөөд хямд аргыг аль хэдийн олсон байх. Энэ дээр дурдсанчлан үнэгүй ч байж магадгүй гайхалтай нийтлэл.

Гэхдээ гэнэт та уйдаж, технологийн шинэ ертөнцөд хүрэхийг хүсч байна уу? Та байршуулалтыг автоматжуулах талаар бодож байгаа бөгөөд сайтаа аль болох хурдасгахыг хүсч байна гэж бодъё? Энэ нийтлэлд бид ашиглах болно Хюго, гэхдээ энэ нь сонголттой.

Бид автоматжуулалтад Gitlab CI/CD ашигладаг, гэхдээ хурдатгалын талаар юу хэлэх вэ? Сайтыг Cloudflare ашиглан шууд байрлуулцгаая Ажилчдын сайтууд.

Эхлэхийн тулд юу шаардлагатай вэ:

1-р хэсэг: Hugo-г суулгаж байна

Хэрэв та аль хэдийн Hugo суулгасан бол эсвэл өөр статик сайт үүсгэгчийг илүүд үзэж байгаа бол (эсвэл огт ашиглахгүй байгаа бол) энэ хэсгийг алгасаж болно.

  1. Hugo-г татаж аваарай https://github.com/gohugoio/hugo/releases

  2. Бид Хюгогийн гүйцэтгэгдэх файлыг дотор тодорхойлсон аль нэгийн дагуу байрлуулна PATH арга замууд

  3. Шинэ сайт үүсгэх: hugo new site blog.example.com

  4. Одоогийн лавлахыг шинээр үүсгэсэн лавлах болгон өөрчлөх: cd blog.example.com

  5. Загварын сэдэв сонгох (https://github.com/budparr/gohugo-theme-ananke/releases эсвэл юу ч байсан)

  6. Эхний бичлэгийг үүсгэцгээе: hugo new posts/my-amazing-post.md

  7. Үүсгэсэн файлд контент нэмэх: content/posts/my-amazing-post.md.
    Бүх зүйл дууссаны дараа ноорог утгыг өөрчил хуурамч

  8. Статик файл үүсгэх: hugo -D

Одоо манай статик сайт лавлах дотор байрлаж байна ./нийтийн мөн таны анхны гараар байршуулахад бэлэн байна.

2-р хэсэг: Cloudflare-г тохируулах

Одоо Cloudflare-ийн анхны тохиргоог харцгаая. Бид аль хэдийн сайтын домэйнтэй болсон гэж бодъё. Үүнийг жишээ болгон авч үзье blog.example.com.

Алхам 1: DNS оруулга үүсгэ

Эхлээд манай домэйн, дараа нь цэсийн зүйлийг сонго DNS. Бид блог A-Бичлэг үүсгэж, түүнд зориулж ямар нэгэн зохиомол IP зааж өгдөг (энэ бол албан ёсны зөвлөмж, гэхдээ тэд үүнийг арай илүү сайхан болгож чадах байсан).

Cloudflare Workers сайтууд дээр хэрхэн статик сайт хийх вэ

Алхам 2: Cloudflare токен

  1. Миний намтар -> API токенууд таб-> Токен үүсгэх -> Захиалгат токен үүсгэх

Cloudflare Workers сайтууд дээр хэрхэн статик сайт хийх вэ

Энд та токеныг данс, бүсээр хязгаарлах хэрэгтэй болно, гэхдээ зурган дээр жагсаасан зөвшөөрлийн хувьд Засварлах сонголтыг үлдээнэ үү.

Токеныг ирээдүйд хадгалаарай, энэ нь гурав дахь хэсэгт хэрэг болно.

Алхам 3: Нягтлан бодох бүртгэл болон бүсийг авна уу

домэйн Тойм → [баруун талын самбар]

Cloudflare Workers сайтууд дээр хэрхэн статик сайт хийх вэЭдгээр нь минийх, битгий ашигла :)

Тэдгээрийг тэмдгийн хажууд хадгалаарай, бид гурав дахь хэсэгт хэрэгтэй болно.

Алхам 4: Ажилчдыг идэвхжүүл

домэйн Ажилчид Ажилчдыг удирдах

Бид өвөрмөц нэр, тарифыг сонгоно Ажилчид → Хязгааргүй (өнөөдөр сард 5 доллар). Хэрэв та хүсвэл дараа нь үнэгүй хувилбар руу шинэчлэх боломжтой.

3-р хэсэг: Эхний байршуулалт (гараар байршуулах)

Би тэнд юу болж байгааг олж мэдэхийн тулд анхны гарын авлагын байршуулалтыг хийсэн. Хэдийгээр энэ бүгдийг хялбархан хийж болно:

  1. Wrangler суулгах: npm i @cloudflare/wrangler -g

  2. Блогынхоо лавлах руу орцгооё: cd blog.example.com

  3. Wrangler-г эхлүүлэх: wrangler init — site hugo-worker

  4. Wrangler-д зориулсан тохиргоог үүсгэ (асуух үед токеныг оруулна уу): wrangler config

Одоо шинээр үүсгэсэн файлд өөрчлөлт оруулахыг оролдъё wrangler.toml (энд боломжит тохиргооны бүрэн жагсаалт):

  1. Заана уу accountid болон zoneid

  2. Бид өөрчлөгддөг маршрут * гэх мэт зүйлдblog.example.com/*

  3. Заана уу хуурамч нь ажилчиддэв

  4. Савыг ./public болгож өөрчлөх (эсвэл таны статик сайт хаана байрладаг)

  5. Хэрэв таны замд нэгээс олон домэйн байгаа бол ажлын скрипт дээрх замыг засах хэрэгтэй. ажилчид-сайт/index.js (функцийг үзнэ үү handleEvent)

Гайхалтай, багийг ашиглан сайтыг байрлуулах цаг болжээ wrangler publish.

4-р хэсэг: Байршуулах автоматжуулалт

Энэхүү гарын авлагыг Gitlab-д зориулж бичсэн боловч ерөнхийдөө автоматжуулсан байршуулалтын мөн чанар, хялбар байдлыг тусгасан болно.

Алхам 1: Манай төслийг үүсгэж, тохируулна уу

  1. Шинэ GitLab төсөл үүсгээд сайтыг байршуулна уу: лавлах blog.example.com бүх агуулга нь төслийн үндсэн директорт байрлах ёстой

  2. Бид тавьсан хувьсагч 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!

дүгнэлт

За, би үүнийг бага зэрэг дутуу тайлбарласан байж магадгүй бөгөөд бүх үйл явц арав гаруйхан минут үргэлжилсэн. Харин одоо танд автомат байршуулалт бүхий хурдан сайт болон Ажилчидтай өөр юу хийж болох талаар шинэ санаанууд байна.

 Cloudflare-ийн ажилчид    Хюго    GitLab Ci

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх