Чӣ тавр сохтани сайти статикӣ дар сайтҳои Cloudflare Workers

Салом! Номи ман Дима, ман роҳбари техникии дастаи SysOps дар Wrike ҳастам. Дар ин мақола ман ба шумо мегӯям, ки чӣ гуна як вебсайтро дар 10 дақиқа ва 5 доллар дар як моҳ то ҳадди имкон ба корбар наздик созед ва густариши онро автоматӣ кунед. Мақола бо мушкилоте, ки мо дар дохили дастаи худ ҳал мекунем, қариб ҳеҷ иртиботе надорад. Ин таҷрибаи шахсии ман ва таассуроти шиносоӣ бо технологияи барои ман нав аст. Ман кӯшиш кардам, ки қадамҳоро то ҳадди имкон муфассал тавсиф кунам, то дастурҳо барои одамони дорои таҷрибаи гуногун муфид бошанд. Умедворам, ки шумо лаззат мебаред. Бирав!

Чӣ тавр сохтани сайти статикӣ дар сайтҳои Cloudflare Workers

Пас, шояд шумо аллакай роҳи содда ва арзони мизбони вебсайтро пайдо кардаед. Шояд ҳатто ройгон, тавре ки дар ин тавсиф шудааст мақолаи олӣ.

Аммо ногаҳон шумо ҳанӯз дилгир ҳастед ва мехоҳед ба ҷаҳони нави ҷасуронаи технология даст занед? Фарз мекунем, ки шумо дар бораи автоматикунонии ҷойгиркунӣ фикр мекунед ва мехоҳед сайти худро то ҳадди имкон суръат бахшед? Дар ин мақола мо истифода хоҳем кард Уго, аммо ин ихтиёрӣ аст.

Мо Gitlab CI/CD-ро барои автоматизатсия истифода мебарем, аммо дар бораи суръатбахшӣ чӣ гуфтан мумкин аст? Биёед сайтро мустақиман ба Cloudflare истифода барем Сайтҳои коргарон.

Барои оғоз кардан чӣ лозим аст:

Қисми 1: Насб кардани Ҳуго

Агар шумо аллакай Ҳуго насб карда бошед, ё агар шумо генератори сайти статикии дигарро афзалтар донед (ё онро умуман истифода набаред), шумо метавонед ин қисмро гузаред.

  1. Ҳугоро аз зеркашӣ кунед https://github.com/gohugoio/hugo/releases

  2. Мо файли иҷрошавандаи Ҳугоро мувофиқи яке аз файлҳои дар ПАТШ роххо

  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-record эҷод мекунем ва барои он ягон IP-и сохтаро нишон медиҳем (ин расман аст тавсия, аммо онҳо метавонистанд онро каме зеботар кунанд).

Чӣ тавр сохтани сайти статикӣ дар сайтҳои Cloudflare Workers

Қадами 2: Cloudflare Token

  1. Профили ман -> аломатҳои API таб-> Токенро эҷод кунед -> Токени фармоишӣ эҷод кунед

Чӣ тавр сохтани сайти статикӣ дар сайтҳои Cloudflare Workers

Дар ин ҷо ба шумо лозим меояд, ки аломатро бо ҳисобҳо ва минтақаҳо маҳдуд кунед, аммо имкони Таҳрирро барои иҷозатҳои дар расм номбаршуда гузоред.

Токенро барои оянда захира кунед, ба мо дар қисми сеюм лозим мешавад.

Қадами 3: Ҳисобот ва зонеид гиред

Domain шарҳ → [панели тарафи рост]

Чӣ тавр сохтани сайти статикӣ дар сайтҳои Cloudflare WorkersИнҳо аз они мананд, лутфан онҳоро истифода набаред :)

Онҳоро дар паҳлӯи нишона захира кунед, мо инчунин дар қисми сеюм ба онҳо ниёз дорем.

Қадами 4: Коргаронро фаъол созед

Domain Коргарон Коргаронро идора кунед

Мо ном ва тарифи беназирро интихоб мекунем Коргарон → Бемаҳдуд (имрӯз $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. Нишон диҳед хисобот ва зонеид

  2. Тағир додан масир ба чизе монанди *blog.example.com/*

  3. Нишон диҳед бардурӯғ барои коргарондев

  4. Сатилро ба ./public иваз кунед (ё дар куҷо сайти статикии шумо ҷойгир аст)

  5. Агар шумо дар роҳ зиёда аз як домен дошта бошед, пас шумо бояд роҳро дар скрипти корӣ ислоҳ кунед: коргарон-сайт/index.js (ниг. функсия handleEvent)

Аҷоиб, вақти он расидааст, ки сайтро бо истифода аз даста ҷойгир кунед wrangler publish.

Қисми 4: Автоматикунонии ҷойгиркунӣ

Ин дастур барои Gitlab навишта шудааст, аммо он моҳият ва осонии густариши автоматиро дар маҷмӯъ дарбар мегирад.

Қадами 1: Лоиҳаи моро созед ва танзим кунед

  1. Лоиҳаи нави GitLab эҷод кунед ва сайтро бор кунед: директория blog.example.com бо тамоми мундариҷа бояд дар директорияи решавӣ лоиҳа ҷойгир бошад

  2. гузоштем тағйирёбанда ЦФАПИТОКЕН инҷо: Танзимот 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 Масъулият Иҷрои қубур) ё худ ба филиали усто супорида шавад. Войла!

хулоса

Хуб, ман шояд онро каме кам карда бошам ва тамоми раванд ҳамагӣ даҳ дақиқа тӯл кашид. Аммо ҳоло шумо як сайти зуд бо ҷойгиркунии худкор ва баъзе ғояҳои тоза дар бораи он, ки шумо бо коргарон боз чӣ кор карда метавонед, доред.

 Коргарони Cloudflare    Уго    GitLab Ci

Манбаъ: will.com

Илова Эзоҳ