Ahoana ny fomba fanaovana tranokala static amin'ny tranokala Cloudflare Workers

Salama! Dima no anarako, mpitarika ara-teknika ho an'ny ekipa SysOps ao amin'ny Wrike aho. Ato amin'ity lahatsoratra ity dia hilaza aminao ny fomba hanaovana tranokala ho akaiky ny mpampiasa araka izay azo atao ao anatin'ny 10 minitra sy 5 dolara isam-bolana aho ary manamboatra ny fametrahana azy. Saika tsy misy ifandraisany amin'ny olana atrehintsika ao anatin'ny ekipantsika ilay lahatsoratra. Izany dia ny traikefako manokana sy ny fahatsapako ny fahafantarana teknolojia vaovao amiko. Niezaka namaritra ny dingana amin'ny antsipiriany araka izay azo atao aho mba hahasoa ny olona manana traikefa samihafa ny torolalana. Manantena aho fa hankafy anao. Mandehana!

Ahoana ny fomba fanaovana tranokala static amin'ny tranokala Cloudflare Workers

Noho izany, angamba efa nahita fomba tsotra sy mora hampiantrano tranokala ianao. Mety ho maimaim-poana mihitsy aza, araka ny voalaza eto lahatsoratra mahafinaritra.

Saingy tampoka dia mbola leo ianao ary te hikasika ny tontolon'ny teknolojia vaovao be herim-po? Andeha hatao hoe mieritreritra ny hanao automatique ny fametrahana ianao ary te hanafaingana ny tranokalanao araka izay azo atao? Amin'ity lahatsoratra ity dia hampiasaintsika Hugo, fa tsy voatery izany.

Mampiasa Gitlab CI/CD izahay ho an'ny automation, fa ahoana ny amin'ny fanafainganana? Andao haparitaka mivantana amin'ny Cloudflare ny tranokala mampiasa Sites mpiasa.

Inona no ilaina hanombohana:

Fizarana 1: Fametrahana Hugo

Raha efa nametraka an'i Hugo ianao, na raha tianao ny mpamorona tranokala static hafa (na tsy mampiasa iray mihitsy), dia azonao atao ny mitsambikina ity ampahany ity.

  1. Download Hugo avy amin'ny https://github.com/gohugoio/hugo/releases

  2. Apetrakay ny rakitra executable Hugo araka ny iray amin'ireo voafaritra ao LALANA FOMBA

  3. Mamorona tranokala vaovao: hugo new site blog.example.com

  4. Ovay ny lahatahiry amin'izao fotoana izao ho ilay vao noforonina: cd blog.example.com

  5. Misafidiana lohahevitra famolavolana (https://github.com/budparr/gohugo-theme-ananke/releases na inona na inona)

  6. Andao hamorona lahatsoratra voalohany: hugo new posts/my-amazing-post.md

  7. Ampio votoaty amin'ny rakitra noforonina: content/posts/my-amazing-post.md.
    Rehefa vita ny zava-drehetra dia ovay ny sandan'ny drafitra ho diso

  8. Mamorona rakitra static: hugo -D

Amin'izao fotoana izao dia hita ao anaty lahatahiry iray ny tranokalantsika static ./public ary vonona amin'ny fametrahana ny tananao voalohany.

Fizarana 2: fametrahana Cloudflare

Andeha hojerentsika ny fametrahana voalohany an'ny Cloudflare. Aoka hatao hoe efa manana sehatra ho an'ny tranokala isika. Andeha horaisintsika ho ohatra blog.example.com.

Dingana 1: Mamorona fidirana DNS

Voalohany, safidio ny sehatra misy antsika, ary avy eo ny singa menu DNS. Mamorona bilaogy A-record izahay ary manondro IP noforonina ho azy (ity no ofisialy fangatahana, saingy afaka nanao izany ho tsara tarehy kokoa izy ireo).

Ahoana ny fomba fanaovana tranokala static amin'ny tranokala Cloudflare Workers

Dingana 2: Cloudflare Token

  1. My Profile -> API token tabilao-> Mamorona Token -> Mamorona Custom Token

Ahoana ny fomba fanaovana tranokala static amin'ny tranokala Cloudflare Workers

Eto ianao dia mila mametra ny mari-pamantarana amin'ny kaonty sy faritra, fa avelao ny safidy Edit ho an'ny fahazoan-dΓ lana voatanisa eo amin'ny sary.

Tehirizo ny famantarana ho an'ny ho avy, mila izany isika amin'ny ampahany fahatelo.

Dingana 3: MakΓ  kaonty sy zoneid

Domain β†’ Overview β†’ [sisika havanana]

Ahoana ny fomba fanaovana tranokala static amin'ny tranokala Cloudflare WorkersAhy ireto, aza mampiasa azy azafady :)

Vonjeo eo akaikin'ny famantarana izy ireo, mila azy ireo koa isika amin'ny ampahany fahatelo.

Dingana 4: Ampidiro ny mpiasa

Domain β†’ mpiasa β†’ Tantano ny mpiasa

Mifidy anarana tsy manam-paharoa sy karama izahay Mpiasa β†’ Tsy voafetra ($5 isam-bolana anio). Raha tianao dia azonao atao ny manavao amin'ny dikan-teny maimaim-poana.

Fizarana 3: Fametrahana voalohany (fametrahana tanana)

Nanao ny fametrahana manual voalohany aho mba hahitana ny tena zava-mitranga any. Na dia azo atao tsotra kokoa aza izany rehetra izany:

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

  2. Andao ho any amin'ny lahatahirin'ny bilaoginay: cd blog.example.com

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

  4. Mamorona config ho an'ny wrangler (ampidiro ny marika rehefa anontaniana): wrangler config

Andeha isika hanandrana hanova ny rakitra vao noforonina wrangler.toml (eto lisitra feno amin'ny fanovana azo atao):

  1. Manondro izahay accountid sy zoneid

  2. fiovana lalana amin'ny zavatra toy ny*blog.example.com/*

  3. Manondro izahay diso ho an'ny workersdev

  4. Hanova siny ho ./public (na ny toerana misy ny tranokalanao)

  5. Raha manana sehatra mihoatra ny iray ianao amin'ny lalana, dia tokony hanitsy ny lalana amin'ny script miasa ianao: mpiasa-site/index.js (jereo ny function handleEvent)

Tsara, fotoana izao hametrahana ny tranokala amin'ny alΓ lan'ny ekipa wrangler publish.

Fizarana 4: Fanapariahana automatique

Ity torolΓ lana ity dia nosoratana ho an'ny Gitlab, saingy mirakitra ny maha-zava-dehibe sy ny fanamorana ny fametrahana mandeha ho azy amin'ny ankapobeny.

Dingana 1: Mamorona sy amboary ny tetikasantsika

  1. Mamorona tetikasa GitLab vaovao ary ampidiro ny tranokala: lahatahiry Blog.example.com miaraka amin'ny atiny rehetra dia tsy maintsy hita ao amin'ny lahatahiry fototry ny tetikasa

  2. Nametraka izahay miovaova CFAPITOKEN eto: Settings β†’ CI / CD β†’ hiovaova

Dingana 2: Mamorona rakitra .gitlab-ci.yml ary tanteraho ny fametrahana voalohany

Mamorona rakitra .gitlab-ci.yml ao amin'ny fakany miaraka amin'ireto votoaty manaraka ireto:

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 #

Manomboka amin'ny tananay ny fandefasana voalohany (CI/CD β†’ fantsona β†’ Run Pipeline) na amin'ny alalan'ny fanoloran-tena amin'ny sampana tompony. Voila!

famaranana

Mety ho nataoko ambanin-javatra kely ilay izy, ary naharitra folo minitra mahery ilay dingana manontolo. Saingy manana tranokala haingana ianao miaraka amin'ny fametrahana mandeha ho azy ary hevitra vaovao momba ny zavatra hafa azonao atao amin'ny Workers.

 Mpiasa Cloudflare    Hugo    GitLab Ci

Source: www.habr.com

Add a comment