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!
Итак, возможно, вы уже нашли для себя простой и дешевый способ хостинга сайта. Может быть, даже бесплатный, как описано в этойпрекрасной статье.
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ākouHugo, 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 ʻanaNā Pae Hana Hana.
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.
E hana kākou i ka pou mua: hugo new posts/my-amazing-post.md
Hoʻohui i ka ʻike i ka faila i hana ʻia: content/posts/my-amazing-post.md. Когда все сделано, меняем значение draft на wahahee
Генерируем статические файлы: 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, но они могли бы сделать как-то посимпатичней).
Шаг 2: Токен Cloudflare
My Profile -> Nā hōʻailona API papa-> Hana i ka hōʻailona -> Hana i ka hōʻailona maʻamau
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 → [правая боковая панель]
Naʻ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:
E hoʻouka i ka wrangler: npm i @cloudflare/wrangler -g
E hele kāua i ka papa kuhikuhi o kā mākou blog: cd blog.example.com
Запускаем wrangler: wrangler init — site hugo-worker
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):
E wehewehe accountid a me zoneid
Hoʻololi ala i kekahi mea e like me *blog.example.com/*
E wehewehewahaheeno ka mea, workersdev
Меняем bucket на ./public (a i ʻole kahi i loaʻa ai kāu kahua paʻa)
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: Создаем и настраиваем наш проект
Создаем новый проект GitLab и загружаем сайт: директория blog.example.com me nā mea a pau e loaʻa i loko o ka papa kuhikuhi kumu papahana
Hoʻonoho mākouloli CFAPITOKEN eia: Kāu Mau koho Paʻamau → CI / CD → Nā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.