рдирдорд╕реНрддреЗ! рдореЗрд░рд╛ рдирд╛рдо рджреАрдорд╛ рд╣реИ, рдореИрдВ рд╡реНрд░реАрдХреЗ рдореЗрдВ SysOps рдЯреАрдо рдХреА рддрдХрдиреАрдХреА рдкреНрд░рдореБрдЦ рд╣реВрдВред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХрд┐рд╕реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЛ 10 рдорд┐рдирдЯ рдФрд░ 5 рдбреЙрд▓рд░ рдкреНрд░рддрд┐ рдорд╛рд╣ рдореЗрдВ рдпрдерд╛рд╕рдВрднрд╡ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдХрд░реАрдм рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдФрд░ рдЙрд╕рдХреА рддреИрдирд╛рддреА рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред рд▓реЗрдЦ рдХрд╛ рдЙрди рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рд▓рдЧрднрдЧ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдЕрдкрдиреА рдЯреАрдо рдХреЗ рднреАрддрд░ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдмрд▓реНрдХрд┐ рдореЗрд░рд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╡ рдФрд░ рдПрдХ рдРрд╕реА рддрдХрдиреАрдХ рдХреЛ рдЬрд╛рдирдиреЗ рдХрд╛ рдкреНрд░рднрд╛рд╡ рд╣реИ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдирдИ рд╣реИред рдореИрдВрдиреЗ рдЪрд░рдгреЛрдВ рдХрд╛ рдпрдерд╛рд╕рдВрднрд╡ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдирд┐рд░реНрджреЗрд╢ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрднрд╡ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдВред рдЙрдореНрдореАрдж рд╣реИ рдЖрдкрдХреЛ рдордЬрд╝рд╛ рдЖрдПрдЧрд╛ред рдЬрд╛рдирд╛!
рддреЛ, рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рд╕реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдФрд░ рд╕рд╕реНрддрд╛ рддрд░реАрдХрд╛ рдорд┐рд▓ рдЧрдпрд╛ рд╣реИред рд╢рд╛рдпрдж рдореБрдлрд╝реНрдд рднреА, рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ
рд▓реЗрдХрд┐рди рдЕрдЪрд╛рдирдХ рдЖрдк рдЕрднреА рднреА рдКрдм рдЧрдП рд╣реИрдВ рдФрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреА рдмрд╣рд╛рджреБрд░ рдирдИ рджреБрдирд┐рдпрд╛ рдХреЛ рдЫреВрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рддреИрдирд╛рддреА рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рддреЗрдЬрд╝ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ? рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ
рд╣рдо рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП Gitlab CI/CD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рддреНрд╡рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдЖрдЗрдП рд╕рд╛рдЗрдЯ рдХреЛ рд╕реАрдзреЗ Cloudflare рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддреИрдирд╛рдд рдХрд░реЗрдВ
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:
-
рдЧрд┐рдЯрд▓реИрдм (рдЖрдкрдХрд╛ рдЕрдкрдирд╛ рдпрд╛
рдмрд╛рджрд▓ ) -
рдЦрд╛рддрд╛ рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рдкрд░ -
рд╕реНрдерд╛рдкрд┐рдд
рдиреЛрдбрдЬреЗрдПрд╕/рдПрдирдкреАрдПрдо
рднрд╛рдЧ 1: рд╣реНрдпреВрдЧреЛ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реНрдпреВрдЧреЛ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдпрд╛ рдпрджрд┐ рдЖрдк рдПрдХ рдЕрд▓рдЧ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдЬрдирд░реЗрдЯрд░ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ (рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ), рддреЛ рдЖрдк рдЗрд╕ рднрд╛рдЧ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
-
рд╣реНрдпреВрдЧреЛ рдХреЛ рдпрд╣рд╛рдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
https://github.com/gohugoio/hugo/releases -
рд╣рдо рд╣реНрдпреВрдЧреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд░рдЦрддреЗ рд╣реИрдВ
рдкрде рддрд░реАрдХреЗ -
рдПрдХ рдирдИ рд╕рд╛рдЗрдЯ рдмрдирд╛рдирд╛:
hugo new site blog.example.com
-
рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдирд╡ рдирд┐рд░реНрдорд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдмрджрд▓реЗрдВ:
cd blog.example.com
-
рдПрдХ рдбрд┐рдЬрд╝рд╛рдЗрди рдереАрдо рдЪреБрдиреЗрдВ (
https://github.com/budparr/gohugo-theme-ananke/releases рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА) -
рдЖрдЗрдП рдкрд╣рд▓реА рдкреЛрд╕реНрдЯ рдмрдирд╛рдПрдВ:
hugo new posts/my-amazing-post.md
-
рдмрдирд╛рдИ рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдЬреЛрдбрд╝реЗрдВ: content/posts/my-amazing-post.md.
рдЬрдм рд╕рдм рдХреБрдЫ рд╣реЛ рдЬрд╛рдП, рддреЛ рдбреНрд░рд╛рдлреНрдЯ рд╡реИрд▓реНрдпреВ рдХреЛ рдмрджрд▓ рджреЗрдВ рдЕрд╕рддреНрдп -
рд╕реНрдерд┐рд░ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛:
hugo -D
рдЕрдм рд╣рдорд╛рд░реА рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЕрдВрджрд░ рд╕реНрдерд┐рдд рд╣реИ ред/рдЬрдирддрд╛ рдФрд░ рдЖрдкрдХреА рдкрд╣рд▓реА рдореИрдиреНрдпреБрдЕрд▓ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред
рднрд╛рдЧ 2: рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рдХреА рд╕реНрдерд╛рдкрдирд╛
рдЕрдм рдЖрдЗрдпреЗ Cloudflare рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реЗрдЯрдЕрдк рдкрд░ рдирдЬрд░ рдбрд╛рд▓рддреЗ рд╣реИрдВред рдЖрдЗрдП рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдбреЛрдореЗрди рд╣реИред рдЪрд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░ рд▓реЗрддреЗ рд╣реИрдВ blog.example.com.
рдЪрд░рдг 1: рдПрдХ DNS рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрдирд╛рдПрдБ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдорд╛рд░рд╛ рдбреЛрдореЗрди рдЪреБрдиреЗрдВ, рдФрд░ рдлрд┐рд░ рдореЗрдиреВ рдЖрдЗрдЯрдо рдЪреБрдиреЗрдВ рдбреАрдПрдирдПрд╕. рд╣рдо рдПрдХ рдмреНрд▓реЙрдЧ рдП-рд░рд┐рдХреЙрд░реНрдб рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рд▓реНрдкрдирд┐рдХ рдЖрдИрдкреА рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдпрд╣ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╣реИ
рдЪрд░рдг 2: рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рдЯреЛрдХрди
-
рдореЗрд░реА рдкреНрд░реЛрдлрд╛рдЗрд▓ -> рдПрдкреАрдЖрдИ рдЯреЛрдХрди рдЯреИрдм-> рдЯреЛрдХрди рдмрдирд╛рдПрдБ -> рдХрд╕реНрдЯрдо рдЯреЛрдХрди рдмрдирд╛рдПрдВ
рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдЯреЛрдХрди рдХреЛ рдЦрд╛рддреЛрдВ рдФрд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рддрдХ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдЪрд┐рддреНрд░ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд╛рджрди рд╡рд┐рдХрд▓реНрдк рдЫреЛрдбрд╝ рджреЗрдВред
рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдЯреЛрдХрди рд╕рд╣реЗрдЬреЗрдВ, рд╣рдореЗрдВ рддреАрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдЪрд░рдг 3: рдЕрдХрд╛рдЙрдВрдЯрдЖрдИрдбреА рдФрд░ рдЬрд╝реЛрдирдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рдбреЛрдореЗрди тЖТ рдЕрд╡рд▓реЛрдХрди тЖТ [рджрд╛рдпрд╛рдВ рд╕рд╛рдЗрдбрдмрд╛рд░]
рдпреЗ рдореЗрд░реЗ рд╣реИрдВ, рдХреГрдкрдпрд╛ рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ :)
рдЙрдиреНрд╣реЗрдВ рдЯреЛрдХрди рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ, рд╣рдореЗрдВ рддреАрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ рднреА рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдЪрд░рдг 4: рдХрд╛рд░реНрдпрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ
рдбреЛрдореЗрди тЖТ рдХрд░реНрдореА тЖТ рд╢реНрд░рдорд┐рдХреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░реЗрдВ
рд╣рдо рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдирд╛рдо рдФрд░ рдЯреИрд░рд┐рдл рд╡рд░реНрдХрд░реНрд╕ тЖТ рдЕрдирд▓рд┐рдорд┐рдЯреЗрдб ($5 рдкреНрд░рддрд┐ рдорд╛рд╣ рдЖрдЬ) рдЪреБрдирддреЗ рд╣реИрдВред рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдмрд╛рдж рдореЗрдВ рдлреНрд░реА рд╡рд░реНрдЬрди рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рднрд╛рдЧ 3: рдкреНрд░рдердо рдкрд░рд┐рдирд┐рдпреЛрдЬрди (рдореИрдиреНрдпреБрдЕрд▓ рдкрд░рд┐рдирд┐рдпреЛрдЬрди)
рдореИрдВрдиреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реА рдореИрдиреНрдпреБрдЕрд▓ рддреИрдирд╛рддреА рдХреА рдХрд┐ рд╡рд╣рд╛рдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рд╕рдм рд╕рд░рд▓рддрд╛ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
-
рд░реИрдВрдЧрд▓рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
npm i @cloudflare/wrangler -g
-
рдЖрдЗрдП рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдБ:
cd blog.example.com
-
рд░реИрдВрдЧрд▓рд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ:
wrangler init тАФ site hugo-worker
-
рд░реИрдВрдЧрд▓рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдПрдВ (рдкреВрдЫреЗ рдЬрд╛рдиреЗ рдкрд░ рдЯреЛрдХрди рджрд░реНрдЬ рдХрд░реЗрдВ):
wrangler config
рдЖрдЗрдП рдЕрдм рдирд╡ рдирд┐рд░реНрдорд┐рдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рд░реИрдВрдЧрд▓рд░.рдЯреАрдУрдПрдордПрд▓ (
-
рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХрд░рдирд╛ рдПрдХрд╛рдЙрдВрдЯрд┐рдб рдФрд░ рдЬрд╝реЛрдирд┐рдб
-
рд╣рдо рдмрджрд▓рддреЗ рд╣реИрдВ рдорд╛рд░реНрдЧ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ *blog.example.com/*
-
рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХрд░рдирд╛ рдЕрд╕рддреНрдп рдХреЗ рд▓рд┐рдП рд╡рд░реНрдХрд░реНрд╕рджреЗрд╡
-
рдмрдХреЗрдЯ рдХреЛ ./рдкрдмреНрд▓рд┐рдХ рдореЗрдВ рдмрджрд▓реЗрдВ (рдпрд╛ рдЬрд╣рд╛рдВ рдЖрдкрдХреА рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рд╕реНрдерд┐рдд рд╣реИ)
-
рдпрджрд┐ рдЖрдкрдХреЗ рдкрде рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдбреЛрдореЗрди рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХрд╛рд░реНрдпрд╢реАрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрде рдХреЛ рд╕рд╣реА рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: рд╡рд░реНрдХрд░реНрд╕-рд╕рд╛рдЗрдЯ/index.js (рдлрд╝рдВрдХреНрд╢рди рджреЗрдЦреЗрдВ рд╣реИрдВрдбрд▓рдЗрд╡реЗрдВрдЯ)
рдмрдврд╝рд┐рдпрд╛, рдЕрдм рдЯреАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╛рдЗрдЯ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИ wrangler publish
.
рднрд╛рдЧ 4: рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реНрд╡рдЪрд╛рд▓рди
рдпрд╣ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ Gitlab рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреА рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд╕рд╛рд░ рдФрд░ рдЖрд╕рд╛рдиреА рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИред
рдЪрд░рдг 1: рд╣рдорд╛рд░рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
-
рдПрдХ рдирдпрд╛ GitLab рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ рдФрд░ рд╕рд╛рдЗрдЯ: рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ blog.example.com рд╕рднреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП
-
рд╣рдорд▓реЛрдЧ рддреИрдпрд╛рд░ рд╣реИрдВ рдЪрд░ рд╕реАрдПрдлрдПрдкреАрдЯреЛрдХрди рдпрд╣рд╛рдБ: рд╕реЗрдЯрд┐рдВрдЧ тЖТ рд╕реАрдЖрдИ / рд╕реАрдбреА тЖТ рдЪрд░
рдЪрд░рдг 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