рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рд╡рд░реНрдХрд░реНрд╕ рд╕рд╛рдЗрдЯреНрд╕ рдкрд░ рдПрдХ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ

рдирдорд╕реНрддреЗ! рдореЗрд░рд╛ рдирд╛рдо рджреАрдорд╛ рд╣реИ, рдореИрдВ рд╡реНрд░реАрдХреЗ рдореЗрдВ 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 рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реЗрдЯрдЕрдк рдкрд░ рдирдЬрд░ рдбрд╛рд▓рддреЗ рд╣реИрдВред рдЖрдЗрдП рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдбреЛрдореЗрди рд╣реИред рдЪрд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░ рд▓реЗрддреЗ рд╣реИрдВ blog.example.com.

рдЪрд░рдг 1: рдПрдХ DNS рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрдирд╛рдПрдБ

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

рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рд╡рд░реНрдХрд░реНрд╕ рд╕рд╛рдЗрдЯреНрд╕ рдкрд░ рдПрдХ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ

рдЪрд░рдг 2: рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рдЯреЛрдХрди

  1. рдореЗрд░реА рдкреНрд░реЛрдлрд╛рдЗрд▓ -> рдПрдкреАрдЖрдИ рдЯреЛрдХрди рдЯреИрдм-> рдЯреЛрдХрди рдмрдирд╛рдПрдБ -> рдХрд╕реНрдЯрдо рдЯреЛрдХрди рдмрдирд╛рдПрдВ

рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рд╡рд░реНрдХрд░реНрд╕ рд╕рд╛рдЗрдЯреНрд╕ рдкрд░ рдПрдХ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ

рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдЯреЛрдХрди рдХреЛ рдЦрд╛рддреЛрдВ рдФрд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рддрдХ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдЪрд┐рддреНрд░ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд╛рджрди рд╡рд┐рдХрд▓реНрдк рдЫреЛрдбрд╝ рджреЗрдВред

рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдЯреЛрдХрди рд╕рд╣реЗрдЬреЗрдВ, рд╣рдореЗрдВ рддреАрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдЪрд░рдг 3: рдЕрдХрд╛рдЙрдВрдЯрдЖрдИрдбреА рдФрд░ рдЬрд╝реЛрдирдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

рдбреЛрдореЗрди тЖТ рдЕрд╡рд▓реЛрдХрди тЖТ [рджрд╛рдпрд╛рдВ рд╕рд╛рдЗрдбрдмрд╛рд░]

рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рд╡рд░реНрдХрд░реНрд╕ рд╕рд╛рдЗрдЯреНрд╕ рдкрд░ рдПрдХ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдХреИрд╕реЗ рдмрдирд╛рдПрдВрдпреЗ рдореЗрд░реЗ рд╣реИрдВ, рдХреГрдкрдпрд╛ рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ :)

рдЙрдиреНрд╣реЗрдВ рдЯреЛрдХрди рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ, рд╣рдореЗрдВ рддреАрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ рднреА рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдЪрд░рдг 4: рдХрд╛рд░реНрдпрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ

рдбреЛрдореЗрди тЖТ рдХрд░реНрдореА тЖТ рд╢реНрд░рдорд┐рдХреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░реЗрдВ

рд╣рдо рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдирд╛рдо рдФрд░ рдЯреИрд░рд┐рдл рд╡рд░реНрдХрд░реНрд╕ тЖТ рдЕрдирд▓рд┐рдорд┐рдЯреЗрдб ($5 рдкреНрд░рддрд┐ рдорд╛рд╣ рдЖрдЬ) рдЪреБрдирддреЗ рд╣реИрдВред рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдмрд╛рдж рдореЗрдВ рдлреНрд░реА рд╡рд░реНрдЬрди рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рднрд╛рдЧ 3: рдкреНрд░рдердо рдкрд░рд┐рдирд┐рдпреЛрдЬрди (рдореИрдиреНрдпреБрдЕрд▓ рдкрд░рд┐рдирд┐рдпреЛрдЬрди)

рдореИрдВрдиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реА рдореИрдиреНрдпреБрдЕрд▓ рддреИрдирд╛рддреА рдХреА рдХрд┐ рд╡рд╣рд╛рдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рд╕рдм рд╕рд░рд▓рддрд╛ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  1. рд░реИрдВрдЧрд▓рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ: npm i @cloudflare/wrangler -g

  2. рдЖрдЗрдП рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдБ: cd blog.example.com

  3. рд░реИрдВрдЧрд▓рд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ: wrangler init тАФ site hugo-worker

  4. рд░реИрдВрдЧрд▓рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдПрдВ (рдкреВрдЫреЗ рдЬрд╛рдиреЗ рдкрд░ рдЯреЛрдХрди рджрд░реНрдЬ рдХрд░реЗрдВ): wrangler config

рдЖрдЗрдП рдЕрдм рдирд╡ рдирд┐рд░реНрдорд┐рдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рд░реИрдВрдЧрд▓рд░.рдЯреАрдУрдПрдордПрд▓ (рдпрд╣рд╛рдВ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдкреВрд░реА рд╕реВрдЪреА):

  1. рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХрд░рдирд╛ рдПрдХрд╛рдЙрдВрдЯрд┐рдб рдФрд░ рдЬрд╝реЛрдирд┐рдб

  2. рд╣рдо рдмрджрд▓рддреЗ рд╣реИрдВ рдорд╛рд░реНрдЧ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ *blog.example.com/*

  3. рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХрд░рдирд╛ рдЕрд╕рддреНрдп рдХреЗ рд▓рд┐рдП рд╡рд░реНрдХрд░реНрд╕рджреЗрд╡

  4. рдмрдХреЗрдЯ рдХреЛ ./рдкрдмреНрд▓рд┐рдХ рдореЗрдВ рдмрджрд▓реЗрдВ (рдпрд╛ рдЬрд╣рд╛рдВ рдЖрдкрдХреА рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рд╕реНрдерд┐рдд рд╣реИ)

  5. рдпрджрд┐ рдЖрдкрдХреЗ рдкрде рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдбреЛрдореЗрди рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХрд╛рд░реНрдпрд╢реАрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрде рдХреЛ рд╕рд╣реА рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: рд╡рд░реНрдХрд░реНрд╕-рд╕рд╛рдЗрдЯ/index.js (рдлрд╝рдВрдХреНрд╢рди рджреЗрдЦреЗрдВ рд╣реИрдВрдбрд▓рдЗрд╡реЗрдВрдЯ)

рдмрдврд╝рд┐рдпрд╛, рдЕрдм рдЯреАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╛рдЗрдЯ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИ wrangler publish.

рднрд╛рдЧ 4: рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реНрд╡рдЪрд╛рд▓рди

рдпрд╣ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ Gitlab рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреА рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд╕рд╛рд░ рдФрд░ рдЖрд╕рд╛рдиреА рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИред

рдЪрд░рдг 1: рд╣рдорд╛рд░рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ

  1. рдПрдХ рдирдпрд╛ GitLab рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ рдФрд░ рд╕рд╛рдЗрдЯ: рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ blog.example.com рд╕рднреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП

  2. рд╣рдорд▓реЛрдЧ рддреИрдпрд╛рд░ рд╣реИрдВ рдЪрд░ рд╕реАрдПрдлрдПрдкреАрдЯреЛрдХрди рдпрд╣рд╛рдБ: рд╕реЗрдЯрд┐рдВрдЧ тЖТ рд╕реАрдЖрдИ / рд╕реАрдбреА тЖТ рдЪрд░

рдЪрд░рдг 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 #

рд╣рдо рдкрд╣рд▓реА рддреИрдирд╛рддреА рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ (рд╕реАрдЖрдИ/рд╕реАрдбреА тЖТ рдкрд╛рдЗрдк рд▓рд╛рдЗрдиреЗрдВ тЖТ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЪрд▓рд╛рдПрдБ) рдпрд╛ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдХреЗ рдкреНрд░рддрд┐ рд╡рдЪрдирдмрджреНрдз рд╣реЛрдХрд░ред рд╡реЛрдЗрд▓рд╛!

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

рдЦрд╝реИрд░, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдХрдо рдХрд░рдХреЗ рдЖрдВрдХрд╛ рд╣реЛ, рдФрд░ рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреЗрд╡рд▓ рджрд╕ рдорд┐рдирдЯ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рд╕рдордп рд▓рдЧрд╛ред рд▓реЗрдХрд┐рди рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд╕рд╛рде рдПрдХ рддреЗрдЬрд╝ рд╕рд╛рдЗрдЯ рд╣реИ рдФрд░ рдХреБрдЫ рдирдП рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ рдХрд┐ рдЖрдк рд╡рд░реНрдХрд░реНрд╕ рдХреЗ рд╕рд╛рде рдФрд░ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рд╡рд░реНрдХрд░реНрд╕    рд╣реНрдпреВрдЧреЛ    рдЧрд┐рдЯрд▓реИрдм рд╕реАрдЖрдИ

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ