Как Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ статичСн сайт Π½Π° Cloudflare Workers Sites

Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅! Казвам сС Π”ΠΈΠΌΠ°, Π°Π· съм тСхничСски Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π» Π½Π° Π΅ΠΊΠΈΠΏΠ° SysOps Π² Wrike. Π’ Ρ‚Π°Π·ΠΈ статия Ρ‰Π΅ Π²ΠΈ ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ уСбсайт възмоТно Π½Π°ΠΉ-Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ потрСбитСля Π·Π° 10 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ ΠΈ 5 Π΄ΠΎΠ»Π°Ρ€Π° Π½Π° мСсСц ΠΈ Π΄Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ внСдряванС. Бтатията няма ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΡ‰ΠΎ ΠΎΠ±Ρ‰ΠΎ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Ρ€Π΅ΡˆΠ°Π²Π°ΠΌΠ΅ Π² нашия Π΅ΠΊΠΈΠΏ. Π’ΠΎΠ²Π° Π΅ ΠΏΠΎ-скоро Π»ΠΈΡ‡Π΅Π½ ΠΎΠΏΠΈΡ‚ ΠΈ впСчатлСния ΠΎΡ‚ запознанството с Π΅Π΄Π½Π° Π½ΠΎΠ²Π° Π·Π° ΠΌΠ΅Π½ тСхнология. ΠŸΠΎΡΡ‚Π°Ρ€Π°Ρ… сС Π΄Π° опиша ΡΡ‚ΡŠΠΏΠΊΠΈΡ‚Π΅ възмоТно Π½Π°ΠΉ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, Π·Π° Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ инструкциитС ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π·Π° Ρ…ΠΎΡ€Π° с Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ ΠΎΠΏΠΈΡ‚. Надявам сС, Ρ‡Π΅ Ρ‰Π΅ сС насладитС. ΠžΡ‚ΠΈΠ²Π°ΠΌ!

Как Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ статичСн сайт Π½Π° Cloudflare Workers Sites

И Ρ‚Π°ΠΊΠ°, ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π²Π΅Ρ‡Π΅ стС Π½Π°ΠΌΠ΅Ρ€ΠΈΠ»ΠΈ прост ΠΈ Π΅Π²Ρ‚ΠΈΠ½ Π½Π°Ρ‡ΠΈΠ½ Π΄Π° хостватС уСбсайт. МоТС Π±ΠΈ Π΄ΠΎΡ€ΠΈ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎ, ΠΊΠ°ΠΊΡ‚ΠΎ Π΅ описано Π² Ρ‚ΠΎΠ²Π° страхотна статия.

Но извСднъТ всС ΠΎΡ‰Π΅ скучаСтС ΠΈ искатС Π΄Π° сС докоснСтС Π΄ΠΎ смСлия Π½ΠΎΠ² свят Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΡ‚Π΅? Π”Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ΠΌ, Ρ‡Π΅ мислитС Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° внСдряванСто ΠΈ Π±ΠΈΡ…Ρ‚Π΅ искали Π΄Π° ускоритС сайта си възмоТно Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ? Π’ Ρ‚Π°Π·ΠΈ статия Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π£Π³ΠΎ, Π½ΠΎ Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ.

ИзползвамС Gitlab CI/CD Π·Π° автоматизация, Π½ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ Π·Π° ускорСниСто? НСка Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ сайта Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² Cloudflare, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ РаботничСски сайтовС.

Какво Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° стартиранС:

Част 1: Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅ Π½Π° Hugo

Ако Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ°Ρ‚Π΅ инсталиран Hugo ΠΈΠ»ΠΈ Π°ΠΊΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ статичСн Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π° сайтовС (ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Ρ‚Π°ΠΊΡŠΠ²), Ρ‚ΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° пропуснСтС Ρ‚Π°Π·ΠΈ част.

  1. Π˜Π·Ρ‚Π΅Π³Π»Π΅Ρ‚Π΅ Hugo ΠΎΡ‚ https://github.com/gohugoio/hugo/releases

  2. ΠŸΠΎΡΡ‚Π°Π²ΡΠΌΠ΅ изпълнимия Ρ„Π°ΠΉΠ» Π½Π° Hugo спорСд Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Π² 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 запис

ΠŸΡŠΡ€Π²ΠΎ ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ нашия Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΈ слСд Ρ‚ΠΎΠ²Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚Π° ΠΎΡ‚ ΠΌΠ΅Π½ΡŽΡ‚ΠΎ DNS. БъздавамС A-запис Π½Π° Π±Π»ΠΎΠ³ ΠΈ посочвамС някакъв Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π΅Π½ IP Π·Π° Π½Π΅Π³ΠΎ (Ρ‚ΠΎΠ²Π° Π΅ официалният ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΠΊΠ°, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ…Π° Π΄Π° Π³ΠΎ направят ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-красив).

Как Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ статичСн сайт Π½Π° Cloudflare Workers Sites

Π‘Ρ‚ΡŠΠΏΠΊΠ° 2: Cloudflare Token

  1. ΠœΠΎΡΡ‚ ΠΏΡ€ΠΎΡ„ΠΈΠ» -> API Ρ‚ΠΎΠΊΠ΅Π½ΠΈ Ρ€Π°Π·Π΄Π΅Π»-> БъздаванС Π½Π° Ρ‚ΠΎΠΊΠ΅Π½ -> Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ пСрсонализиран Ρ‚ΠΎΠΊΠ΅Π½

Как Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ статичСн сайт Π½Π° Cloudflare Workers Sites

Π’ΡƒΠΊ Ρ‰Π΅ трябва Π΄Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅ Ρ‚ΠΎΠΊΠ΅Π½Π° Π΄ΠΎ Π°ΠΊΠ°ΡƒΠ½Ρ‚ΠΈ ΠΈ Π·ΠΎΠ½ΠΈ, Π½ΠΎ оставСтС опцията Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π·Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ‚Π°, ΠΈΠ·Π±Ρ€ΠΎΠ΅Π½ΠΈ Π½Π° снимката.

Π—Π°ΠΏΠ°Π·Π΅Ρ‚Π΅ Ρ‚ΠΎΠΊΠ΅Π½Π° Π·Π° Π±ΡŠΠ΄Π΅Ρ‰Π΅Ρ‚ΠΎ, Ρ‰Π΅ Π½ΠΈ трябва Π² Ρ‚Ρ€Π΅Ρ‚Π°Ρ‚Π° част.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 3: Π’Π·Π΅ΠΌΠ΅Ρ‚Π΅ accountid ΠΈ zoneid

Π΄ΠΎΠΌΠ΅ΠΉΠ½ β†’ Overview β†’ [дясна странична Π»Π΅Π½Ρ‚Π°]

Как Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ статичСн сайт Π½Π° Cloudflare Workers SitesΠ’Π΅Π·ΠΈ са ΠΌΠΎΠΈ, Π½Π΅ Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅, моля :)

Π—Π°ΠΏΠ°Π·Π΅Ρ‚Π΅ Π³ΠΈ Π΄ΠΎ ΠΆΠ΅Ρ‚ΠΎΠ½Π°, Ρ‰Π΅ Π½ΠΈ трябват ΠΈ Π² Ρ‚Ρ€Π΅Ρ‚Π°Ρ‚Π° част.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 4: АктивирайтС Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈΡ‚Π΅

Π΄ΠΎΠΌΠ΅ΠΉΠ½ β†’ Π Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈΡ‚Π΅ β†’ Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈΡ‚Π΅

НиС ΠΈΠ·Π±ΠΈΡ€Π°ΠΌΠ΅ ΡƒΠ½ΠΈΠΊΠ°Π»Π½ΠΎ ΠΈΠΌΠ΅ ΠΈ Ρ‚Π°Ρ€ΠΈΡ„Π° Workers β†’ Unlimited ($5 Π½Π° мСсСц днСс). Ако ΠΆΠ΅Π»Π°Π΅Ρ‚Π΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎ-късно Π΄Π° надстроитС Π΄ΠΎ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½Π°Ρ‚Π° вСрсия.

Част 3: ΠŸΡŠΡ€Π²ΠΎ внСдряванС (Ρ€ΡŠΡ‡Π½ΠΎ внСдряванС)

Направих ΠΏΡŠΡ€Π²ΠΎΡ‚ΠΎ Ρ€ΡŠΡ‡Π½ΠΎ внСдряванС, Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π° ΠΊΠ°ΠΊΠ²ΠΎ наистина сС случва Ρ‚Π°ΠΌ. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ всичко Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΏΠΎ-просто:

  1. Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΉΡ‚Π΅ wrangler: npm i @cloudflare/wrangler -g

  2. Π”Π° ΠΎΡ‚ΠΈΠ΄Π΅ΠΌ Π² дирСкторията Π½Π° нашия Π±Π»ΠΎΠ³: cd blog.example.com

  3. Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ Wrangler: wrangler init β€” site hugo-worker

  4. Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ конфигурация Π·Π° wrangler (Π²ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅ Ρ‚ΠΎΠΊΠ΅Π½Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π±ΡŠΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΠΏΠΈΡ‚Π°Π½ΠΈ): wrangler config

Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° сС ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² новосъздадСния Ρ„Π°ΠΉΠ» wrangler.toml (Ρ‚ΡƒΠΊ пълСн списък с възмоТни настройки):

  1. ΠŸΠΎΡΠΎΡ‡Π²Π°ΠΌΠ΅ accountid ΠΈ zoneid

  2. НиС сС промСнямС ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ Π½Π° Π½Π΅Ρ‰ΠΎ ΠΊΠ°Ρ‚ΠΎ *blog.example.com/*

  3. ΠŸΠΎΡΠΎΡ‡Π²Π°ΠΌΠ΅ Ρ„Π°Π»ΡˆΠΈΠ² Π·Π° worksdev

  4. ΠŸΡ€ΠΎΠΌΠ΅Π½Π΅Ρ‚Π΅ ΠΊΠΎΡ„Π°Ρ‚Π° Π½Π° ./public (ΠΈΠ»ΠΈ къдС сС Π½Π°ΠΌΠΈΡ€Π° Π²Π°ΡˆΠΈΡΡ‚ статичСн сайт)

  5. Ако ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ Π΅Π΄ΠΈΠ½ Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π² ΠΏΡŠΡ‚Ρ, Ρ‚ΠΎΠ³Π°Π²Π° трябва Π΄Π° ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ‚Π΅ ΠΏΡŠΡ‚Ρ Π² работния скрипт: Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈ-сайт/index.js (Π²ΠΈΠΆ функция handleEvent)

Π‘Ρ‚Ρ€Π°Ρ…ΠΎΡ‚Π½ΠΎ, Π²Ρ€Π΅ΠΌΠ΅ Π΅ Π΄Π° Π²Π½Π΅Π΄Ρ€ΠΈΠΌ сайта с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π΅ΠΊΠΈΠΏΠ° wrangler publish.

Част 4: Автоматизация Π½Π° внСдряванСто

Π’ΠΎΠ²Π° Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π΅ написано Π·Π° Gitlab, Π½ΠΎ улавя ΡΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° ΠΈ Π»Π΅ΠΊΠΎΡ‚Π°Ρ‚Π° Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½ΠΎΡ‚ΠΎ внСдряванС ΠΊΠ°Ρ‚ΠΎ цяло.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 1: Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΉΡ‚Π΅ нашия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

  1. Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° GitLab ΠΈ ΠΊΠ°Ρ‡Π΅Ρ‚Π΅ дирСкторията site: blog.example.com с цялото ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ трябва Π΄Π° сС Π½Π°ΠΌΠΈΡ€Π° Π² основната дирСктория Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

  2. НиС поставихмС ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° CFAPITOKEN Ρ‚ΡƒΠΊ: Настройки β†’ CI / CD β†’ ΠŸΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ

Π‘Ρ‚ΡŠΠΏΠΊΠ° 2: Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» .gitlab-ci.yml ΠΈ стартирайтС ΠΏΡŠΡ€Π²ΠΎΡ‚ΠΎ внСдряванС

Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» .gitlab-ci.yml Π² ΠΊΠΎΡ€Π΅Π½Π° със слСдното ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅:

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 β†’ Π’Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈ β†’ ИзпълнСниС Π½Π° Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄) ΠΈΠ»ΠΈ Ρ‡Ρ€Π΅Π· ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½Π΅ с главния ΠΊΠ»ΠΎΠ½. Π•Ρ‚ΠΎ!

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π•, ΠΌΠΎΠΆΠ΅ Π±ΠΈ съм Π³ΠΎ ΠΏΠΎΠ΄Ρ†Π΅Π½ΠΈΠ» Π»Π΅ΠΊΠΎ ΠΈ цСлият процСс ΠΎΡ‚Π½Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ дСсСт ΠΌΠΈΠ½ΡƒΡ‚ΠΈ. Но сСга ΠΈΠΌΠ°Ρ‚Π΅ Π±ΡŠΡ€Π· сайт с Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ внСдряванС ΠΈ някои свСТи ΠΈΠ΄Π΅ΠΈ Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊΠ²ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ с Workers.

 Π Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈ Π½Π° Cloudflare    Π£Π³ΠΎ    GitLab Ci

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€