Hogyan készítsünk statikus weboldalt a Cloudflare Workers Sites segítségével

Helló! A nevem Dima, én vagyok a SysOps csapat technikai vezetője a Wrike-nál. Ebben a cikkben bemutatom, hogyan lehet 10 perc alatt, havi 5 dollárért egy felhasználóbarát weboldalt létrehozni és automatizálni a telepítését. A cikk szinte semmiben sem kapcsolódik azokhoz a problémákhoz, amelyeket a csapatunkon belül megoldunk. Inkább a saját tapasztalataim és a számomra új technológia megismerésének benyomásai. Megpróbáltam a lépéseket a lehető legrészletesebben leírni, hogy az útmutató hasznos legyen különböző tapasztalattal rendelkező emberek számára. Remélem, tetszeni fog. Induljunk!

Hogyan készítsünk statikus weboldalt a Cloudflare Workers Sites segítségével

Tehát lehet, hogy már találtál magadnak egy egyszerű és olcsó megoldást a weboldalad hostolására. Talán még ingyenes is, ahogy ezt a csodálatos cikket.

Lehet, hogy mégis unalmasnak találod, és szeretnéd felfedezni a technológiák csodálatos új világát? Mondjuk, azon gondolkodsz, hogy automatizáld a telepítést és maximálisan felgyorsítsd a weboldalt? Ebben a cikkben használni fogjuk Hugo, de ez nem kötelező.

Az automatizálásra a Gitlab CI/CD-t használjuk, de mi a helyzet a gyorsítással? Lássuk, hogyan telepíthetjük közvetlenül a Cloudflare-re Worker Sites.

Mi szükséges a kezdéshez:

1. rész: Hugo telepítése

Ha már telepítve van a Hugo, vagy ha egy másik statikus weboldal generátort preferálsz (vagy egyáltalán nem használsz ilyet), akkor ezt a részt át lehet ugrani.

  1. Töltsd le a Hugót a https://github.com/gohugoio/hugo/releases

  2. Helyezd el a végrehajtható fájlt a PATH megadott utak egyikére

  3. Hozd létre az új weboldalt: hugo new site blog.example.com

  4. Váltsd a jelenlegi könyvtárat az éppen létrehozottra: cd blog.example.com

  5. Válaszd ki a téma dizájnt (https://github.com/budparr/gohugo-theme-ananke/releases vagy bármi mást)

  6. Hozd létre az első bejegyzést: hugo new posts/my-amazing-post.md

  7. Add meg a tartalmat a létrehozott fájlban: content/posts/my-amazing-post.md.
    Amikor minden kész, állítsd be a draft értékét hamis

  8. Generáljuk a statikus fájlokat: hugo -D

Most a statikus weboldalunk a következő könyvtárban található: ./public és készen áll az első manuális telepítésre.

2. rész: Cloudflare beállítása

Most nézzük meg a Cloudflare kezdeti beállításait. Tegyük fel, hogy van doménünk a weboldalhoz. Példaként vegyük blog.example.com.

1. lépés: DNS rekord létrehozása

Első lépésként válaszd ki a doménünket, majd a menüpontot DNS. Hozz létre egy A rekordot blog néven, és adj meg neki egy valamilyen álváltozatú IP címet (ez egy hivatalos ajánlás, de valahogy szebben is megoldhatták volna)., de pedig kicsit szebbé is tehették volna).

Hogyan készítsünk statikus weboldalt a Cloudflare Workers Sites segítségével

2. lépés: Cloudflare token

  1. Profilom -> API tokenok fül-> Token létrehozása -> Egyedi token létrehozása

Hogyan készítsünk statikus weboldalt a Cloudflare Workers Sites segítségével

Itt meg kell határoznia a tokenhez tartozó fiókokat és zónákat, de az Edit lehetőséget hagyja meg a képen felsorolt engedélyekhez.

Mentse el a tokent a jövőbeli használatra, szükségünk lesz rá a harmadik részben.

3. lépés: accountid és zoneid megszerzése

Domain → Áttekintés → [jobb oldalsáv]

Hogyan készítsünk statikus weboldalt a Cloudflare Workers Sites segítségévelEz az én tokendem, légyszi ne használd őket 🙂

Tartsd őket a token mellett, erre is szükségünk lesz a harmadik részben.

4. lépés: Workers aktiválása

Domain → Workers → Workers kezelése

Válasszunk ki egy egyedi nevet és tarifát a Workers-hez → Unlimited (jelenleg 5 dollár havonta). Ha szeretnéd, később áttérhetsz az ingyenes verzióra.

3. rész: Első telepítés (kézi telepítés)

Kézzel végeztem el az első telepítést, hogy kiderüljön, mi is történik valójában. Bár mindezt egyszerűbben is meg lehet oldani:

  1. Telepítjük a wrangler-t: npm i @cloudflare/wrangler -g

  2. Lépjünk be a blogunk könyvtárába: cd blog.example.com

  3. Futtatjuk a wrangler-t: wrangler init — site hugo-worker

  4. Hozzuk létre a wrangler konfigurációt (írja be a tokent, amikor megkérik): wrangler config

Most próbáljunk meg módosításokat végezni az imént létrehozott fájlban wrangler.toml (itt a lehetséges beállítások teljes listája):

  1. Megadjuk accountid és zoneid

  2. Change route valami ilyesmit:blog.example.com/*

  3. Megadjuk hamis a workersdev

  4. A bucketet változtassuk .\/public-ra (vagy ahol a statikus oldalunk található)

  5. Ha több domain is van az útvonalban, akkor érdemes a munkascripten javítani az útvonalat: workers-site/index.js (lásd a function handleEvent)

Remek, itt az idő az oldal telepítésére a következő parancs segítségével: wrangler publish.

4. rész: A telepítés automatizálása

Ez az útmutató a Gitlab számára készült, de a lényeget és az automatizált telepítés egyszerűségét átadja általában.

1. lépés: Hozzuk létre és állítsuk be a projektünket

  1. Hozzunk létre egy új GitLab projektet és töltsük fel az oldalt: a könyvtár blog.example.com minden tartalmának a projekt gyökérmappájában kell lennie

  2. Adjunk meg egy változóba CFAPITOKEN itt: Beállítások → CI/CD → Változók

2. lépés: Hozzunk létre egy .gitlab-ci.yml fájlt és indítsuk el az első telepítést

Hozzuk létre a fájlt .gitlab-ci.yml a gyökérben a következő tartalommal:

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 # ez a feladat csak a 'master' ágra vonatkozik
  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 # ez a feladat csak a 'master' ágra vonatkozik
  tags:
    - gitlab-org-docker #

Futtassuk az első telepítést kézzel (Gitlab CI → Pipelines → Futtatás vagy egy commitot küldve a master ágra. Voilà!

Zárás

Nos, talán kicsit alábecsültem, és az egész folyamat valójában kicsit több mint tíz percet vett igénybe. De most már van egy gyors weboldalad automatikus telepítéssel és néhány új ötleted arról, mit lehet még tenni a Workers segítségével.

 Cloudflare Workers    Hugo    GitLab Ci

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster