Pehea e hana ai i kahi kahua paʻa ma Cloudflare Workers Sites

Aloha! ʻO Dima koʻu inoa, he alakaʻi loea wau no ka hui SysOps ma Wrike. Ma kēia ʻatikala e haʻi aku wau iā ʻoe pehea e hana ai i kahi pūnaewele e pili kokoke ana i ka mea hoʻohana ma 10 mau minuke a me 5 mau kālā i ka mahina a hoʻokaʻawale i kāna hoʻolaha. ʻAʻohe mea pili ka ʻatikala me nā pilikia a mākou e hoʻoponopono ai i loko o kā mākou hui. ʻO kēia kaʻu ʻike pilikino a me nā manaʻo o ka ʻike ʻana i kahi ʻenehana hou iaʻu. Ua hoʻāʻo wau e wehewehe i nā ʻanuʻu i nā kikoʻī e like me ka hiki i mea e pono ai nā ʻōlelo aʻoaʻo no nā poʻe me nā ʻike like ʻole. Manaʻo wau e hauʻoli ʻoe. Hele!

Pehea e hana ai i kahi kahua paʻa ma Cloudflare Workers Sites

Итак, возможно, вы уже нашли для себя простой и дешевый способ хостинга сайта. Может быть, даже бесплатный, как описано в этой прекрасной статье.

Akā ʻaʻole naʻe ʻoe ʻoluʻolu a makemake ʻoe e hoʻopā i ka honua hou o ka ʻenehana? E ʻōlelo mākou e noʻonoʻo ana ʻoe e pili ana i ka hoʻopololei ʻana a makemake ʻoe e wikiwiki i kāu pūnaewele e like me ka hiki? Ma kēiaʻatikala e hoʻohana mākou Hugo, akā he koho kēia.

Hoʻohana mākou iā Gitlab CI / CD no ka automation, akā pehea ka wikiwiki? E hoʻolālā pololei i ka pūnaewele i Cloudflare me ka hoʻohana ʻana Nā Pae Hana Hana.

Что требуется для старта:

Mahele 1: Hoʻokomo iā Hugo

Inā ua hoʻokomo mua ʻoe iā Hugo, a i ʻole makemake ʻoe i kahi mea hoʻohana pūnaewele static ʻē aʻe (a i ʻole hoʻohana i kekahi), a laila hiki iā ʻoe ke hoʻokuʻu i kēia ʻāpana.

  1. Hoʻoiho iā Hugo mai https://github.com/gohugoio/hugo/releases

  2. Hoʻonoho mākou i ka faila hoʻokō Hugo e like me kekahi o nā mea i wehewehe ʻia ma PATH путей

  3. Ke hana nei i kahi pūnaewele hou: hugo new site blog.example.com

  4. E hoʻololi i ka papa kuhikuhi i kēia manawa i ka mea i hana hou ʻia: cd blog.example.com

  5. E koho i kahi kumumanaʻo hoʻolālā (https://github.com/budparr/gohugo-theme-ananke/releases a i ʻole)

  6. E hana kākou i ka pou mua: hugo new posts/my-amazing-post.md

  7. Hoʻohui i ka ʻike i ka faila i hana ʻia: content/posts/my-amazing-post.md.
    Когда все сделано, меняем значение draft на wahahee

  8. Генерируем статические файлы: hugo -D

I kēia manawa aia kā mākou pūnaewele static i loko o kahi papa kuhikuhi ./ lehulehu a mākaukau no kāu hoʻolaha lima mua.

Mahele 2: Hoʻonohonoho i Cloudflare

I kēia manawa e nānā i ka hoʻonohonoho mua o Cloudflare. E manaʻo mākou ua loaʻa iā mākou kahi kikowaena no ka pūnaewele. E lawe kākou i laʻana blog.example.com.

KaʻAnuʻu Hana 1: E hana i kahi komo DNS

ʻO ka mea mua, koho i kā mākou kikowaena, a laila ka mea papa inoa pākuʻina kau. Hana mākou i kahi blog A-record a hōʻike i kekahi IP fictitious no ia (ʻo ia ka mana ʻōlelo paipai, но они могли бы сделать как-то посимпатичней).

Pehea e hana ai i kahi kahua paʻa ma Cloudflare Workers Sites

Шаг 2: Токен Cloudflare

  1. My Profile -> Nā hōʻailona API papa-> Hana i ka hōʻailona -> Hana i ka hōʻailona maʻamau

Pehea e hana ai i kahi kahua paʻa ma Cloudflare Workers Sites

Pono ʻoe e kaupalena i ka hōʻailona i nā moʻokāki a me nā ʻāpana, akā waiho i ka koho Hoʻoponopono no nā ʻae i helu ʻia ma ke kiʻi.

Сохраните токен на будущее, он понадобится нам в третьей части.

Шаг 3: Получаем accountid и zoneid

Domain Overview → [правая боковая панель]

Pehea e hana ai i kahi kahua paʻa ma Cloudflare Workers SitesNaʻu kēia, mai hoʻohana iā lākou :)

E mālama iā lākou ma ka ʻaoʻao o ka hōʻailona, ​​pono mākou iā lākou i ka hapakolu.

KaʻAnuʻu Hana 4: Ho'ā i nā mea hana

Domain hana Hoʻokele limahana

Koho mākou i kahi inoa kūʻokoʻa a me nā uku hana → ʻAʻohe ($5 i kēlā me kēia mahina i kēia lā). Inā makemake ʻoe, hiki iā ʻoe ke hoʻonui hou i ka mana manuahi.

Mahele 3: Hoʻolaha mua (ka hoʻolaha lima)

Ua hana au i ka hoʻolaha manual mua e ʻike i ka mea e hana maoli ana ma laila. ʻOiai hiki ke hana maʻalahi kēia mau mea:

  1. E hoʻouka i ka wrangler: npm i @cloudflare/wrangler -g

  2. E hele kāua i ka papa kuhikuhi o kā mākou blog: cd blog.example.com

  3. Запускаем wrangler: wrangler init — site hugo-worker

  4. E hana i kahi hoʻonohonoho no ka wrangler (e hoʻokomo i ka hōʻailona ke nīnau ʻia): wrangler config

I kēia manawa, e hoʻāʻo kākou e hoʻololi i ka faila i hana hou ʻia wrangler.toml (maanei papa inoa piha o nā hoʻonohonoho hiki):

  1. E wehewehe accountid a me zoneid

  2. Hoʻololi ala i kekahi mea e like me *blog.example.com/*

  3. E wehewehe wahahee no ka mea, workersdev

  4. Меняем bucket на ./public (a i ʻole kahi i loaʻa ai kāu kahua paʻa)

  5. Inā loaʻa iā ʻoe ma mua o hoʻokahi kikowaena ma ke ala, pono ʻoe e hoʻoponopono i ke ala ma ka palapala hana: kahua hana/index.js (e nānā i ka hana handleEvent)

Отлично, пора развертывать сайт с помощью команды wrangler publish.

Часть 4: Автоматизация деплоя

Ua kākau ʻia kēia alakaʻi no Gitlab, akā hopu ʻo ia i ke ʻano a me ka maʻalahi o ka hoʻoili ʻana ma ka laulā.

Шаг 1: Создаем и настраиваем наш проект

  1. Создаем новый проект GitLab и загружаем сайт: директория blog.example.com me nā mea a pau e loaʻa i loko o ka papa kuhikuhi kumu papahana

  2. Hoʻonoho mākou loli CFAPITOKEN eia: Kāu Mau koho Paʻamau CI / CDNānā

Шаг 2: Создаем файл  .gitlab-ci.yml и запускаем первое развертывание

Hana i kahi faila .gitlab-ci.yml i loko o ke kumu me kēia maʻiʻo:

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 ʻO Pipelines Holo Pipeline) a i ʻole ma ka hāʻawi ʻana i ka lālā kumu. Voila!

hopena

ʻAe, ua hoʻohaʻahaʻa iki paha wau, a ʻoi aku ka lōʻihi o ka hana holoʻokoʻa ma mua o ʻumi mau minuke. Akā i kēia manawa ua loaʻa iā ʻoe kahi pūnaewele wikiwiki me ka hoʻolaha maʻalahi a me kekahi mau manaʻo hou e pili ana i nā mea ʻē aʻe āu e hana ai me Workers.

 Mea Hana Cloudflare    Hugo    GitLab Ci

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka