Statikus webhely készítése a Cloudflare Workers Sites-en
Helló! A nevem Dima, a Wrike SysOps csapatának műszaki vezetője vagyok. Ebben a cikkben elmondom, hogyan lehet egy webhelyet a felhasználóhoz a lehető legközelebb tenni, és havi 10 perc és 5 dollár alatt automatizálni a telepítést. A cikknek szinte semmi köze azokhoz a problémákhoz, amelyeket csapatunkon belül megoldunk. Ez inkább az én személyes tapasztalatom és benyomásaim egy számomra új technológia megismeréséről. Igyekeztem a lehető legrészletesebben leírni a lépéseket, hogy az instrukciók hasznosak legyenek a különböző tapasztalatokkal rendelkezők számára. Remélem, élvezni fogja. Megy!
Szóval, talán már talált egy egyszerű és olcsó módot egy webhely üzemeltetésére. Talán még ingyenes is, ahogy ebben le van írvaremek cikk.
De hirtelen még mindig unatkozik, és meg akarja érinteni a technológia bátor új világát? Tegyük fel, hogy az üzembe helyezés automatizálásán gondolkodik, és szeretné a lehető legnagyobb mértékben felgyorsítani webhelyét? Ebben a cikkben fogjuk használniHugo, de ez nem kötelező.
Az automatizáláshoz Gitlab CI/CD-t használunk, de mi a helyzet a gyorsítással? Telepítsük a webhelyet közvetlenül a Cloudflare-re a használatávalMunkáshelyek.
Készítsük el az első bejegyzést: hugo new posts/my-amazing-post.md
Tartalom hozzáadása a létrehozott fájlhoz: content/posts/my-mazing-post.md. Ha minden kész, módosítsa a vázlat értékét erre hamis
Statikus fájlok generálása: hugo -D
Statikus oldalunk most egy könyvtárban található ./nyilvános és készen áll az első kézi telepítésre.
2. rész: A Cloudflare beállítása
Most nézzük meg a Cloudflare kezdeti beállítását. Tegyük fel, hogy már van egy domain a webhelyhez. Vegyünk példának blog.example.com.
1. lépés: Hozzon létre egy DNS-bejegyzést
Először válassza ki a domainünket, majd a menüpontot DNS. Létrehozunk egy blog A-rekordot, és megjelölünk benne valamilyen fiktív IP-címet (ez a hivatalosajánlást, de csinálhatták volna egy kicsit szebb is).
2. lépés: Cloudflare token
A profilom -> API tokenek fül-> Token létrehozása -> Hozzon létre egyéni tokent
Itt a tokent fiókokra és zónákra kell korlátoznia, de hagyja meg a Szerkesztés opciót a képen felsorolt engedélyekhez.
Mentse el a tokent a jövőre, a harmadik részben szükségünk lesz rá.
3. lépés: Az accountid és a zoneid beszerzése
Domén → Áttekintés → [jobb oldalsáv]
Ezek az enyémek, kérlek ne használd :)
Mentse el őket a token mellé, a harmadik részben is szükségünk lesz rájuk.
4. lépés: Aktiválja a dolgozókat
Domén → Dolgozók → Munkavállalók kezelése
Egyedi nevet és tarifát választunk: Dolgozók → Korlátlan (ma havi 5 USD). Ha szeretné, később frissíthet az ingyenes verzióra.
3. rész: Első üzembe helyezés (kézi telepítés)
Megcsináltam az első kézi telepítést, hogy megtudjam, mi folyik ott valójában. Bár mindez egyszerűbben is megtehető:
Wrangler telepítése: npm i @cloudflare/wrangler -g
Menjünk a blogunk könyvtárába: cd blog.example.com
Wrangler indítása: wrangler init — site hugo-worker
Hozzon létre egy konfigurációt a wrangler számára (kérésre írja be a tokent): wrangler config
Most próbáljuk meg módosítani az újonnan létrehozott fájlt wrangler.toml (itt a lehetséges beállítások teljes listája):
jelezzük accountid és zoneid
változás útvonal olyasmire, mint *blog.example.com/*
jelezzükhamisa munkásdev
Vödör módosítása erre: ./public (vagy ahol a statikus webhelye található)
Ha egynél több tartománya van az elérési útban, akkor javítania kell az elérési utat a működő szkriptben: workers-site/index.js (lásd a funkciót handleEvent)
Remek, ideje üzembe helyezni a webhelyet a csapat segítségévelwrangler publish.
4. rész: Telepítési automatizálás
Ez az útmutató a Gitlab számára készült, de általánosságban leírja az automatizált telepítés lényegét és egyszerűségét.
1. lépés: Hozza létre és konfigurálja projektünket
Hozzon létre egy új GitLab projektet, és töltse fel a webhelyet: könyvtár blog.example.com minden tartalommal a projekt gyökérkönyvtárában kell lennie
Beállítjukváltozó CFAPITOKEN itt: beállítások → CI / CD → Változók
2. lépés: Hozzon létre egy .gitlab-ci.yml fájlt, és futtassa az első központi telepítést
Hozzon létre egy 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 # 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 #
Az első telepítést manuálisan indítjuk (CI/CD → Csővezetékek → Csővezeték futtatása) vagy a mesterágra vállalva. Voálá!
Következtetés
Nos, lehet, hogy kissé alábecsültem, és az egész folyamat alig több mint tíz percig tartott. Most azonban van egy gyors webhelye, amely automatikus üzembe helyezéssel és néhány friss ötlettel rendelkezik arról, hogy mit tehet még a Workers segítségével.