Maitiro ekugadzira saiti yakamira paCloudflare Workers Sites

Mhoro! Zita rangu ndinonzi Dima, ndiri tekinoroji inotungamira timu yeSysOps kuWrike. Muchikamu chino ini ndichakuudza maitiro ekuita webhusaiti padyo nemushandisi sezvinobvira mumaminitsi gumi uye madhora mashanu pamwedzi uye otomatiki kutumira kwayo. Chinyorwa hachina kana chekuita nematambudziko atinogadzirisa mukati mechikwata chedu. Ichi ndicho chiitiko changu pachangu uye maonero ekusvika pakuziva tekinoroji iri nyowani kwandiri. Ndakaedza kutsanangura matanho mune zvakadzama sezvinobvira kuitira kuti mirairo ibatsire vanhu vane ruzivo rwakasiyana. Ndinovimba uchanakidzwa. Enda!

Maitiro ekugadzira saiti yakamira paCloudflare Workers Sites

Saka, pamwe iwe wakatowana yakapusa uye yakachipa nzira yekugamuchira webhusaiti. Pamwe kunyange mahara, sezvinotsanangurwa mune izvi great article.

Asi kamwe kamwe iwe uchiri kufinhwa uye uchida kubata nyika itsva yakashinga yetekinoroji? Ngatiti iwe uri kufunga nezve automating deployment uye unoda kumhanyisa saiti yako zvakanyanya sezvinobvira? Munyaya ino tichashandisa Hugo, asi izvi ndezvekusarudza.

Isu tinoshandisa Gitlab CI/CD kuita otomatiki, asi zvakadini nekumhanyisa? Ngatiisei saiti yacho zvakananga kuCloudflare tichishandisa Worker Sites.

Chii chinodiwa kutanga:

Chikamu 1: Kuisa Hugo

Kana iwe uchinge uchinge uine Hugo yakaiswa, kana kana iwe uchida rakasiyana static saiti jenareta (kana usashandise imwe zvachose), saka unogona kusvetuka ichi chikamu.

  1. Download Hugo kubva https://github.com/gohugoio/hugo/releases

  2. Isu tinoisa iyo Hugo faira rekuita zvinoenderana neimwe yeaya anotsanangurwa mukati PATH nzira

  3. Kugadzira saiti itsva: hugo new site blog.example.com

  4. Chinja dhairekitori razvino kune richangogadzirwa: cd blog.example.com

  5. Sarudza dhizaini dingindira (https://github.com/budparr/gohugo-theme-ananke/releases kana chii)

  6. Ngatigadzirirei chinyorwa chekutanga: hugo new posts/my-amazing-post.md

  7. Wedzera zvirimo kune iyo yakagadzirwa faira: content/posts/my-amazing-post.md.
    Kana zvese zvaitwa, shandura kukosha kwekunyorwa kuti venhema

  8. Kugadzira static mafaera: hugo -D

Iye zvino yedu static saiti iri mukati medhairekitori ./paruzhinji uye wakagadzirira kutumirwa kwako kwekutanga.

Chikamu 2: Kumisikidza Cloudflare

Zvino ngatitarisei yekutanga kuseta kweCloudflare. Ngatifungei kuti isu tatova nenzvimbo yesaiti. Ngatitorei semuenzaniso blog.example.com.

Danho 1: Gadzira DNS yekupinda

Kutanga, sarudza yedu domain, uye ipapo chinhu chemenyu DNS. Isu tinogadzira blog A-rekodhi uye tinoratidza imwe yenhema IP yayo (uyu ndiye mukuru kurudziro, asi vangadai vakaita kuti inake zvishoma).

Maitiro ekugadzira saiti yakamira paCloudflare Workers Sites

Nhanho 2: Cloudflare Token

  1. My Profile -> API tokens tab-> Gadzira Chiratidzo -> Gadzira Custom Token

Maitiro ekugadzira saiti yakamira paCloudflare Workers Sites

Pano iwe unozofanirwa kudzikamisa chiratidzo kumaakaundi uye nzvimbo, asi siya iyo Rongedza sarudzo yemvumo yakanyorwa pamufananidzo.

Chengetedza chiratidzo chenguva yemberi, tichachida muchikamu chechitatu.

Nhanho 3: Tora accountid uye zoneid

Domain β†’ tsananguro β†’ [bhara rekurudyi]

Maitiro ekugadzira saiti yakamira paCloudflare Workers SitesAya ndeangu, usashandise ndapota :)

Vaponese pedyo nechiratidzo, tichavadawo muchikamu chechitatu.

Nhanho 4: Activate Workers

Domain β†’ vashandi β†’ Manage Vashandi

Isu tinosarudza rakasiyana zita uye mutero Vashandi β†’ Unlimited ($5 pamwedzi nhasi). Kana uchida, iwe unogona gare gare kusimudzira kune yemahara vhezheni.

Chikamu 3: Kutanga kutumirwa (manual deployment)

Ndakaita yekutanga kutumirwa kwemaoko kuti ndizive kuti chii chaizvo chaiitika ipapo. Kunyangwe izvi zvese zvinogona kuitwa zviri nyore:

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

  2. Ngatiendei kune dhairekitori reblog redu: cd blog.example.com

  3. Launch wrangler: wrangler init β€” site hugo-worker

  4. Gadzira config ye wrangler (isa chiratidzo kana wabvunzwa): wrangler config

Zvino ngatiedzei kuita shanduko kune ichangobva kusikwa faira wrangler.toml (pano runyoro ruzere rwezvirongwa zvinogoneka):

  1. Tinoratidza accountid uye zoneid

  2. Chinja nzira kune chimwe chinhu *blog.example.com/*

  3. Tinoratidza venhema nokuti workersdev

  4. Shandura bhaketi kuti ./public (kana kuti nzvimbo yako yakamira iripo)

  5. Kana iwe uine anopfuura dura rimwechete munzira, saka iwe unofanirwa kururamisa nzira mune inoshanda script: workers-site/index.js (ona basa handleEvent)

Zvakanaka, inguva yekuendesa saiti uchishandisa timu wrangler publish.

Chikamu 4: Deployment otomatiki

Iri gwara rakanyorerwa Gitlab, asi rinotora iwo musimboti uye kureruka kweotomatiki kutumira mune zvese.

Danho 1: Gadzira uye gadzirisa chirongwa chedu

  1. Gadzira purojekiti itsva yeGitLab uye rodha saiti: dhairekitori blog.example.com nezvese zviri mukati zvinofanirwa kunge zviri muprojekiti dhairekitori

  2. We set variable CFAPITOKEN pano: Settings β†’ CI / CD β†’ Zvinyorwa

Danho rechipiri: Gadzira .gitlab-ci.yml faira uye shandisa kutumira kwekutanga

Gadzira faira .gitlab-ci.yml mumudzi mune zvinotevera zvirimo:

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 #

Isu tinotangisa yekutanga kutumira nemaoko (CI/CD β†’ Mapipi β†’ Run Pipeline) kana nokuzvipira kubazi guru. Voila!

mhedziso

Zvakanaka, ndinogona kunge ndakazvidzikisira zvishoma, uye maitiro ese akatora anopfuura maminetsi gumi. Asi ikozvino une saiti yekukurumidza ine otomatiki kutumirwa uye mamwe mazano matsva nezve zvimwe zvaungaite neVashandi.

 Cloudflare Workers    Hugo    GitLab Ci

Source: www.habr.com

Voeg