рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдЕрд░ рд╡рд░реНрдХрд░реНрд╕ рд╕рд╛рдЗрдЯреНрд╕рд╡рд░ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдХрд╢реА рдмрдирд╡рд╛рдпрдЪреА

рдирдорд╕реНрдХрд╛рд░! рдорд╛рдЭреЗ рдирд╛рд╡ рджрд┐рдорд╛ рдЖрд╣реЗ, рдореА Wrike рдордзреАрд▓ SysOps рдЯреАрдорд╕рд╛рдареА рддрд╛рдВрддреНрд░рд┐рдХ рд▓реАрдб рдЖрд╣реЗ. рдпрд╛ рд▓реЗрдЦрд╛рдд рдореА рддреБрдореНрд╣рд╛рд▓рд╛ 10 рдорд┐рдирд┐рдЯрд╛рдВрдд рдЖрдгрд┐ рдорд╣рд┐рдиреНрдпрд╛рд▓рд╛ 5 рдбреЙрд▓рд░реНрд╕рдордзреНрдпреЗ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рдЬрд╡рд│ рдХрд╢реА рдмрдирд╡рд╛рдпрдЪреА рдЖрдгрд┐ рддрд┐рдЪреА рддреИрдирд╛рддреА рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд╢реА рдХрд░рд╛рдпрдЪреА рддреЗ рд╕рд╛рдВрдЧреЗрди. рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рдХрд╛рд░реНрдпрд╕рдВрдШрд╛рдордзреНрдпреЗ рд╕реЛрдбрд╡рд▓реЗрд▓реНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрд╢реА рд▓реЗрдЦрд╛рдЪрд╛ рдЬрд╡рд│рдЬрд╡рд│ рдХрд╛рд╣реАрд╣реА рд╕рдВрдмрдВрдз рдирд╛рд╣реА. рдорд╛рдЭреНрдпрд╛рд╕рд╛рдареА рдирд╡реАрди рдЕрд╕рд▓реЗрд▓реЗ рддрдВрддреНрд░рдЬреНрдЮрд╛рди рдЬрд╛рдгреВрди рдШреЗрдгреНрдпрд╛рдЪрд╛ рд╣рд╛ рдорд╛рдЭрд╛ рд╡реИрдпрдХреНрддрд┐рдХ рдЕрдиреБрднрд╡ рдЖрдгрд┐ рдЫрд╛рдк рдЖрд╣реЗ. рдореА рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рддрдкрд╢реАрд▓рд╡рд╛рд░ рдЪрд░рдгрд╛рдВрдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛ рдЬреЗрдгреЗрдХрд░реВрди рд╕реВрдЪрдирд╛ рднрд┐рдиреНрди рдЕрдиреБрднрд╡ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд▓реЛрдХрд╛рдВрд╕рд╛рдареА рдЙрдкрдпреБрдХреНрдд рдард░рддреАрд▓. рдорд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рддреБрдореНрд╣реА рдЖрдирдВрдж рдШреНрдпрд╛рд▓. рдЬрд╛!

рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдЕрд░ рд╡рд░реНрдХрд░реНрд╕ рд╕рд╛рдЗрдЯреНрд╕рд╡рд░ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдХрд╢реА рдмрдирд╡рд╛рдпрдЪреА

рддрд░, рдХрджрд╛рдЪрд┐рдд рддреБрдореНрд╣рд╛рд▓рд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╣реЛрд╕реНрдЯ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдПрдХ рд╕реЛрдкрд╛ рдЖрдгрд┐ рд╕реНрд╡рд╕реНрдд рдорд╛рд░реНрдЧ рд╕рд╛рдкрдбрд▓рд╛ рдЕрд╕реЗрд▓. рдпрд╛рдд рд╡рд░реНрдгрди рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ рдХрджрд╛рдЪрд┐рдд рд╡рд┐рдирд╛рдореВрд▓реНрдп рджреЗрдЦреАрд▓ рдЙрддреНрддрдо рд▓реЗрдЦ.

рдкрдг рдЕрдЪрд╛рдирдХ рддреБрдореНрд╣реА рдЕрдЬреВрдирд╣реА рдХрдВрдЯрд╛рд│рд▓реЗ рдЖрд╣рд╛рдд рдЖрдгрд┐ рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪреНрдпрд╛ рдзрд╛рдбрд╕реА рдирд╡реАрди рдЬрдЧрд╛рд▓рд╛ рд╕реНрдкрд░реНрд╢ рдХрд░реВ рдЗрдЪреНрдЫрд┐рддрд╛? рд╕рдордЬрд╛ рддреБрдореНрд╣реА рддреИрдирд╛рддреА рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рдмрджреНрджрд▓ рд╡рд┐рдЪрд╛рд░ рдХрд░рдд рдЖрд╣рд╛рдд рдЖрдгрд┐ рддреБрдордЪреНрдпрд╛ рд╕рд╛рдЗрдЯрд▓рд╛ рд╢рдХреНрдп рддрд┐рддрдХреА рдЧрддреА рд╡рд╛рдврд╡реВ рдЗрдЪреНрдЫрд┐рддрд╛? рдпрд╛ рд▓реЗрдЦрд╛рдд рдЖрдкрдг рд╡рд╛рдкрд░рдгрд╛рд░ рдЖрд╣реЛрдд рд╣реНрдпреБрдЧреЛ, рдкрд░рдВрддреБ рд╣реЗ рдРрдЪреНрдЫрд┐рдХ рдЖрд╣реЗ.

рдСрдЯреЛрдореЗрд╢рдирд╕рд╛рдареА рдЖрдореНрд╣реА рдЧрд┐рдЯрд▓реЕрдм рд╕реАрдЖрдп/рд╕реАрдбреА рд╡рд╛рдкрд░рддреЛ, рдкрдг рдкреНрд░рд╡реЗрдЧрд╛рдЪреЗ рдХрд╛рдп? рдЪрд▓рд╛ рд╕рд╛рдЗрдЯ рдереЗрдЯ рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдЕрд░рд╡рд░ рдЙрдкрдпреЛрдЬрд┐рдд рдХрд░реВрдпрд╛ рдХрд╛рдордЧрд╛рд░ рд╕рд╛рдЗрдЯреНрд╕.

рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рдп рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:

  • рдЧрд┐рдЯрд▓реЕрдм (рддреБрдордЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рдХрд┐рдВрд╡рд╛ рдврдЧрд╛рд│)

  • рдЦрд╛рддреЗ Cloudflare рд╡рд░

  • рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ nodejs/npm

рднрд╛рдЧ 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

рдЖрддрд╛ рдЖрдордЪреА рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдПрдХрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдд рд╕реНрдерд┐рдд рдЖрд╣реЗ ./рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдгрд┐ рддреБрдордЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рдореЕрдиреНрдпреБрдЕрд▓ рдЙрдкрдпреЛрдЬрдирд╛рд╕рд╛рдареА рд╕рдЬреНрдЬ.

рднрд╛рдЧ реи: рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдЕрд░ рд╕реЗрдЯ рдХрд░рдгреЗ

рдЖрддрд╛ рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдЕрд░рдЪрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реЗрдЯрдЕрдк рдкрд╛рд╣реВ. рдЪрд▓рд╛ рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░реВ рдХреА рдЖрдордЪреНрдпрд╛рдХрдбреЗ рд╕рд╛рдЗрдЯрд╕рд╛рдареА рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рдбреЛрдореЗрди рдЖрд╣реЗ. рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгреВрди рдШреЗрдК blog.example.com.

рдкрд╛рдпрд░реА 1: DNS рдПрдВрдЯреНрд░реА рддрдпрд╛рд░ рдХрд░рд╛

рдкреНрд░рдердо, рдЖрдордЪреЗ рдбреЛрдореЗрди рдирд┐рд╡рдбрд╛ рдЖрдгрд┐ рдирдВрддрд░ рдореЗрдиреВ рдЖрдпрдЯрдо DNS. рдЖрдореНрд╣реА рдПрдХ рдмреНрд▓реЙрдЧ рдП-рд░реЗрдХреЙрд░реНрдб рддрдпрд╛рд░ рдХрд░рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реА рдХрд╛рд▓реНрдкрдирд┐рдХ рдЖрдпрдкреА рд╕реВрдЪрд┐рдд рдХрд░рддреЛ (рд╣реЗ рдЕрдзрд┐рдХреГрдд рдЖрд╣реЗ рд╢рд┐рдлрд╛рд░рд╕, рдкрд░рдВрддреБ рддреЗ рддреЗ рдереЛрдбреЗ рд╕реБрдВрджрд░ рдмрдирд╡реВ рд╢рдХрд▓реЗ рдЕрд╕рддреЗ).

рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдЕрд░ рд╡рд░реНрдХрд░реНрд╕ рд╕рд╛рдЗрдЯреНрд╕рд╡рд░ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдХрд╢реА рдмрдирд╡рд╛рдпрдЪреА

рдкрд╛рдпрд░реА 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 тЖТ рдкрд╛рдЗрдкрд▓рд╛рдЗрди тЖТ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЪрд╛рд▓рд╡рд╛) рдХрд┐рдВрд╡рд╛ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦреЗрд▓рд╛ рд╡рдЪрдирдмрджреНрдз рдХрд░реВрди. рд╡реНрд╣реЛрдЗрд▓рд╛!

рдирд┐рд╖реНрдХрд░реНрд╖

рдмрд░рдВ, рдореА рддреЗ рдереЛрдбреЗрд╕реЗ рдХрдореА рдХреЗрд▓реЗ рдЕрд╕реЗрд▓ рдЖрдгрд┐ рд╕рдВрдкреВрд░реНрдг рдкреНрд░рдХреНрд░рд┐рдпреЗрд▓рд╛ рдлрдХреНрдд рджрд╣рд╛ рдорд┐рдирд┐рдЯреЗ рд▓рд╛рдЧрд▓реА. рдкрд░рдВрддреБ рдЖрддрд╛ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдЙрдкрдпреЛрдЬрди рдЕрд╕рд▓реЗрд▓реА рдПрдХ рдЬрд▓рдж рд╕рд╛рдЗрдЯ рдЖрд╣реЗ рдЖрдгрд┐ рддреБрдореНрд╣реА рдХрд╛рдордЧрд╛рд░рд╛рдВрд╕реЛрдмрдд рдЖрдгрдЦреА рдХрд╛рдп рдХрд░реВ рд╢рдХрддрд╛ рдпрд╛рдмрджреНрджрд▓ рдХрд╛рд╣реА рдирд╡реАрди рдХрд▓реНрдкрдирд╛ рдЖрд╣реЗрдд.

 рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдЕрд░ рдХрд╛рдордЧрд╛рд░    рд╣реНрдпреБрдЧреЛ    GitLab Ci

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛