Cum să creezi un site static pe Cloudflare Workers Sites

Salut! Numele meu este Dima, sunt liderul echipei SysOps la Wrike. În acest articol, voi explica cum poți crea un site cât mai apropiat de utilizator în 10 minute și pentru 5 dolari pe lună, automatizându-i desfășurarea. Articolul nu are nicio legătură cu problemele pe care le rezolvăm în cadrul echipei noastre. Este, mai degrabă, experiența și impresiile mele legate de o tehnologie nouă pentru mine. Am încercat să descriu pașii cât mai detaliat, astfel încât instrucțiunea să fie utilă pentru persoane cu experiențe diferite. Sper să vă placă. Să începem!

Cum să creezi un site static pe Cloudflare Workers Sites

Așadar, poate ai găsit deja o modalitate simplă și ieftină de a găzdui un site. Poate că este chiar gratuită, așa cum este descris în această articol minunat.

Dar poate că totuși te simți plictisit și vrei să te apropie de minunata lume nouă a tehnologiilor? Să zicem, că te gândești la automatizarea desfășurării și ai dori să îți accelerezi site-ul cât mai mult posibil? În acest articol, vom folosi Hugo, dar nu este obligatoriu.

Pentru automatizare, folosim Gitlab CI/CD, dar ce facem cu accelerarea? Hai să desfășurăm site-ul direct pe Cloudflare cu ajutorul Worker Sites.

Ce este necesar pentru a începe:

Dacă ai deja instalat Hugo sau dacă preferi un alt generator de site-uri statice (sau nu folosești deloc), poți sări peste această parte.

Descarcă Hugo de pe

  1. Plasează fișierul executabil Hugo într-una din căile definite în https://github.com/gohugoio/hugo/releases

  2. creăm un nou site: PATH hugo new site blog.example.com

  3. Schimbăm directorul curent în cel nou creat: cd blog.example.com

  4. Alegeri tema ( sau orice altceva)

  5. Creăm prima postare:https://github.com/budparr/gohugo-theme-ananke/releases hugo new posts/my-amazing-post.md

  6. Adaugă conținut în fișierul creat: content/posts/my-amazing-post.md

  7. Când totul este gata, schimbă valoarea draft în Generăm fișierele statice:.
    hugo -D false

  8. Acum site-ul nostru static se află în directorul ./public

și este pregătit pentru prima desfășurare manuală. Partea 2: Configurarea Cloudflare Acum să ne ocupăm de configurarea inițială a Cloudflare. Presupunem că domeniul pentru site-ul nostru există deja. Ca exemplu, să luăm

blog.example.com.

Pasul 1: Crearea înregistrării DNS Mai întâi, alegem domeniul nostru, apoi secțiunea din meniu

Creăm o înregistrare A pentru blog și indicăm un IP fictiv (aceasta este o

recomandare oficială DNS. Создаем A-запись blog и указываем для нее какой-нибудь фиктивный IP (это официальная рекомендация, dar le-ar putea face într-un mod mai atractiv).

Cum să creezi un site static pe Cloudflare Workers Sites

Pasul 2: Token Cloudflare

  1. Profilul meu -> Token-uri API tab-> Creează token -> Creează token personalizat

Cum să creezi un site static pe Cloudflare Workers Sites

Aici va trebui să restricționezi token-ul pe conturi și zone, dar să lași opțiunea Edit pentru permisiunile enumerate în imagine.

Salvează token-ul pentru viitor, ne va fi necesar în a treia parte.

Pasul 3: Obținem accountid și zoneid

Domeniu → Prezentare generală → [bara laterală dreaptă]

Cum să creezi un site static pe Cloudflare Workers SitesAcestea sunt ale mele, te rog nu le folosi 🙂

Păstrează-le lângă token, vor fi necesare și în a treia parte.

Pasul 4: Activarea Workers

Domeniu → Workerii → Administrare Workers

Alegem un nume unic și planul Workers → Unlimited (5$ pe lună în prezent). La dorință, mai târziu poți trece la versiunea gratuită.

Partea 3: Prima desfășurare (desfășurare manuală)

Am efectuat prima desfășurare manual pentru a înțelege ce se întâmplă de fapt. Deși totul poate fi făcut mai simplu:

  1. Instalăm wrangler: npm i @cloudflare/wrangler -g

  2. Trecem în directorul blogului nostru: sau orice altceva)

  3. Lansăm wrangler: wrangler init — site hugo-worker

  4. Creăm config pentru wrangler (introduci token-ul atunci când este solicitat): wrangler config

Acum să încercăm să facem modificări în fișierul tocmai creat wrangler.toml (aici lista completă a setărilor posibile):

  1. Specificați accountid și zoneid

  2. Schimbăm route în ceva de genul *blog.example.com/*

  3. Specificați false pentru workersdev

  4. Schimbăm bucket-ul în ./public (sau în care se află site-ul tău static)

  5. Dacă ai mai multe domenii pe calea ta, va trebui să corectezi calea în scriptul de lucru: workers-site/index.js (vezi funcția handleEvent)

Excelent, este timpul să desfășurăm site-ul cu comanda wrangler publish.

Partea 4: Automatizarea desfășurării

Această instrucțiune este redactată pentru Gitlab, dar transmite esența și simplitatea desfășurării automatizate în general.

Pasul 1: Creăm și configurăm proiectul nostru

  1. Creăm un nou proiect GitLab și încărcăm site-ul: directorul blog.example.com cu tot conținutul trebuie să fie în directorul rădăcină al proiectului

  2. Setăm . Observați că versiunea din fișier CFAPITOKEN aici: Setări → CI/CD → Variabile

Pasul 2: Creăm fișierul .gitlab-ci.yml și lansăm prima desfășurare

Creăm fișierul .gitlab-ci.yml în rădăcină cu următorul conținut:

etape:
  - construire
  - desfășura

construire:
  imagine: monachus/hugo
  etapă: construire
  variabile:
    GIT_SUBMODULE_STRATEGY: recursive
  script:
    - cd blog.example.com/
    - hugo
  artefacte:
    căi:
      - blog.example.com/public
  doar:
    - master # această sarcină va afecta doar ramura 'master'
  taguri:
    - gitlab-org-docker #


desfășurare:
  imagine: timbru31/ruby-node:2.3
  etapă: desfășurare
  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
  artefacte:
    căi:
      - blog.example.com/public
  doar:
    - master # această sarcină va afecta doar ramura 'master'
  taguri:
    - gitlab-org-docker #

Pornim prima desfășurare manual (CI / CD → Pipeline-uri → Rulați Pipeline) sau trimițând un commit în ramura master. Voilà!

Concluzie

Ei bine, poate că am subestimat puțin, iar întregul proces a durat puțin mai mult de zece minute. Dar acum aveți un site rapid cu desfășurare automată și câteva idei proaspete despre ce altceva puteți face cu ajutorul Workers.

 Cloudflare Workers    Hugo    GitLab Ci

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster