ProHoster > Blog > Ma'muriyat > Cloudflare Workers saytlarida qanday qilib statik sayt yaratish mumkin
Cloudflare Workers saytlarida qanday qilib statik sayt yaratish mumkin
Salom! Mening ismim Dima, men Wrike-dagi SysOps jamoasining texnik rahbariman. Ushbu maqolada men sizga 10 daqiqada va oyiga 5 dollar ichida veb-saytni foydalanuvchiga iloji boricha yaqinroq qilish va uni joylashtirishni avtomatlashtirishni aytib beraman. Maqolaning bizning jamoamiz ichida hal qiladigan muammolarga deyarli hech qanday aloqasi yo'q. Bu mening shaxsiy tajribam va men uchun yangi texnologiya bilan tanishish taassurotlari. Ko'rsatmalar turli tajribaga ega bo'lgan odamlar uchun foydali bo'lishi uchun men qadamlarni iloji boricha batafsil tasvirlashga harakat qildim. Sizga yoqadi degan umiddaman. Bor!
Shunday qilib, ehtimol siz allaqachon veb-saytni joylashtirishning oddiy va arzon usulini topdingiz. Ehtimol, bu erda tasvirlanganidek, hatto bepulajoyib maqola.
Ammo to'satdan siz hali ham zerikasiz va texnologiyaning jasur yangi dunyosiga tegishni xohlaysizmi? Aytaylik, siz joylashtirishni avtomatlashtirish haqida o'ylayapsizmi va saytingizni iloji boricha tezlashtirishni xohlaysizmi? Ushbu maqolada biz foydalanamizHugo, lekin bu ixtiyoriy.
Biz avtomatlashtirish uchun Gitlab CI/CD dan foydalanamiz, ammo tezlashtirish haqida nima deyish mumkin? Keling, saytni to'g'ridan-to'g'ri Cloudflare-ga o'rnatamizIshchilar saytlari.
Agar sizda Hugo allaqachon o'rnatilgan bo'lsa yoki boshqa statik sayt generatorini afzal ko'rsangiz (yoki umuman foydalanmasangiz), bu qismni o'tkazib yuborishingiz mumkin.
Keling, birinchi postni yarataylik: hugo new posts/my-amazing-post.md
Yaratilgan faylga tarkib qo'shing: content/posts/my-amazing-post.md. Hamma narsa tugagach, qoralama qiymatini o'zgartiring yolg'on
Statik fayllarni yaratish: hugo -D
Endi bizning statik saytimiz katalog ichida joylashgan ./ommaviy va birinchi qo'lda joylashtirishingizga tayyor.
2-qism: Cloudflare-ni sozlash
Endi Cloudflare-ning dastlabki sozlamalarini ko'rib chiqamiz. Aytaylik, bizda allaqachon sayt uchun domen mavjud. Misol tariqasida olaylik blog.example.com.
1-qadam: DNS yozuvini yarating
Birinchidan, bizning domenimizni, keyin esa menyu bandini tanlang DNS. Biz A-record blogini yaratamiz va u uchun qandaydir xayoliy IP-ni ko'rsatamiz (bu rasmiytavsiya, lekin ular buni biroz chiroyliroq qilishlari mumkin edi).
2-qadam: Cloudflare tokeni
Mening profilim -> API tokenlari tab-> Token yarating -> Maxsus token yarating
Bu erda siz tokenni hisoblar va zonalar bilan cheklashingiz kerak bo'ladi, lekin rasmda ko'rsatilgan ruxsatlar uchun Tahrirlash opsiyasini qoldiring.
Tokenni kelajak uchun saqlang, uchinchi qismda bizga kerak bo'ladi.
3-qadam: Buxgalteriya hisobi va zonani oling
domen β haqida umumiy ma'lumot β [oβng yon panel]
Bular meniki, ulardan foydalanmang, iltimos :)
Ularni token yonida saqlang, uchinchi qismda bizga ham kerak bo'ladi.
4-qadam: Ishchilarni faollashtirish
domen β ishchilar β Ishchilarni boshqarish
Biz noyob nom va tarifni tanlaymiz Ishchilar β Cheksiz (bugungi kunda oyiga $ 5). Agar xohlasangiz, keyinchalik bepul versiyaga yangilashingiz mumkin.
3-qism: Birinchi o'rnatish (qo'lda joylashtirish)
Men u erda nima bo'layotganini bilish uchun birinchi qo'lda joylashtirishni qildim. Garchi bularning barchasini oddiyroq qilish mumkin:
Wranglerni o'rnating: npm i @cloudflare/wrangler -g
Keling, blogimizning katalogiga o'tamiz: cd blog.example.com
Wranglerni ishga tushiring: wrangler init β site hugo-worker
Wrangler uchun konfiguratsiya yarating (so'ralganda tokenni kiriting): wrangler config
Endi yangi yaratilgan faylga o'zgartirish kiritishga harakat qilaylik wrangler.toml (shu yerda mumkin bo'lgan sozlamalarning to'liq ro'yxati):
Belgilash hisob va zonaid
O'zgartirish yo'nalish kabi bir narsaga *blog.example.com/*
Belgilashyolg'onuchun ishchilardev
Paqirni ./public ga o'zgartiring (yoki statik saytingiz qaerda joylashgan)
Agar yo'lda bir nechta domeningiz bo'lsa, ishchi skriptdagi yo'lni to'g'rilashingiz kerak: ishchilar-sayt/index.js (funktsiyaga qarang handleEvent)
Ajoyib, jamoa yordamida saytni joylashtirish vaqti keldiwrangler publish.
4-qism: Joylashtirishni avtomatlashtirish
Ushbu qo'llanma Gitlab uchun yozilgan, ammo u umuman avtomatlashtirilgan joylashtirishning mohiyati va qulayligini qamrab oladi.
1-qadam: Loyihamizni yarating va sozlang
Yangi GitLab loyihasini yarating va saytni yuklang: katalog blog.example.com barcha mazmuni bilan loyihaning ildiz katalogida joylashgan bo'lishi kerak
Biz o'rnatdiko'zgaruvchan CFAPITOKEN bu yerda: Sozlamalar β CI / CD β Argumentlar
2-qadam: .gitlab-ci.yml faylini yarating va birinchi joylashtirishni ishga tushiring
Fayl yarating .gitlab-ci.yml ildizda quyidagi tarkibga ega:
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 #
Biz birinchi joylashtirishni qo'lda ishga tushiramiz (CI/CD β Quvurlar β Quvurni ishga tushirish) yoki asosiy filialga murojaat qilish orqali. Voila!
xulosa
Xo'sh, men buni biroz pasaytirgandirman va butun jarayon o'n daqiqadan ko'proq vaqtni oldi. Ammo endi sizda avtomatik joylashtirishga ega tezkor sayt va Ishchilar bilan yana nima qilish mumkinligi haqida yangi fikrlar mavjud.