Giunsa paghimo ang usa ka static nga site sa Cloudflare Workers Sites

Hello! Ang akong ngalan mao si Dima, ako usa ka teknikal nga nanguna alang sa SysOps team sa Wrike. Niini nga artikulo isulti ko kanimo kung giunsa paghimo ang usa ka website nga labi ka duol sa tiggamit kutob sa mahimo sa 10 minuto ug 5 dolyar sa usa ka bulan ug i-automate ang pag-deploy niini. Ang artikulo halos walay kalabotan sa mga problema nga among gisulbad sulod sa among team. Kini hinoon ang akong personal nga kasinatian ug mga impresyon sa pagkahibalo sa usa ka teknolohiya nga bag-o kanako. Gisulayan nako nga ihulagway ang mga lakang sa daghang detalye kutob sa mahimo aron ang mga panudlo magamit alang sa mga tawo nga adunay lainlaing kasinatian. Hinaot malingaw ka. Lakaw!

Giunsa paghimo ang usa ka static nga site sa Cloudflare Workers Sites

Mao nga, tingali nakit-an na nimo ang usa ka yano ug barato nga paagi sa pag-host sa usa ka website. Tingali libre pa, ingon sa gihulagway niini maayo nga artikulo.

Apan sa kalit lang naa ka pa ug gusto nga mahikap ang maisog nga bag-ong kalibutan sa teknolohiya? Ingnon ta nga naghunahuna ka bahin sa pag-automate sa pag-deploy ug gusto nimo nga mapadali ang imong site kutob sa mahimo? Niini nga artikulo atong gamiton Hugo, apan kini opsyonal.

Gigamit namon ang Gitlab CI / CD alang sa automation, apan unsa ang bahin sa pagpadali? Atong i-deploy ang site direkta sa Cloudflare gamit Mga Lugar sa Trabaho.

Unsa ang gikinahanglan sa pagsugod:

Bahin 1: Pag-instalar sa Hugo

Kung na-install na nimo ang Hugo, o kung gusto nimo ang usa ka lahi nga static nga generator sa site (o ayaw gamita ang usa), mahimo nimong laktawan kini nga bahin.

  1. I-download ang Hugo gikan sa https://github.com/gohugoio/hugo/releases

  2. Atong ibutang ang Hugo executable file sumala sa usa sa mga gihubit sa PATH mga paagi

  3. Paghimo og bag-ong site: hugo new site blog.example.com

  4. Usba ang kasamtangan nga direktoryo ngadto sa bag-ong nahimo: cd blog.example.com

  5. Pagpili og tema sa disenyo (https://github.com/budparr/gohugo-theme-ananke/releases o unsa man)

  6. Himoon nato ang unang post: hugo new posts/my-amazing-post.md

  7. Idugang ang sulod sa gibuhat nga file: content/posts/my-amazing-post.md.
    Kung nahuman na ang tanan, usba ang kantidad sa draft sa bakak nga mga

  8. Paghimo og static nga mga file: hugo -D

Karon ang among static nga site nahimutang sa sulod sa usa ka direktoryo ./publiko ug andam na alang sa imong unang manual deployment.

Bahin 2: Pag-set up sa Cloudflare

Karon atong tan-awon ang inisyal nga setup sa Cloudflare. Ibutang ta nga naa na tay domain para sa site. Atong tagdon ingong pananglitan blog.example.com.

Lakang 1: Paghimo og DNS entry

Una, pilia ang among domain, ug dayon ang menu item DNS. Naghimo kami og usa ka blog nga A-record ug nagpakita sa pipila ka tinumotumo nga IP alang niini (kini ang opisyal rekomendasyon, apan mahimo unta nila kini nga mas nindot og gamay).

Giunsa paghimo ang usa ka static nga site sa Cloudflare Workers Sites

Lakang 2: Cloudflare Token

  1. akong profile -> Mga token sa API tab-> Paghimo og Token -> Paghimo Custom Token

Giunsa paghimo ang usa ka static nga site sa Cloudflare Workers Sites

Dinhi kinahanglan nimo nga limitahan ang token sa mga account ug mga zone, apan ibilin ang kapilian sa Pag-edit alang sa mga pagtugot nga gilista sa litrato.

I-save ang timaan alang sa umaabot, kinahanglan namon kini sa ikatulo nga bahin.

Lakang 3: Pagkuha og accountid ug zoneid

domain β†’ Kinatibuk-ang Pagpasabut β†’ [tuo nga sidebar]

Giunsa paghimo ang usa ka static nga site sa Cloudflare Workers SitesKini akoa, ayaw gamita palihug :)

I-save sila sunod sa token, kinahanglan usab namon sila sa ikatulo nga bahin.

Lakang 4: I-aktibo ang mga Trabaho

domain β†’ Workers β†’ Igdumala ang mga Trabahante

Gipili namo ang usa ka talagsaon nga ngalan ug taripa Mga Mamumuo β†’ Walay Kinutuban ($5 kada bulan karon). Kung gusto nimo, mahimo ka mag-upgrade sa ulahi sa libre nga bersyon.

Bahin 3: Unang pagdeploy (manual nga pagdeploy)

Gibuhat nako ang una nga manual deployment aron mahibal-an kung unsa gyud ang nahitabo didto. Bisan kung kining tanan mahimo nga mas simple:

  1. I-install ang wrangler: npm i @cloudflare/wrangler -g

  2. Adto ta sa direktoryo sa atong blog: cd blog.example.com

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

  4. Paghimo og config para sa wrangler (isulod ang token kung gipangutana): wrangler config

Karon atong sulayan ang paghimo og mga pagbag-o sa bag-ong nahimo nga file wrangler.toml (dinhi bug-os nga listahan sa posible nga mga setting):

  1. Ipasabut accountid ug zoneid

  2. Pagbag-o ruta sa usa ka butang sama sa *blog.example.com/*

  3. Ipasabut bakak nga mga alang sa mga trabahantedev

  4. Usba ang balde sa ./public (o kung asa nahimutang ang imong static nga site)

  5. Kung adunay ka labaw sa usa ka domain sa agianan, nan kinahanglan nimo nga tul-iron ang agianan sa nagtrabaho nga script: workers-site/index.js (tan-awa ang function handleEvent)

Maayo, panahon na nga i-deploy ang site gamit ang team wrangler publish.

Bahin 4: Deployment automation

Gisulat kini nga giya alang sa Gitlab, apan nakuha niini ang esensya ug kadali sa awtomatiko nga pag-deploy sa kinatibuk-an.

Lakang 1: Paghimo ug pag-configure sa among proyekto

  1. Paghimo og bag-ong proyekto sa GitLab ug i-upload ang site: direktoryo blog.example.com uban sa tanan nga mga sulod kinahanglan nga nahimutang sa proyekto gamut direktoryo

  2. Nag set mi variable CFAPITOKEN dinhi: setting β†’ CI / CD β†’ Mga variables

Lakang 2: Paghimo og .gitlab-ci.yml file ug padagana ang unang deployment

Paghimo og file .gitlab-ci.yml sa gamut nga adunay mosunod nga sulod:

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 #

Gilunsad namo ang unang pag-deploy sa mano-mano (CI/CD β†’ Pipelines β†’ Run Pipeline) o pinaagi sa pagpasalig ngadto sa master branch. Voila!

konklusyon

Aw, tingali gipaubos nako kini og gamay, ug ang tibuok proseso mikabat lang ug kapin sa napulo ka minuto. Apan karon ikaw adunay usa ka paspas nga site nga adunay awtomatik nga pag-deploy ug pipila ka mga bag-ong ideya bahin sa kung unsa pa ang imong mahimo sa mga Trabaho.

 Mga Trabaho sa Cloudflare    Hugo    GitLab Ci

Source: www.habr.com

Idugang sa usa ka comment