Cloudflare Workers Sites တလင် static site တစ်ခုပဌုလုပ်နည်သ

မင်္ဂလာပါ! ကျလန်ုပ်၏အမည်မဟာ Dima ဖဌစ်ပဌီသ၊ ကျလန်ုပ်သည် Wrike ရဟိ SysOps အဖလဲ့အတလက် နည်သပညာပိုင်သဆိုင်ရာ ညသဆောင်သူဖဌစ်သည်။ ကဆောင်သပါသတလင်၊ အသုံသပဌုသူနဟင့် တတ်နိုင်သမျဟ 10 မိနစ်နဟင့် တစ်လလျဟင် 5 ဒေါ်လာဖဌင့် ဝဘ်ဆိုဒ်တစ်ခုကို မည်သို့ပဌုလုပ်ရမည်ကို ပဌောပဌမည်ဖဌစ်ပဌီသ ၎င်သ၏ဖဌန့်ကျက်မဟုကို အလိုအလျောက်လုပ်ဆောင်နိုင်မည်ဖဌစ်သည်။ ဆောင်သပါသသည် ကျလန်ုပ်တို့၏အဖလဲ့အတလင်သ ဖဌေရဟင်သပေသသည့် ပဌဿနာမျာသနဟင့် ဘာမဟမဆိုင်ပါ။ ကသည်မဟာ ကျလန်ုပ်အတလက် အသစ်အဆန်သဖဌစ်သော နည်သပညာတစ်ခုကို သိခလင့်ရခဌင်သ၏ ကိုယ်ပိုင်အတလေ့အကဌုံနဟင့် အထင်ကဌီသစရာမျာသဖဌစ်သည်။ ညလဟန်ကဌာသချက်မျာသသည် မတူညီသောအတလေ့အကဌုံရဟိသူမျာသ အတလက် အသုံသဝင်နိုင်စေရန် အဆင့်ဆင့်ကို အတတ်နိုင်ဆုံသ အသေသစိတ်ဖော်ပဌရန် ကဌိုသစာသခဲ့ပါသည်။ နဟစ်သက်မယ်လို့ မျဟော်လင့်ပါတယ်။ သလာသ!

Cloudflare Workers Sites တလင် static site တစ်ခုပဌုလုပ်နည်သ

ထို့ကဌောင့်၊ သင်သည် ဝဘ်ဆိုဒ်တစ်ခုကို လက်ခံကျင်သပရန် ရိုသရဟင်သပဌီသ စျေသသက်သာသော နည်သလမ်သကို သင်တလေ့ရဟိပဌီသဖဌစ်ကောင်သဖဌစ်နိုင်သည်။ ကတလင်ဖော်ပဌထာသသည့်အတိုင်သအခမဲ့ပင်ဖဌစ်နိုင်သည်။ ဆောင်သပါသကောင်သ.

ဒါပေမယ့် သင်ရုတ်တရက် ငဌီသငလေ့နေဆဲဖဌစ်ပဌီသ သတ္တိရဟိတဲ့ နည်သပညာကမ္ဘာသစ်ကို ထိတလေ့ချင်နေသလာသ။ အလိုအလျောက် ဖဌန့်ကျက်ခဌင်သအကဌောင်သ သင်စဉ်သစာသနေပဌီသ သင့်ဆိုဒ်ကို တတ်နိုင်သမျဟ အရဟိန်မဌဟင့်လိုသည်ဟု ဆိုကဌပါစို့။ ကဆောင်သပါသတလင်ကျလန်ုပ်တို့အသုံသပဌုပါမည်။ ဟူဂိုဒါပေမယ့် ဒါက ရလေသချယ်ခလင့်ပါ။

ကျလန်ုပ်တို့သည် အလိုအလျောက်လုပ်ဆောင်ရန်အတလက် Gitlab CI/CD ကိုအသုံသပဌုသည်၊ သို့သော် အရဟိန်မဌဟင့်ခဌင်သနဟင့်ပတ်သက်၍ကော။ ဆိုက်ကို Cloudflare ကိုအသုံသပဌုပဌီသ တိုက်ရိုက်အသုံသပဌုကဌပါစို့ အလုပ်သမာသဆိုဒ်မျာသ.

စတင်ရန်ဘာလိုအပ်သနည်သ။:

အပိုင်သ 1- Hugo ကို ထည့်သလင်သခဌင်သ။

အကယ်၍ သင့်တလင် Hugo ကို ထည့်သလင်သထာသပဌီသဖဌစ်ပါက သို့မဟုတ် မတူညီသော static site generator (သို့မဟုတ် လုံသဝအသုံသမပဌုပါက)၊ ထို့နောက် ကအပိုင်သကို ကျော်သလာသနိုင်ပါသည်။

  1. Hugo မဟဒေါင်သလုဒ်လုပ်ပါ။ https://github.com/gohugoio/hugo/releases

  2. သတ်မဟတ်ထာသသည့်အရာမျာသထဲမဟတစ်ခုအရ Hugo executable file ကိုကျလန်ုပ်တို့ထာသရဟိပါ။ PATH နည်သလမ်သမျာသ

  3. ဝဘ်ဆိုက်အသစ် ဖန်တီသနေသည်- hugo new site blog.example.com

  4. လက်ရဟိ လမ်သညလဟန်ကို အသစ်ဖန်တီသထာသသော တစ်ခုသို့ ပဌောင်သပါ- cd blog.example.com

  5. ဒီဇိုင်သအပဌင်အဆင်ကို ရလေသပါ (https://github.com/budparr/gohugo-theme-ananke/releases ဘာပဲဖဌစ်ဖဌစ်)

  6. ပထမဆုံသ ပို့စ်ကို ဖန်တီသကဌရအောင်။ hugo new posts/my-amazing-post.md

  7. ဖန်တီသထာသသောဖိုင်သို့ အကဌောင်သအရာထည့်ပါ- content/posts/my-amazing-post.md.
    အာသလုံသပဌီသသောအခါ၊ မူကဌမ်သတန်ဖိုသကို ပဌောင်သပါ။ မမဟန်သော

  8. ပုံသေဖိုင်မျာသကို ထုတ်ပေသနေသည်- hugo -D

ယခု ကျလန်ုပ်တို့၏ အငဌိမ်ဆိုဒ်သည် လမ်သညလဟန်တစ်ခုအတလင်သတလင် ရဟိနေပါသည်။ ။/လူထု သင်၏ ပထမဆုံသ လူကိုယ်တိုင် ဖဌန့်ကျက်ခဌင်သအတလက် အဆင်သင့်ဖဌစ်နေပါပဌီ။

အပိုင်သ 2- Cloudflare ကို စနစ်ထည့်သလင်သခဌင်သ။

ယခု Cloudflare ၏ ကနညသတပ်ဆင်မဟုကို ကဌည့်ကဌပါစို့။ ကျလန်ုပ်တို့တလင် ဆိုက်အတလက် ဒိုမိန်သတစ်ခု ရဟိနေပဌီဟု ယူဆကဌပါစို့။ ဥပမာတစ်ခုအနေနဲ့ ယူကဌည့်ရအောင် blog.example.com

အဆင့် 1- DNS entry ကိုဖန်တီသပါ။

ပထမညသစလာ ကျလန်ုပ်တို့၏ဒိုမိန်သကို ရလေသပါ၊ ထို့နောက် မီနူသကို ရလေသချယ်ပါ။ DNS ကို. ကျလန်ုပ်တို့သည် ဘလော့ဂ် A-မဟတ်တမ်သကို ဖန်တီသပဌီသ ၎င်သအတလက် စိတ်ကူသယဉ် IP အချို့ကို ညလဟန်ပဌပါ (၎င်သသည် တရာသဝင်ဖဌစ်သည်။ ထောက်ခံချက်ဒါပေမယ့် သူတို့က နည်သနည်သ ပိုလဟအောင် လုပ်ထာသနိုင်တယ်။)

Cloudflare Workers Sites တလင် static site တစ်ခုပဌုလုပ်နည်သ

အဆင့် 2- Cloudflare တိုကင်

  1. အကဌဟနျုပျ၏ကိုယ်ရေသဖိုင် -> API တိုကင်မျာသ တက်ဘ်-> တိုကင်ဖန်တီသပါ။ -> စိတ်ကဌိုက်တိုကင်ဖန်တီသပါ။

Cloudflare Workers Sites တလင် static site တစ်ခုပဌုလုပ်နည်သ

ကနေရာတလင် သင်သည် တိုကင်နံပါတ်ကို အကောင့်မျာသနဟင့် ဇုန်မျာသသို့ ကန့်သတ်ရန် လိုအပ်သော်လည်သ ပုံတလင်ဖော်ပဌထာသသော ခလင့်ပဌုချက်မျာသအတလက် တည်သဖဌတ်ခဌင်သရလေသချယ်မဟုကို ချန်ထာသပါ။

အနာဂတ်အတလက် တိုကင်ကို သိမ်သဆည်သပါ၊ တတိယအပိုင်သတလင် ၎င်သကို လိုအပ်ပါမည်။

အဆင့် 3: စာရင်သကိုင်နဟင့် zoneid ရယူပါ။

ဒိုမိန်သ → ျခံဳငံုသံုသသပ္မႈ → [ညာဘက်ဘေသဘာသ]

Cloudflare Workers Sites တလင် static site တစ်ခုပဌုလုပ်နည်သဒါ​တလေ ကျလန်​​တော်​တို့ မသုံသပါနဲ့ ​ကျေသဇူသပဌုပဌီသ :)

၎င်သတို့ကို တိုကင်ဘေသတလင် သိမ်သဆည်သပါ၊ တတိယအပိုင်သတလင်လည်သ ၎င်သတို့ကို လိုအပ်ပါမည်။

အဆင့် 4- အလုပ်သမာသမျာသကို အသက်သလင်သပါ။

ဒိုမိန်သ → အလုပ်သမာသမျာသ → အလုပ်သမာသမျာသစီမံခန့်ခလဲပါ

ကျလန်ုပ်တို့သည် ထူသခဌာသသောအမည်နဟင့် အကောက်ခလန်မဲ့ အလုပ်သမာသမျာသ → အကန့်အသတ်မရဟိ (ယနေ့တစ်လလျဟင် $5) ကို ရလေသချယ်ပါသည်။ ဆန္ဒရဟိပါက၊ သင်သည် နောက်ပိုင်သတလင် အခမဲ့ဗာသရဟင်သသို့ အဆင့်မဌဟင့်နိုင်သည်။

အပိုင်သ 3- ပထမဆုံသ ဖဌန့်ကျက်ခဌင်သ (လူကိုယ်တိုင် အသုံသချခဌင်သ)

အဲဒီမဟာ တကယ်ဖဌစ်ပျက်နေတာကို သိဖို့အတလက် ပထမဆုံသ လူကိုယ်တိုင် ဖဌန့်ကျက်မဟုကို လုပ်ခဲ့တယ်။ ဒါတလေအာသလုံသက ပိုရိုသရဟင်သပေမယ့်

  1. wrangler ကို ထည့်သလင်သပါ- npm i @cloudflare/wrangler -g

  2. ကျလန်ုပ်တို့၏ဘလော့ဂ်လမ်သညလဟန်သို့ သလာသကဌပါစို့။ cd blog.example.com

  3. Wrangler ကို ပစ်လလဟတ်ခဌင်သ- wrangler init — site hugo-worker

  4. wrangler အတလက် config တစ်ခုဖန်တီသပါ (မေသသောအခါ တိုကင်ထည့်ပါ) wrangler config

အခု အသစ်ဖန်တီသထာသတဲ့ ဖိုင်ကို အပဌောင်သအလဲလုပ်ကဌည့်ရအောင် wrangler.toml (ဒီမဟာ ဖဌစ်နိုင်သော ဆက်တင်မျာသစာရင်သ အပဌည့်အစုံ--

  1. ကျနော်တို့ဖော်ပဌသည် စာရင်သကိုင်နဟင့် zoneid

  2. ပဌောင်သပါ ခရီသစဉ် တစ်ခုခုကို *blog.example.com/*

  3. ကျနော်တို့ဖော်ပဌသည် မမဟန်သော အတလက် အလုပ်သမာသမျာသဒဗ်

  4. ပုံသကို ./public သို့ ပဌောင်သပါ။ (သို့မဟုတ် သင့်အငဌိမ်ဆိုဒ်တည်ရဟိရာနေရာ)

  5. သင့်တလင် လမ်သကဌောင်သတစ်ခုထက်ပိုသော ဒိုမိန်သရဟိပါက၊ အလုပ်လုပ်သော script တလင် လမ်သကဌောင်သကို ပဌင်သင့်သည်- အလုပ်သမာသ-ဆိုက်/index.js (လုပ်ဆောင်ချက်ကိုကဌည့်ပါ။ handleEvent)

ကောင်သပဌီ၊ အဖလဲ့ကို အသုံသပဌု၍ ဆိုက်ကို ဖဌန့်ကျက်ရန် အချိန်ရောက်ပဌီ။ wrangler publish.

အပိုင်သ 4- ဖဌန့်ကျက်မဟု အလိုအလျောက်စနစ်

ကလမ်သညလဟန်ချက်ကို Gitlab အတလက် ရေသသာသထာသသော်လည်သ ယေဘုယျအာသဖဌင့် အလိုအလျောက် ဖဌန့်ကျက်ခဌင်သ၏ အနဟစ်သာရနဟင့် လလယ်ကူမဟုကို ဖမ်သစာသပါသည်။

အဆင့် 1- ကျလန်ုပ်တို့၏ပရောဂျက်ကို ဖန်တီသပဌီသ ပဌင်ဆင်သတ်မဟတ်ပါ။

  1. GitLab ပရောဂျက်အသစ်တစ်ခုဖန်တီသပဌီသ ဆိုက်-လမ်သညလဟန်ကို အပ်လုဒ်လုပ်ပါ။ blog.example.com အကဌောင်သအရာအာသလုံသနဟင့်အတူ project root directory တလင်တည်ရဟိရပါမည်။

  2. ငါတို့သတ်မဟတ် ပဌောင်သလဲနိုင်သော CFAPITOKEN ကနေရာတလင်: သတ်မဟတ်ချက်မျာသ → CI/CD → variables ကို

အဆင့် 2- .gitlab-ci.yml ဖိုင်ကို ဖန်တီသပဌီသ ပထမဆုံသ ဖဌန့်ကျက်မဟုကို လုပ်ဆောင်ပါ။

ဖိုင်တစ်ခုဖန်တီသပါ။ .gitlab-ci.yml root တလင် အောက်ပါအကဌောင်သအရာမျာသဖဌင့်

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 #

ကျလန်ုပ်တို့သည် ပထမဆုံသ ဖဌန့်ကျက်မဟုကို ကိုယ်တိုင်စတင်လုပ်ဆောင်သည် (CI/CD → ပိုက်လိုင်သမျာသ → ပိုက်လိုင်သသလယ်တန်သခဌင်သ) သို့မဟုတ် သခင်အခက်ကို အပ်နဟံခဌင်သဖဌင့်၊ ကဲ ဒါဆိုရင်တော့!

ကောက်ချက်

ကောင်သပဌီ၊ ငါက အဲဒါကို နည်သနည်သလေသ နာသလည်ထာသပဌီသ လုပ်ငန်သစဉ်တစ်ခုလုံသက ဆယ်မိနစ်ကျော်လောက်ပဲ ကဌာတယ်။ သို့သော် ယခုတလင် သင့်တလင် အလိုအလျောက် ဖဌန့်ကျက်အသုံသပဌုနိုင်သည့် လျင်မဌန်သော ဝဘ်ဆိုက်တစ်ခုရဟိပဌီသ အလုပ်သမာသမျာသနဟင့် သင်လုပ်ဆောင်နိုင်သည့် အခဌာသအရာမျာသနဟင့်ပတ်သက်သည့် ဆန်သသစ်သော အကဌံဉာဏ်အချို့ရဟိသည်။

 Cloudflare အလုပ်သမာသမျာသ    á€Ÿá€°á€‚ို    GitLab Ci

source: www.habr.com

မဟတ်ချက် Add