Jak vytvořit statickou stránku na Cloudflare Workers Sites

Ahoj! Jmenuji se Dima, jsem techlead SysOps týmu ve Wrike. V tomto článku vám ukážu, jak za 10 minut a 5 dolarů měsíčně vytvořit maximálně uživatelsky přívětivou stránku a automatizovat její nasazení. Článek má téměř nic společného s problémy, které řešíme uvnitř našeho týmu. To je spíše moje osobní zkušenost a dojmy ze seznámení s novou technologií. Snažil jsem se popsat kroky co nejpodrobněji, aby byla instrukce užitečná pro lidi s různými zkušenostmi. Doufám, že se vám to bude líbit. Jdeme na to!

Jak vytvořit statickou stránku na Cloudflare Workers Sites

Takže, možná jste už našli jednoduchý a levný způsob, jak hostovat svou stránku. Možná dokonce bezplatný, jak je popsáno v této skvělé článku.

Ale co když se přesto nudíte a chcete se dotknout úžasného nového světa technologií? Řekněme, že přemýšlíte o automatizaci nasazení a chtěli byste maximálně zrychlit svou stránku? V tomto článku budeme používat Hugo, ale to není nutné.

Pro automatizaci používáme Gitlab CI/CD, ale co dělat se zrychlením? Pojďme nasadit stránku přímo do Cloudflare pomocí Worker Sites.

Co je potřeba pro začátek:

Část 1: Instalace Hugo

Pokud máte Hugo již nainstalováno, nebo pokud preferujete jiný generátor statických stránek (nebo je vůbec nepoužíváte), tuto část můžete přeskočit.

  1. Stáhněte si Hugo z https://github.com/gohugoio/hugo/releases

  2. Umístěte spustitelný soubor Hugo do jednoho z uvedených cest Vytvořte novou stránku:

  3. hugo new site blog.example.com Změňte aktuální adresář na právě vytvořený:

  4. cd blog.example.com Vyberte si šablonu (

  5. nebo cokoliv jiného)https://github.com/budparr/gohugo-theme-ananke/releases Vytvořte první příspěvek:

  6. hugo new posts/my-amazing-post.md Přidejte obsah do vytvořeného souboru:

  7. content/posts/my-amazing-post.md Když je vše hotovo, změňte hodnotu draft na.
    Generujte statické soubory: false

  8. hugo -D Nyní naše statická stránka je uvnitř adresáře

./public a připravena k prvnímu ručnímu nasazení. Část 2: Nastavujeme Cloudflare

Nyní se podíváme na počáteční nastavení Cloudflare. Předpokládejme, že doména pro stránku už existuje. Jako příklad vezmeme

blog.example.com. Krok 1: Vytvoření DNS záznamu

Nejprve vyberte naši doménu a poté položku menu

DNS . Vytvořte A-záznam blog a určete pro něj nějakou fiktivní IP (to je oficiálnídoporučení. doporučení, ale mohli by to udělat nějak hezčeji).

Jak vytvořit statickou stránku na Cloudflare Workers Sites

Krok 2: Cloudflare Token

  1. Můj profil -> API tokeny tab-> Vytvořit token -> Vytvořit vlastní token

Jak vytvořit statickou stránku na Cloudflare Workers Sites

Zde budete muset omezit token na účty a zóny, ale ponechat možnost Edit pro uvedená oprávnění na obrázku.

Uložte token na později, budeme ho potřebovat ve třetí části.

Krok 3: Získání accountid a zoneid

Doména → Přehled → [pravý boční panel]

Jak vytvořit statickou stránku na Cloudflare Workers SitesTo jsou moje, prosím, nepoužívejte je 🙂

Uložte je vedle tokenu, také je budeme potřebovat ve třetí části.

Krok 4: Aktivace Workers

Doména → Workers → Spravovat Workers

Vyberte jedinečný název a tarif Workers → Neomezený (5 $ měsíčně k dnešnímu dni). Pokud chcete, později můžete přejít na bezplatnou verzi.

Část 3: První nasazení (ruční nasazení)

První nasazení jsem provedl ručně, abych zjistil, co se tam vlastně děje. I když to vše lze udělat i jednodušeji:

  1. Nainstalujte wrangler: npm i @cloudflare/wrangler -g

  2. Přejděte do adresáře našeho blogu: Vyberte si šablonu (

  3. Spusťte wrangler: wrangler init — site hugo-worker

  4. Vytvořte konfiguraci pro wrangler (zadejte token, když se ho zeptají): wrangler config

Teď se pokusíme provést změny v právě vytvořeném souboru wrangler.toml (zde úplný seznam možných nastavení):

  1. Určte accountid a zoneid

  2. Změňte route na něco jako *blog.example.com/*

  3. Určte false pro workersdev

  4. Změňte bucket na .\/public (nebo kde se nachází váš statický web)

  5. Pokud máte více než jednu doménu v cestě, měli byste opravit cestu ve skriptu pracovníka: workers-site/index.js (viz funkci handleEvent)

Skvělé, je čas nasadit web pomocí příkazu wrangler publish.

Část 4: Automatizace nasazení

Tento návod byl vytvořen pro Gitlab, ale přenáší podstatu a jednoduchost automatizovaného nasazení obecně.

Krok 1: Vytvoření a nastavení našeho projektu

  1. Vytvořte nový projekt GitLab a nahrajte web: adresář blog.example.com se vším obsahem by měl být umístěn v kořenovém katalogu projektu

  2. Nastavte proměnnou CFAPITOKEN zde: Nastavení → CI/CD → Proměnné

Krok 2: Vytvoříme soubor .gitlab-ci.yml a spustíme první nasazení

Vytvořte soubor .gitlab-ci.yml v kořenovém adresáři s následujícím obsahem:

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 # Tento úkol ovlivní pouze větev 'master'
  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 # Tento úkol ovlivní pouze větev 'master'
  tags:
    - gitlab-org-docker #

Spouštíme první nasazení ručně (CI / CD → Pipeline → Run Pipeline) nebo odesláním commit do větve master. Tady je to!

Závěr

Možná jsem to trochu zlehčil, a celý proces trval o něco déle než deset minut. Ale nyní máte rychlou stránku s automatickým nasazením a několik čerstvých nápadů, co dalšího lze udělat pomocí Workers.

 Cloudflare Workers    Hugo    GitLab Ci

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster