Meriv çawa li ser Malperên Karkerên Cloudflare malperek statîk çêdike

Slav! Navê min Dima ye, ez ji bo tîmê SysOps li Wrike rêberek teknîkî me. Di vê gotarê de ez ê ji we re vebêjim ka meriv çawa di mehê 10 hûrdem û 5 dolaran de malperek bi qasî ku pêkan nêzî bikarhênerê dike û bicîhkirina wê otomatîk dike. Gotar hema bêje tiştek bi pirsgirêkên ku em di nav tîmê xwe de çareser dikin re tune. Ev ji bilî ezmûna kesane û nerînên min ên nasîna teknolojiyek ku ji min re nû ye. Min hewl da ku gavan bi qasî ku gengaz be bi hûrgulî vebêjim da ku rêwerz ji bo kesên xwedî ezmûnên cûda kêrhatî bin. Ez hêvî dikim ku hûn ê kêfxweş bibin. Ajotin!

Meriv çawa li ser Malperên Karkerên Cloudflare malperek statîk çêdike

Ji ber vê yekê, dibe ku we berê rêyek hêsan û erzan dît ku meriv malperek mêvandar bike. Dibe ku belaş jî, wekî ku di vê yekê de tête diyar kirin gotara mezin.

Lê ji nişkê ve hûn hîn jî bêzar in û dixwazin dest bidin cîhana nû ya wêrek a teknolojiyê? Ka em bibêjin hûn li ser bicîhkirina otomatîkî difikirin û hûn dixwazin malpera xwe bi qasî ku gengaz bilezînin? Di vê gotarê de em ê bikar bînin Hugo, lê ev vebijarkî ye.

Em ji bo otomatê Gitlab CI/CD bikar tînin, lê lezkirinê çi ye? Werin em malperê rasterast bi karanîna Cloudflare-ê bicîh bikin Malperên Karker.

Ji bo destpêkirina çi hewce ye:

Beş 1: Sazkirina Hugo

Ger we jixwe Hugo saz kiriye, an ger hûn jeneratorek malpera statîk a cihêreng tercîh dikin (an jî yek carî bikar neynin), wê hingê hûn dikarin vê beşê berdin.

  1. Hugo ji dakêşin https://github.com/gohugoio/hugo/releases

  2. Em pelê îcrakar Hugo li gorî yek ji yên ku tê de hatine destnîşan kirin cîh dikin ŞOP awayên

  3. Afirandina malperek nû: hugo new site blog.example.com

  4. Peldanka heyî bi ya nû hatî afirandin biguhezîne: cd blog.example.com

  5. Mijarek sêwiranê hilbijêrin (https://github.com/budparr/gohugo-theme-ananke/releases an jî her tişt)

  6. Ka em posta yekem biafirînin: hugo new posts/my-amazing-post.md

  7. Naverok li pelê çêkirî zêde bikin: naveroka/post/my-amazing-post.md.
    Dema ku her tişt qediya, nirxa pêşnûmeyê biguherînin şaş

  8. Hilberîna pelên statîk: hugo -D

Naha malpera meya statîk di hundurê pelrêçekê de ye ./alenî û ji bo pêşîlêgirtina desta we amade ye.

Beş 2: Sazkirina Cloudflare

Naha em li sazkirina destpêkê ya Cloudflare binêrin. Ka em bihesibînin ku me jixwe domainek ji bo malperê heye. Werin em wek nimûne blog.example.com.

Gav 1: Têketinek DNS-ê biafirînin

Pêşîn, domaina me, û dûv re jî menuya menu hilbijêrin DNS. Em tomara A-blogek çêdikin û ji bo wê hin IP-ya xeyalî destnîşan dikin (ev fermî ye pêşnîyar, lê wan dikaribû wê hinekî xweşiktir bikira).

Meriv çawa li ser Malperên Karkerên Cloudflare malperek statîk çêdike

Gav 2: Token Cloudflare

  1. Profîla min -> Nîşaneyên API tab-> Token çêbikin -> Token Xweser biafirînin

Meriv çawa li ser Malperên Karkerên Cloudflare malperek statîk çêdike

Li vir hûn hewce ne ku tokenê bi hesab û deveran sînordar bikin, lê ji bo destûrên ku di wêneyê de têne navnîş kirin vebijarka Biguherîne bihêlin.

Tokenê ji bo pêşerojê hilînin, em ê di beşa sêyemîn de hewce bikin.

Gav 3: Hesab û zonîd bistînin

Domain Têgihiştinî → [barika milê rastê]

Meriv çawa li ser Malperên Karkerên Cloudflare malperek statîk çêdikeEv yên min in, ji kerema xwe wan bikar neynin :)

Wan li kêleka tokenê hilînin, em ê di beşa sêyemîn de jî hewceyê wan bin.

Gav 4: Karkeran çalak bikin

Domain karkerên Karkeran birêve bibin

Em navek yekta û tarîfek Karker → Bêsînor hilbijêrin (îro mehê 5 $). Ger hûn bixwazin, hûn dikarin paşê nûve bikin guhertoya belaş.

Beş 3: Rakirina yekem (bikaranîna destan)

Min yekem bicîhkirina destan kir da ku bibînim ka bi rastî li wir çi diqewime. Her çend ev hemî hêsantir dikare were kirin:

  1. wrangler saz bikin: npm i @cloudflare/wrangler -g

  2. Ka em biçin pelrêça bloga xwe: cd blog.example.com

  3. Destpêkirina wrangler: wrangler init — site hugo-worker

  4. Ji bo wrangler konfigurasyonek biafirînin (dema ku jê tê pirsîn nîşanê têkevin): wrangler config

Naha em hewl bidin ku di pelê ku nû hatî afirandin de guhertinan bikin wrangler.toml (vir navnîşa tevahî ya mîhengên gengaz):

  1. Diyar bike accountid û zoneid

  2. Gûherrandinî rêk ji bo tiştekî wek *blog.example.com/*

  3. Diyar bike şaş bo karkerdev

  4. Depoyê biguherînin ./public (an jî cihê ku malpera weya statîk lê ye)

  5. Ger di rê de zêdetirî yek domainê we hebe, wê hingê divê hûn rêça di skrîpta xebatê de rast bikin: karker-malper/index.js (binihêre fonksiyon handleEvent)

Baş e, ew dem e ku hûn malperê bi karanîna tîmê vebikin wrangler publish.

Beş 4: Otomasyona sazkirinê

Ev rêber ji bo Gitlab-ê hatî nivîsandin, lê ew bi gelemperî bingehîn û hêsaniya sazkirina otomatîkî digire.

Gav 1: Projeya me biafirînin û mîheng bikin

  1. Projeyek nû ya GitLab biafirînin û malperê bar bikin: pelrêça blog.example.com digel hemî naverok divê di pelrêça root ya projeyê de cih bigire

  2. Me danîn têgûherr CFAPITOKEN vir Mîhengên CI / CDguherbarên

Gav 2: Pelek .gitlab-ci.yml biafirînin û vekirina yekem bimeşînin

Pelê çêbikin .gitlab-ci.yml di kokê de bi naveroka jêrîn:

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 #

Em danasîna yekem bi destan dest pê dikin (CI/CD Pipeline Run Pipeline) an jî bi pabendbûna bi şaxê master. Voila!

encamê

Welê, dibe ku min ew hinekî kêm kiribe, û tevahiya pêvajoyê tenê deh hûrdeman girt. Lê naha we malperek bilez heye ku bi cîhkirina otomatîkî û hin ramanên nû ve girêdayî ye ka hûn dikarin bi Karkeran re çi bikin.

 Karkerên Cloudflare    Hugo    GitLab Ci

Source: www.habr.com

Add a comment