Cloudflare เดตเตผเด•เตเด•เต‡เดดเตเดธเต เดธเตˆเดฑเตเดฑเตเด•เดณเดฟเตฝ เด’เดฐเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดธเตˆเดฑเตเดฑเต เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚

เดนเดฒเต‡เดพ! เดŽเดจเตเดฑเต† เดชเต‡เดฐเต เดฆเดฟเดฎ, เดžเดพเตป เดฑเตˆเด•เตเด•เดฟเดฒเต† SysOps เดŸเต€เดฎเดฟเดจเตเดฑเต† เดธเดพเด™เตเด•เต‡เดคเดฟเด• เดฒเต€เดกเดพเดฃเต. เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ, เด’เดฐเต เดตเต†เดฌเตโ€Œเดธเตˆเดฑเตเดฑเต เดŽเด™เตเด™เดจเต† 10 เดฎเดฟเดจเดฟเดฑเตเดฑเดฟเดฒเตเด‚ 5 เดกเต‹เดณเดฑเดฟเดฒเตเด‚ เด’เดฐเต เดฎเดพเดธเดคเตเดคเดฟเดจเตเดณเตเดณเดฟเตฝ เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต‹เดŸเต เด•เดดเดฟเดฏเตเดจเตเดจเดคเตเดฐ เด…เดŸเตเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดคเดฟเดจเตเดฑเต† เดตเดฟเดจเตเดฏเดพเดธเด‚ เด“เดŸเตเดŸเต‹เดฎเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดŽเด™เตเด™เดจเต†เดฏเต†เดจเตเดจเต เดžเดพเตป เดจเดฟเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด‚. เดžเด™เตเด™เดณเตเดŸเต† เดŸเต€เดฎเดฟเดจเตเดณเตเดณเดฟเตฝ เดžเด™เตเด™เตพ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเต เดเดคเดพเดฃเตเดŸเต เด’เดฐเต เดฌเดจเตเดงเดตเตเดฎเดฟเดฒเตเดฒ. เด‡เดคเต เดŽเดจเตเดฑเต† เดตเตเดฏเด•เตเดคเดฟเดชเดฐเดฎเดพเดฏ เด…เดจเตเดญเดตเดตเตเด‚ เดŽเดจเดฟเด•เตเด•เต เดชเตเดคเดฟเดฏ เด’เดฐเต เดธเดพเด™เตเด•เต‡เดคเดฟเด•เดตเดฟเดฆเตเดฏเดฏเต† เดชเดฐเดฟเดšเดฏเดชเตเดชเต†เดŸเดพเดจเตเดณเตเดณ เดฎเดคเดฟเดชเตเดชเตเดฎเดพเดฃเต. เดตเตเดฏเดคเตเดฏเดธเตเดค เด…เดจเตเดญเดตเด™เตเด™เดณเตเดณเตเดณ เด†เดณเตเด•เตพเด•เตเด•เต เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเด•เตเดจเตเดจเดคเดฟเดจเต, เด˜เดŸเตเดŸเด™เตเด™เตพ เด•เดดเดฟเดฏเตเดจเตเดจเดคเตเดฐ เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เดตเดฟเดตเดฐเดฟเด•เตเด•เดพเตป เดžเดพเตป เดถเตเดฐเดฎเดฟเดšเตเดšเต. เดจเดฟเด™เตเด™เตพ เด†เดธเตเดตเดฆเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เดžเดพเตป เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต. เดชเต‹เด•เต‚!

Cloudflare เดตเตผเด•เตเด•เต‡เดดเตเดธเต เดธเตˆเดฑเตเดฑเตเด•เดณเดฟเตฝ เด’เดฐเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดธเตˆเดฑเตเดฑเต เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚

เด…เดคเดฟเดจเดพเตฝ, เด’เดฐเต เดตเต†เดฌเตโ€Œเดธเตˆเดฑเตเดฑเต เดนเต‹เดธเตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฒเดณเดฟเดคเดตเตเด‚ เดตเดฟเดฒเด•เตเดฑเดžเตเดžเดคเตเดฎเดพเดฏ เดฎเดพเตผเด—เตเด—เด‚ เดจเดฟเด™เตเด™เตพ เด‡เดคเดฟเดจเด•เด‚ เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚. เด‡เดคเดฟเตฝ เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เดชเต‹เดฒเต† เด’เดฐเตเดชเด•เตเดทเต† เดธเต—เดœเดจเตเดฏเด‚ เดชเต‹เดฒเตเด‚ เดตเดฒเดฟเดฏ เดฒเต‡เด–เดจเด‚.

เดŽเดจเตเดจเดพเตฝ เดชเต†เดŸเตเดŸเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดชเตเดชเต‹เดดเตเด‚ เดฌเต‹เดฑเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเดพเด™เตเด•เต‡เดคเดฟเด•เดตเดฟเดฆเตเดฏเดฏเตเดŸเต† เดงเต€เดฐเดฎเดพเดฏ เดชเตเดคเดฟเดฏ เดฒเต‹เด•เดคเตเดคเต† เดธเตเดชเตผเดถเดฟเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเตเดฃเตเดŸเต‹? เดตเดฟเดจเตเดฏเดพเดธเด‚ เดฏเดพเดจเตเดคเตเดฐเดฟเด•เดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพ เดšเดฟเดจเตเดคเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เดจเตเดจเตเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตˆเดฑเตเดฑเต เด•เดดเดฟเดฏเตเดจเตเดจเดคเตเดฐ เดตเต‡เด—เดคเตเดคเดฟเดฒเดพเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเตเด‚ เดชเดฑเดฏเดŸเตเดŸเต†? เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เดžเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚ เดนเตเดฏเต‚เด—เต‹, เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เด“เดชเตเดทเดฃเตฝ เด†เดฃเต.

เด“เดŸเตเดŸเต‹เดฎเต‡เดทเดจเดพเดฏเดฟ เดžเด™เตเด™เตพ Gitlab CI/CD เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เดคเตเดตเดฐเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดฒเดฟเดจเตเดฑเต† เด•เดพเดฐเตเดฏเดฎเต‹? เด•เตเดฒเต—เดกเตเดซเตเดฒเต†เดฏเดฑเดฟเดฒเต‡เด•เตเด•เต เดจเต‡เดฐเดฟเดŸเตเดŸเต เดธเตˆเดฑเตเดฑเต เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเด‚ เดคเตŠเดดเดฟเดฒเดพเดณเดฟ เดธเตˆเดฑเตเดฑเตเด•เตพ.

เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเตป เดŽเดจเตเดคเดพเดฃเต เดตเต‡เดฃเตเดŸเดคเต:

เดญเดพเด—เด‚ 1: เดนเตเดฏเต‚เด—เต‹ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเต

เดจเดฟเด™เตเด™เตพ เด‡เดคเดฟเดจเด•เด‚ เดนเตเดฏเต‚เด—เต‹ เด‡เตปเดธเตโ€Œเดฑเตเดฑเดพเตพ เดšเต†เดฏเตโ€ŒเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเดฑเตเดฑเตŠเดฐเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดธเตˆเดฑเตเดฑเต เดœเดจเดฑเต‡เดฑเตเดฑเดฑเดพเดฃเต เดจเดฟเด™เตเด™เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเดคเต†เด™เตเด•เดฟเตฝ (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต†เดฃเตเดฃเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดคเดฟเดฐเดฟเด•เตเด•เตเด•), เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดˆ เดญเดพเด—เด‚ เด’เดดเดฟเดตเดพเด•เตเด•เดพเด‚.

  1. เดนเตเดฏเต‚เด—เต‹ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด• https://github.com/gohugoio/hugo/releases

  2. เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดตเดฏเดฟเตฝ เด’เดจเตเดจเต เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดžเด™เตเด™เตพ เดนเตเดฏเต‚เด—เต‹ เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเดฌเดฟเตพ เดซเดฏเตฝ เดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดจเตเดจเต 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. เดธเตƒเดทเตเดŸเดฟเดšเตเดš เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เต เด‰เดณเตเดณเดŸเด•เตเด•เด‚ เดšเต‡เตผเด•เตเด•เตเด•: เด‰เดณเตเดณเดŸเด•เตเด•เด‚/เดชเต‹เดธเตเดฑเตเดฑเตเด•เตพ/my-amazing-post.md.
    เดŽเดฒเตเดฒเดพเด‚ เดšเต†เดฏเตเดคเตเด•เดดเดฟเดžเตเดžเดพเตฝ, เดกเตเดฐเดพเดซเตเดฑเตเดฑเต เดฎเต‚เดฒเตเดฏเด‚ เด‡เดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเตเด• เดคเต†เดฑเตเดฑเดพเดฏ

  8. เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดซเดฏเดฒเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต: hugo -D

เด‡เดชเตเดชเต‹เตพ เดžเด™เตเด™เดณเตเดŸเต† เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดธเตˆเดฑเตเดฑเต เด’เดฐเต เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเดฒเดพเดฃเต เดธเตเดฅเดฟเดคเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต ./เดชเตŠเดคเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เด†เดฆเตเดฏ เดฎเดพเดจเตเดตเตฝ เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดจเต เดคเดฏเตเดฏเดพเดฑเดพเดฃเต.

เดญเดพเด—เด‚ 2: Cloudflare เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เด‡เดจเดฟ เดจเดฎเตเด•เตเด•เต Cloudflare-เดจเตเดฑเต† เดชเตเดฐเดพเดฐเด‚เดญ เดธเดœเตเดœเต€เด•เดฐเดฃเด‚ เดจเต‹เด•เตเด•เดพเด‚. เดธเตˆเดฑเตเดฑเดฟเดจเดพเดฏเดฟ เดžเด™เตเด™เตพเด•เตเด•เต เด‡เดคเดฟเดจเด•เด‚ เด’เดฐเต เดกเตŠเดฎเต†เดฏเตเตป เด‰เดฃเตเดŸเต†เดจเตเดจเต เด•เดฐเตเดคเตเด•. เดจเดฎเตเด•เตเด•เต เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเดฎเดพเดฏเดฟ เดŽเดŸเตเด•เตเด•เดพเด‚ blog.example.com.

เด˜เดŸเตเดŸเด‚ 1: เด’เดฐเต DNS เดŽเตปเดŸเตเดฐเดฟ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•

เด†เดฆเตเดฏเด‚, เดžเด™เตเด™เดณเตเดŸเต† เดกเตŠเดฎเต†เดฏเตเตป เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด•, เดคเตเดŸเตผเดจเตเดจเต เดฎเต†เดจเต เด‡เดจเด‚ เดกเดฟเดŽเตปเดŽเดธเต. เดžเด™เตเด™เตพ เด’เดฐเต เดฌเตเดฒเต‹เด—เต เดŽ-เดฑเต†เด•เตเด•เต‹เตผเดกเต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดคเดฟเดจเดพเดฏเดฟ เดšเดฟเดฒ เดธเดพเด™เตเด•เตฝเดชเตเดชเดฟเด• เดเดชเดฟ เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต (เด‡เดคเต เด”เดฆเตเดฏเต‹เด—เดฟเด•เดฎเดพเดฃเต เดถเตเดชเดพเตผเดถ, เดŽเดจเตเดจเดพเตฝ เด…เดตเตผเด•เตเด•เต เด…เดคเต เด•เตเดฑเดšเตเดšเตเด•เต‚เดŸเดฟ เดฎเดจเต‹เดนเดฐเดฎเดพเด•เตเด•เดพเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต).

Cloudflare เดตเตผเด•เตเด•เต‡เดดเตเดธเต เดธเตˆเดฑเตเดฑเตเด•เดณเดฟเตฝ เด’เดฐเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดธเตˆเดฑเตเดฑเต เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚

เด˜เดŸเตเดŸเด‚ 2: Cloudflare เดŸเต‹เด•เตเด•เตบ

  1. เดŽเดจเตเดฑเต† เดชเตเดฐเต†เดพเดซเตˆเตฝ -> API เดŸเต‹เด•เตเด•เดฃเตเด•เตพ เดŸเดพเดฌเต-> เดŸเต‹เด•เตเด•เตบ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด• -> เด‡เดทเตโ€ŒเดŸเดพเดจเตเดธเตƒเดค เดŸเต‹เด•เตเด•เตบ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•

Cloudflare เดตเตผเด•เตเด•เต‡เดดเตเดธเต เดธเตˆเดฑเตเดฑเตเด•เดณเดฟเตฝ เด’เดฐเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดธเตˆเดฑเตเดฑเต เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚

เด‡เดตเดฟเดŸเต† เดจเดฟเด™เตเด™เตพ เด…เด•เตเด•เต—เดฃเตเดŸเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดธเต‹เดฃเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดŸเต‹เด•เตเด•เตบ เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เดŽเดจเตเดจเดพเตฝ เดšเดฟเดคเตเดฐเดคเตเดคเดฟเตฝ เดฒเดฟเดธเตเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด…เดจเตเดฎเดคเดฟเด•เตพเด•เตเด•เดพเดฏเดฟ เดŽเดกเดฟเดฑเตเดฑเต เด“เดชเตเดทเตป เดตเดฟเดŸเตเด•.

เดญเดพเดตเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดŸเต‹เด•เตเด•เตบ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเด•, เดฎเต‚เดจเตเดจเดพเด‚ เดญเดพเด—เดคเตเดคเดฟเตฝ เดžเด™เตเด™เตพเด•เตเด•เต เด…เดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต.

เด˜เดŸเตเดŸเด‚ 3: เด…เด•เตเด•เต—เดฃเตเดŸเดฟเดกเตเด‚ เดธเต‹เดฃเตˆเดกเตเด‚ เดจเต‡เดŸเตเด•

เดกเต†เดพเดฎเต†เดฏเตเตป โ†’ เดชเต†เดพเดคเต เด…เดตเดฒเต‡เดพเด•เดจเด‚ โ†’ [เดตเดฒเดคเต เดธเตˆเดกเตโ€Œเดฌเดพเตผ]

Cloudflare เดตเตผเด•เตเด•เต‡เดดเตเดธเต เดธเตˆเดฑเตเดฑเตเด•เดณเดฟเตฝ เด’เดฐเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดธเตˆเดฑเตเดฑเต เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚เด‡เดต เดŽเดจเตเดฑเต‡เดคเดพเดฃเต, เดฆเดฏเดตเดพเดฏเดฟ เด…เดต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดฐเตเดคเต :)

เด…เดต เดŸเต‹เด•เตเด•เดฃเดฟเดจเต เด…เดŸเตเดคเตเดคเดพเดฏเดฟ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเด•, เดžเด™เตเด™เตพเด•เตเด•เต เด…เดต เดฎเต‚เดจเตเดจเดพเด‚ เดญเดพเด—เดคเตเดคเดฟเดฒเตเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต.

เด˜เดŸเตเดŸเด‚ 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. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเดพเดคเดฏเดฟเตฝ เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดกเตŠเดฎเต†เดฏเตโ€Œเดจเตเด•เตพ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดธเตโ€Œเด•เตเดฐเดฟเดชเตเดฑเตเดฑเดฟเดฒเต† เดชเดพเดค เดจเดฟเด™เตเด™เตพ เดถเดฐเดฟเดฏเดพเด•เตเด•เดฃเด‚: เดคเตŠเดดเดฟเดฒเดพเดณเดฟเด•เตพ-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 #

เดžเด™เตเด™เตพ เด†เดฆเตเดฏ เดตเดฟเดจเตเดฏเดพเดธเด‚ เดธเตเดตเดฎเต‡เดงเดฏเดพ เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต (เดธเดฟเด/เดธเดฟเดกเดฟ โ†’ เดชเตˆเดชเตเดชเตเดฒเตˆเดจเตเด•เตพ โ†’ เดชเตˆเดชเตเดชเตเดฒเตˆเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•) เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเดพเดธเตเดฑเตเดฑเตผ เดฌเตเดฐเดพเดžเตเดšเดฟเตฝ เดชเตเดฐเดคเดฟเดฌเดฆเตเดงเดคเดฏเต‹เดŸเต†. เดตเต‹เดฏเดฟเดฒ!

เดคเต€เดฐเตเดฎเดพเดจเด‚

เดถเดฐเดฟ, เดžเดพเตป เด‡เดคเต เดšเต†เดฑเตเดคเดพเดฏเดฟ เด•เตเดฑเดšเตเดšเตเด•เดพเดฃเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เดพเด‚, เดฎเตเดดเตเดตเตป เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเตเด‚ เดตเต†เดฑเตเด‚ เดชเดคเตเดคเต เดฎเดฟเดจเดฟเดฑเตเดฑเดฟเดฒเดงเดฟเด•เด‚ เดธเดฎเดฏเดฎเต†เดŸเตเดคเตเดคเต. เดŽเดจเตเดจเดพเตฝ เด‡เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเตเดตเดฏเดฎเต‡เดตเดฏเตเดณเตเดณ เดตเดฟเดจเตเดฏเดพเดธเดตเตเด‚ เดคเตŠเดดเดฟเดฒเดพเดณเดฟเด•เดณเตเดฎเดพเดฏเดฟ เดฎเดฑเตเดฑเต†เดจเตเดคเดพเดฃเต เดšเต†เดฏเตเดฏเดพเดจเดพเด•เตเดฎเต†เดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดšเดฟเดฒ เดชเตเดคเดฟเดฏ เด†เดถเดฏเด™เตเด™เดณเตเด‚ เด‰เดณเตเดณ เด’เดฐเต เดซเดพเดธเตเดฑเตเดฑเต เดธเตˆเดฑเตเดฑเตเดฃเตเดŸเต.

 เด•เตเดฒเต—เดกเตเดซเตเดฒเต†เดฏเตผ เดคเตŠเดดเดฟเดฒเดพเดณเดฟเด•เตพ    เดนเตเดฏเต‚เด—เต‹    GitLab Ci

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•