เช•เซเชฒเชพเช‰เชกเชซเซเชฒเซ‡เชฐ เชตเชฐเซเช•เชฐเซเชธ เชธเชพเช‡เชŸเซเชธ เชชเชฐ เชธเซเชฅเชฟเชฐ เชธเชพเช‡เชŸ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซ€

เชจเชฎเชธเซเชคเซ‡! เชฎเชพเชฐเซเช‚ เชจเชพเชฎ เชฆเชฟเชฎเชพ เช›เซ‡, เชนเซเช‚ Wrike เช–เชพเชคเซ‡ SysOps เชŸเซ€เชฎ เชฎเชพเชŸเซ‡ เชŸเซ‡เช•เชจเชฟเช•เชฒ เชฒเซ€เชก เช›เซเช‚. เช† เชฒเซ‡เช–เชฎเชพเช‚ เชนเซเช‚ เชคเชฎเชจเซ‡ เชœเชฃเชพเชตเซ€เชถ เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชตเซ‡เชฌเชธเชพเช‡เชŸเชจเซ‡ 10 เชฎเชฟเชจเชฟเชŸเชฎเชพเช‚ เช…เชจเซ‡ 5 เชกเซ‰เชฒเชฐเชฎเชพเช‚ เชฎเชนเชฟเชจเซ‡ เชถเช•เซเชฏ เชคเซ‡เชŸเชฒเซ€ เชจเชœเซ€เช•เชจเซ€ เชตเซ‡เชฌเชธเชพเช‡เชŸ เชฌเชจเชพเชตเชตเซ€ เช…เชจเซ‡ เชคเซ‡เชจเซ€ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸเชจเซ‡ เชธเซเชตเชšเชพเชฒเชฟเชค เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ€. เช…เชฎเซ‡ เช…เชฎเชพเชฐเซ€ เชŸเซ€เชฎเชฎเชพเช‚ เชœเซ‡ เชธเชฎเชธเซเชฏเชพเช“ เชนเชฒ เช•เชฐเซ€เช เช›เซ€เช เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชฒเซ‡เช–เชจเซ‡ เชฒเช—เชญเช— เช•เช‚เชˆ เชฒเซ‡เชตเชพเชฆเซ‡เชตเชพ เชจเชฅเซ€. เช† เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชจเชตเซ€ เชŸเซ‡เช•เซเชจเซ‹เชฒเซ‹เชœเซ€เชจเซ‡ เชœเชพเชฃเชตเชพเชจเซ‹ เชฎเชพเชฐเซ‹ เช…เช‚เช—เชค เช…เชจเซเชญเชต เช…เชจเซ‡ เช›เชพเชช เช›เซ‡. เชฎเซ‡เช‚ เชถเช•เซเชฏ เชคเซ‡เชŸเชฒเซ€ เชตเชงเซ เชตเชฟเช—เชคเชตเชพเชฐ เชชเช—เชฒเชพเช‚เช“เชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซเชฏเซ‹ เชœเซ‡เชฅเซ€ เชธเซ‚เชšเชจเชพเช“ เชตเชฟเชตเชฟเชง เช…เชจเซเชญเชต เชงเชฐเชพเชตเชคเชพ เชฒเซ‹เช•เซ‹ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชพเชฏ. เชนเซเช‚ เช†เชถเชพ เชฐเชพเช–เซเช‚ เช›เซเช‚ เช•เซ‡ เชคเชฎเซ‡ เช†เชจเช‚เชฆ เช•เชฐเชถเซ‹. เชœเชพเช“!

เช•เซเชฒเชพเช‰เชกเชซเซเชฒเซ‡เชฐ เชตเชฐเซเช•เชฐเซเชธ เชธเชพเช‡เชŸเซเชธ เชชเชฐ เชธเซเชฅเชฟเชฐ เชธเชพเช‡เชŸ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซ€

เชคเซ‡เชฅเซ€, เช•เชฆเชพเชš เชคเชฎเซ‡ เชตเซ‡เชฌเชธเชพเช‡เชŸเชจเซ‡ เชนเซ‹เชธเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชเช• เชธเชฐเชณ เช…เชจเซ‡ เชธเชธเซเชคเซ€ เชฐเซ€เชค เชถเซ‹เชงเซ€ เชฒเซ€เชงเซ€ เช›เซ‡. เช•เชฆเชพเชš เชฎเชซเชค เชชเชฃ, เช†เชฎเชพเช‚ เชตเชฐเซเชฃเชตเซเชฏเชพ เชฎเซเชœเชฌ เชฎเชนเชพเชจ เชฒเซ‡เช–.

เชชเชฐเช‚เชคเซ เช…เชšเชพเชจเช• เชคเชฎเซ‡ เชนเชœเซ เชชเชฃ เช•เช‚เชŸเชพเชณเซ€ เช—เชฏเชพ เช›เซ‹ เช…เชจเซ‡ เชŸเซ‡เช•เซเชจเซ‹เชฒเซ‹เชœเซ€เชจเซ€ เชฌเชนเชพเชฆเซเชฐ เชจเชตเซ€ เชฆเซเชจเชฟเชฏเชพเชจเซ‡ เชธเซเชชเชฐเซเชถ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ‹ เช›เซ‹? เชšเชพเชฒเซ‹ เช•เชนเซ€เช เช•เซ‡ เชคเชฎเซ‡ เชธเซเชตเชšเชพเชฒเชฟเชค เชœเชฎเชพเชตเชŸ เชตเชฟเชถเซ‡ เชตเชฟเชšเชพเชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹ เช…เชจเซ‡ เชถเช•เซเชฏ เชคเซ‡เชŸเชฒเซ€ เชคเชฎเชพเชฐเซ€ เชธเชพเช‡เชŸเชจเซ‡ เชเชกเชชเซ€ เชฌเชจเชพเชตเชตเชพ เชฎเชพเช‚เช—เซ‹ เช›เซ‹? เช† เชฒเซ‡เช–เชฎเชพเช‚ เช†เชชเชฃเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚ เชนเซเชฏเซเช—เซ‹, เชชเชฐเช‚เชคเซ เช† เชตเซˆเช•เชฒเซเชชเชฟเช• เช›เซ‡.

เช…เชฎเซ‡ เช“เชŸเซ‹เชฎเซ‡เชถเชจ เชฎเชพเชŸเซ‡ Gitlab CI/CD เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช, เชชเชฐเช‚เชคเซ เชชเซเชฐเชตเซ‡เช—เช• เชตเชฟเชถเซ‡ เชถเซเช‚? เชšเชพเชฒเซ‹ Cloudflare เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเชพเช‡เชŸเชจเซ‡ เชธเซ€เชงเซ€ เชฐเซ€เชคเซ‡ เชœเชฎเชพเชตเซ€เช เชตเชฐเซเช•เชฐ เชธเชพเช‡เชŸเซเชธ.

เชถเชฐเซ‚ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชถเซเช‚ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡:

เชญเชพเช— 1: เชนเซเชฏเซเช—เซ‹ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชนเซเชฏเซเช—เซ‹ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒ เช›เซ‡, เช…เชฅเชตเชพ เชœเซ‹ เชคเชฎเซ‡ เช…เชฒเช— เชธเซเชŸเซ‡เชŸเชฟเช• เชธเชพเช‡เชŸ เชœเชจเชฐเซ‡เชŸเชฐ เชชเชธเช‚เชฆ เช•เชฐเซ‹ เช›เซ‹ (เช…เชฅเชตเชพ เชเช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเชพ เชจเชฅเซ€), เชคเซ‹ เชคเชฎเซ‡ เช† เชญเชพเช— เช›เซ‹เชกเซ€ เชถเช•เซ‹ เช›เซ‹.

  1. เชฎเชพเช‚เชฅเซ€ เชนเซเชฏเซเช—เซ‹ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ‹ https://github.com/gohugoio/hugo/releases

  2. เช…เชฎเซ‡ เชนเซเชฏเซเช—เซ‹ เชเช•เซเชเซ‡เช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเช‡เชฒเชฎเชพเช‚ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชพเชฏเซ‡เชฒเชพ เชเช• เช…เชจเซเชธเชพเชฐ เชฎเซ‚เช•เซ€เช เช›เซ€เช เชชเชพเชฅ เชฎเชพเชฐเซเช—เซ‹

  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. เช…เชฎเซ‡ เชเช• เชฌเซเชฒเซ‹เช— เช-เชฐเซ‡เช•เซ‹เชฐเซเชก เชฌเชจเชพเชตเซ€เช เช›เซ€เช เช…เชจเซ‡ เชคเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เช•เซ‡เชŸเชฒเชพเช• เช•เชพเชฒเซเชชเชจเชฟเช• IP เชธเซ‚เชšเชตเซ€เช เช›เซ€เช (เช† เชธเชคเซเชคเชพเชตเชพเชฐ เช›เซ‡ เชญเชฒเชพเชฎเชฃ, เชชเชฐเช‚เชคเซ เชคเซ‡เช“ เชคเซ‡เชจเซ‡ เชฅเซ‹เชกเซเช‚ เชธเซเช‚เชฆเชฐ เชฌเชจเชพเชตเซ€ เชถเช•เซเชฏเชพ เชนเซ‹เชค).

เช•เซเชฒเชพเช‰เชกเชซเซเชฒเซ‡เชฐ เชตเชฐเซเช•เชฐเซเชธ เชธเชพเช‡เชŸเซเชธ เชชเชฐ เชธเซเชฅเชฟเชฐ เชธเชพเช‡เชŸ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซ€

เชชเช—เชฒเซเช‚ 2: Cloudflare เชŸเซ‹เช•เชจ

  1. เชฎเชพเชฐเซ€ เชชเซเชฐเซ‹เชซเชพเชˆเชฒ -> API เชŸเซ‹เช•เชจเซเชธ เชŸเซ‡เชฌ-> เชŸเซ‹เช•เชจ เชฌเชจเชพเชตเซ‹ -> เช•เชธเซเชŸเชฎ เชŸเซ‹เช•เชจ เชฌเชจเชพเชตเซ‹

เช•เซเชฒเชพเช‰เชกเชซเซเชฒเซ‡เชฐ เชตเชฐเซเช•เชฐเซเชธ เชธเชพเช‡เชŸเซเชธ เชชเชฐ เชธเซเชฅเชฟเชฐ เชธเชพเช‡เชŸ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซ€

เช…เชนเซ€เช‚ เชคเชฎเชพเชฐเซ‡ เชŸเซ‹เช•เชจเชจเซ‡ เชเช•เชพเช‰เชจเซเชŸเซเชธ เช…เชจเซ‡ เชเซ‹เชจ เชธเซเชงเซ€ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡, เชชเชฐเช‚เชคเซ เชšเชฟเชคเซเชฐเชฎเชพเช‚ เชธเซ‚เชšเชฟเชฌเชฆเซเชง เชชเชฐเชตเชพเชจเช—เซ€เช“ เชฎเชพเชŸเซ‡ เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเซ‹ เชตเชฟเช•เชฒเซเชช เช›เซ‹เชกเซ‹.

เชญเชตเชฟเชทเซเชฏ เชฎเชพเชŸเซ‡ เชŸเซ‹เช•เชจ เชธเชพเชšเชตเซ‹, เช…เชฎเชจเซ‡ เชคเซเชฐเซ€เชœเชพ เชญเชพเช—เชฎเชพเช‚ เชคเซ‡เชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡.

เชชเช—เชฒเซเช‚ 3: เชเช•เชพเช‰เชจเซเชŸเซ€เชก เช…เชจเซ‡ เชเซ‹เชจเซ€เชก เชฎเซ‡เชณเชตเซ‹

เชกเซ‹เชฎเซ‡เชจ โ†’ เชเชพเช‚เช–เซ€ โ†’ [เชœเชฎเชฃเซ€ เชธเชพเช‡เชกเชฌเชพเชฐ]

เช•เซเชฒเชพเช‰เชกเชซเซเชฒเซ‡เชฐ เชตเชฐเซเช•เชฐเซเชธ เชธเชพเช‡เชŸเซเชธ เชชเชฐ เชธเซเชฅเชฟเชฐ เชธเชพเช‡เชŸ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซ€เช† เชฎเชพเชฐเชพ เช›เซ‡, เช•เซƒเชชเชพ เช•เชฐเซ€เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚ :)

เชคเซ‡เชฎเชจเซ‡ เชŸเซ‹เช•เชจเชจเซ€ เชฌเชพเชœเซเชฎเชพเช‚ เชธเชพเชšเชตเซ‹, เช…เชฎเชจเซ‡ เชคเซเชฐเซ€เชœเชพ เชญเชพเช—เชฎเชพเช‚ เชชเชฃ เชคเซ‡เชฎเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡.

เชชเช—เชฒเซเช‚ 4: เช•เชพเชฎเชฆเชพเชฐเซ‹เชจเซ‡ เชธเช•เซเชฐเชฟเชฏ เช•เชฐเซ‹

เชกเซ‹เชฎเซ‡เชจ โ†’ เช•เชพเชฎเชฆเชพเชฐ โ†’ เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸ เช•เชพเชฎเชฆเชพเชฐเซ‹

เช…เชฎเซ‡ เชเช• เช…เชจเชจเซเชฏ เชจเชพเชฎ เช…เชจเซ‡ เชŸเซ‡เชฐเชฟเชซ เชตเชฐเซเช•เชฐเซเชธ โ†’ เช…เชจเชฒเชฟเชฎเชฟเชŸเซ‡เชก (เช†เชœเซ‡ เชฆเชฐ เชฎเชนเชฟเชจเซ‡ $5) เชชเชธเช‚เชฆ เช•เชฐเซ€เช เช›เซ€เช. เชœเซ‹ เชคเชฎเซ‡ เชˆเชšเซเช›เซ‹, เชคเซ‹ เชคเชฎเซ‡ เชชเช›เซ€เชฅเซ€ เชฎเชซเชค เชธเช‚เชธเซเช•เชฐเชฃ เชชเชฐ เช…เชชเช—เซเชฐเซ‡เชก เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชญเชพเช— 3: เชชเซเชฐเชฅเชฎ เชœเชฎเชพเชตเชŸ (เชฎเซ‡เชจเซเชฏเซเช…เชฒ เชœเชฎเชพเชตเชŸ)

เชคเซเชฏเชพเช‚ เช–เชฐเซ‡เช–เชฐ เชถเซเช‚ เชšเชพเชฒเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡ เชคเซ‡ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ เชฎเซ‡เช‚ เชชเซเชฐเชฅเชฎ เชฎเซ‡เชจเซเชฏเซเช…เชฒ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ เช•เชฐเซเชฏเซเช‚. เชœเซ‹ เช•เซ‡ เช† เชฌเชงเซเช‚ เชธเชฐเชณ เชฐเซ€เชคเซ‡ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡:

  1. เชฐเซ‡เช‚เช—เชฒเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹: npm i @cloudflare/wrangler -g

  2. เชšเชพเชฒเซ‹ เช†เชชเชฃเชพ เชฌเซเชฒเซ‹เช—เชจเซ€ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชชเชฐ เชœเชˆเช: cd blog.example.com

  3. เชฒเซ‰เชจเซเชš เชฐเซ‡เช‚เช—เชฒเชฐ: wrangler init โ€” site hugo-worker

  4. เชฐเซ‡เช‚เช—เชฒเชฐ เชฎเชพเชŸเซ‡ เชเช• เชฐเซ‚เชชเชฐเซ‡เช–เชพ เชฌเชจเชพเชตเซ‹ (เชœเซเชฏเชพเชฐเซ‡ เชชเซ‚เช›เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซเชฏเชพเชฐเซ‡ เชŸเซ‹เช•เชจ เชฆเชพเช–เชฒ เช•เชฐเซ‹): wrangler config

เชนเชตเซ‡ เชšเชพเชฒเซ‹ เชจเชตเซ€ เชฌเชจเชพเชตเซ‡เชฒเซ€ เชซเชพเชˆเชฒเชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€เช wrangler.toml (เช…เชนเซ€เช‚ เชธเช‚เชญเชตเชฟเชค เชธเซ‡เชŸเชฟเช‚เช—เซเชธเชจเซ€ เชธเช‚เชชเซ‚เชฐเซเชฃ เชธเซ‚เชšเชฟ):

  1. เชธเซ‚เชšเชตเซ‹ เชเช•เชพเช‰เชจเซเชŸเซ€เชก เช…เชจเซ‡ เชเซ‹เชจเซ€เชก

  2. เช…เชฎเซ‡ เชฌเชฆเชฒเซ€เช เช›เซ€เช เชฎเชพเชฐเซเช— เช•เช‚เชˆเช• เชœเซ‡เชฎ เช•เซ‡ *blog.example.com/*

  3. เชธเซ‚เชšเชตเซ‹ เช–เซ‹เชŸเซเช‚ เชฎเชพเชŸเซ‡ เช•เชพเชฎเชฆเชพเชฐเชฆเซ‡เชต

  4. เชฌเช•เซ‡เชŸเชจเซ‡ ./public เชฎเชพเช‚ เชฌเชฆเชฒเซ‹ (เช…เชฅเชตเชพ เชœเซเชฏเชพเช‚ เชคเชฎเชพเชฐเซ€ เชธเซเชฅเชฟเชฐ เชธเชพเช‡เชŸ เชธเซเชฅเชฟเชค เช›เซ‡)

  5. เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชชเชพเชฅเชฎเชพเช‚ เชเช• เช•เชฐเชคเชพเช‚ เชตเชงเซ เชกเซ‹เชฎเซ‡เชจ เช›เซ‡, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เช•เชพเชฐเซเชฏเช•เชพเชฐเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เชชเชพเชฅเชจเซ‡ เช เซ€เช• เช•เชฐเชตเซ‹ เชœเซ‹เชˆเช: Workers-site/index.js (เช•เชพเชฐเซเชฏ เชœเซเช“ เชนเซ‡เชจเซเชกเชฒ เช‡เชตเซ‡เชจเซเชŸ)

เชธเชฐเชธ, เชŸเซ€เชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเชพเช‡เชŸเชจเซ‡ เชœเชฎเชพเชตเชตเชพเชจเซ‹ เชธเชฎเชฏ เช†เชตเซ€ เช—เชฏเซ‹ เช›เซ‡ wrangler publish.

เชญเชพเช— 4: เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ เช“เชŸเซ‹เชฎเซ‡เชถเชจ

เช† เชฎเชพเชฐเซเช—เชฆเชฐเซเชถเชฟเช•เชพ เช—เชฟเชŸเชฒเซ‡เชฌ เชฎเชพเชŸเซ‡ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชธเซเชตเชšเชพเชฒเชฟเชค เชœเชฎเชพเชตเชŸเชจเซ‹ เชธเชพเชฐ เช…เชจเซ‡ เชธเชฐเชณเชคเชพ เชฎเซ‡เชณเชตเซ‡ เช›เซ‡.

เชชเช—เชฒเซเช‚ 1: เช…เชฎเชพเชฐเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‡ เชฌเชจเชพเชตเซ‹ เช…เชจเซ‡ เช—เซ‹เช เชตเซ‹

  1. เชจเชตเซ‹ GitLab เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ‹ เช…เชจเซ‡ เชธเชพเช‡เชŸ เช…เชชเชฒเซ‹เชก เช•เชฐเซ‹: เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ blog.example.com เชคเชฎเชพเชฎ เชธเชพเชฎเช—เซเชฐเซ€เช“ เชธเชพเชฅเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฐเซ‚เชŸ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชฎเชพเช‚ เชธเซเชฅเชฟเชค เชนเซ‹เชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡

  2. เช…เชฎเซ‡ เชธเซ‡เชŸ เชšเชฒ CFAPITOKEN เช…เชนเซ€เช‚: เชธเซ‡เชŸเชฟเช‚เช—เซเชธ โ†’ เชธเซ€เช†เชˆ / เชธเซ€เชกเซ€ โ†’ เชšเชฒเซ‹

เชชเช—เชฒเซเช‚ 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 โ†’ เชชเชพเช‡เชชเชฒเชพเช‡เชจเซเชธ โ†’ เชชเชพเช‡เชชเชฒเชพเช‡เชจ เชšเชฒเชพเชตเซ‹) เช…เชฅเชตเชพ เชฎเซเช–เซเชฏ เชถเชพเช–เชพเชฎเชพเช‚ เชชเซเชฐเชคเชฟเชฌเชฆเซเชงเชคเชพ เชฆเซเชตเชพเชฐเชพ. เชตเซ‹เช‡เชฒเชพ!

เชจเชฟเชทเซเช•เชฐเซเชท

เช เซ€เช• เช›เซ‡, เชฎเซ‡เช‚ เชคเซ‡เชจเซ‡ เชฅเซ‹เชกเซเช‚ เช“เช›เซเช‚ เช•เชฐเซเชฏเซเช‚ เชนเชถเซ‡, เช…เชจเซ‡ เช†เช–เซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เชฎเชพเชคเซเชฐ เชฆเชธ เชฎเชฟเชจเชฟเชŸเชจเซ‹ เชธเชฎเชฏ เชฒเชพเช—เซเชฏเซ‹. เชชเชฐเช‚เชคเซ เชนเชตเซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชธเซเชตเชšเชพเชฒเชฟเชค เชœเชฎเชพเชตเชŸ เชธเชพเชฅเซ‡ เชเช• เชเชกเชชเซ€ เชธเชพเช‡เชŸ เช›เซ‡ เช…เชจเซ‡ เชคเชฎเซ‡ เชตเชฐเซเช•เชฐเซเชธ เชธเชพเชฅเซ‡ เชฌเซ€เชœเซเช‚ เชถเซเช‚ เช•เชฐเซ€ เชถเช•เซ‹ เชคเซ‡ เช…เช‚เช—เซ‡เชจเชพ เช•เซ‡เชŸเชฒเชพเช• เชจเชตเชพ เชตเชฟเชšเชพเชฐเซ‹ เช›เซ‡.

 Cloudflare เช•เชพเชฎเชฆเชพเชฐเซ‹    เชนเซเชฏเซเช—เซ‹    เช—เชฟเชŸเชฒเซ‡เชฌ เชธเซ€

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹