рдирдорд╕реНрддреЗ! рдореЗрд░реЛ рдирд╛рдо рджрд┐рдорд╛ рд╣реЛ, рдо Wrike рдорд╛ SysOps рдЯреЛрд▓реАрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рдиреЗрддреГрддреНрд╡ рд╣реБрдБред рдпрд╕ рд▓реЗрдЦрдорд╛ рдо рддрдкрд╛рдИрдВрд▓рд╛рдИ 10 рдорд┐рдиреЗрдЯ рд░ 5 рдбрд▓рд░ рдПрдХ рдорд╣рд┐рдирд╛рдорд╛ рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХрд╕рд░реА рд╕рдореНрднрд╡ рднрдПрд╕рдореНрдо рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рдирдЬрд┐рдХ рдмрдирд╛рдЙрдиреЗ рд░ рдпрд╕рдХреЛ рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдмрддрд╛рдЙрдиреЗрдЫреБред рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореНрд░реЛ рдЯреЛрд▓реА рднрд┐рддреНрд░ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреЗ рд╕рдорд╕реНрдпрд╛рд╣рд░реВрд╕рдБрдЧ рд▓реЗрдЦрдХреЛ рд▓рдЧрднрдЧ рдХреБрдиреИ рд╕рд░реЛрдХрд╛рд░ рдЫреИрдиред рдпреЛ рдмрд░реБ рдореЗрд░реЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╡ рд░ рдореЗрд░реЛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ рдЫ рдХрд┐ рдПрдХ рдкреНрд░рд╡рд┐рдзрд┐ рдЬрд╛рдиреНрди рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗ рдкреНрд░рднрд╛рд╡ рд╣реЛред рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рдлрд░рдХ рдЕрдиреБрднрд╡ рднрдПрдХрд╛ рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреЛрдЧреА рд╣реБрдиреЗ рдЧрд░реА рдореИрд▓реЗ рд╕рдХреЗрд╕рдореНрдо рд╡рд┐рд╕реНрддреГрдд рд░реВрдкрдорд╛ рдЪрд░рдгрд╣рд░реВ рд╡рд░реНрдгрди рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реЗрдВред рдорд▓рд╛рдИ рдЖрд╢рд╛ рдЫ рдХрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдордЬрд╛ рд▓рд┐рдиреБрд╣реБрдиреЗрдЫред рдЬрд╛рдЙ!
рддреНрдпрд╕реЛрднрдП, рд╕рд╛рдпрдж рддрдкрд╛рдИрдВрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╣реЛрд╕реНрдЯ рдЧрд░реНрдиреЗ рд╕рд░рд▓ рд░ рд╕рд╕реНрддреЛ рддрд░рд┐рдХрд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрднрдПрдХреЛ рдЫред рд╕рд╛рдпрдж рдирд┐:рд╢реБрд▓реНрдХ рдкрдирд┐, рдпрд╕рдорд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдП рдЕрдиреБрд╕рд╛рд░
рддрд░ рдЕрдЪрд╛рдирдХ рддрдкрд╛рдИрдВ рдЕрдЭреИ рдмреЛрд░ рд╣реБрдиреБрд╣реБрдиреНрдЫ рд░ рдЯреЗрдХреНрдиреЛрд▓реЛрдЬреАрдХреЛ рдмрд╣рд╛рджреБрд░ рдирдпрд╛рдБ рд╕рдВрд╕рд╛рд░ рдЫреБрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ? рдорд╛рдиреМрдВ рддрдкрд╛рдИрдВ рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рд╕реЛрдЪреНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рд░ рдЖрдлреНрдиреЛ рд╕рд╛рдЗрдЯрд▓рд╛рдИ рд╕рдХреЗрд╕рдореНрдо рдЧрддрд┐ рджрд┐рди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ? рдпрд╕ рд▓реЗрдЦрдорд╛ рд╣рд╛рдореА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫреМрдВ
рд╣рд╛рдореА рд╕реНрд╡рдЪрд╛рд▓рдирдХреЛ рд▓рд╛рдЧрд┐ Gitlab CI/CD рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВ, рддрд░ рдПрдХреНрд╕реЗрд▓реЗрд░реЗрд╢рдирдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗ рд╣реЛ? рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ Cloudflare рдорд╛ рд╕реАрдзрд╛ рд╕рд╛рдЗрдЯ рддреИрдирд╛рдд рдЧрд░реМрдВ
рдХреЗ рд╕реБрд░реБ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:
-
Gitlab (рддрдкрд╛рдИрдВрдХреЛ рдЖрдлреНрдиреИ рд╡рд╛
рдмрд╛рджрд▓ ) -
рдЦрд╛рддрд╛ Cloudflare рдорд╛ -
рд╕реНрдерд╛рдкрдирд╛ рдЧрд░рд┐рдпреЛ
nodejs/npm
рднрд╛рдЧ 1: Hugo рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджреИ
рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдкрд╣рд┐рд▓реЗ рдиреИ Hugo рд╕реНрдерд╛рдкрд┐рдд рдЫ, рд╡рд╛ рдпрджрд┐ рддрдкрд╛рдЗрдБ рдлрд░рдХ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдЬреЗрдиреЗрд░реЗрдЯрд░ рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ (рд╡рд╛ рдХреБрдиреИ рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдирдЧрд░реНрдиреБрд╣реЛрд╕реН), рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдЗрдБ рдпреЛ рднрд╛рдЧ рдЫреЛрдбреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
-
Hugo рдмрд╛рдЯ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН
https://github.com/gohugoio/hugo/releases -
рд╣рд╛рдореАрд▓реЗ рд╣реНрдпреБрдЧреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдлрд╛рдЗрд▓рдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рддреА рдордзреНрдпреЗ рдПрдХ рдЕрдиреБрд╕рд╛рд░ рд░рд╛рдЦреНрдЫреМрдВ
PATH рддрд░рд┐рдХрд╛рд╣рд░реВ -
рдирдпрд╛рдБ рд╕рд╛рдЗрдЯ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ:
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
рдЕрдм рд╣рд╛рдореНрд░реЛ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рднрд┐рддреНрд░ рд╕реНрдерд┐рдд рдЫ ./рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░ рддрдкрд╛рдЗрдБрдХреЛ рдкрд╣рд┐рд▓реЛ рдореНрдпрд╛рдиреБрдЕрд▓ рдкрд░рд┐рдирд┐рдпреЛрдЬрдирдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░ рдЫред
рднрд╛рдЧ реи: рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рд╕реЗрдЯрдЕрдк рдЧрд░реНрджреИ
рдЕрдм Cloudflare рдХреЛ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рд╕реЗрдЯрдЕрдк рд╣реЗрд░реМрдВред рдорд╛рдиреМрдВ рдХрд┐ рд╣рд╛рдореАрд╕рдБрдЧ рдкрд╣рд┐рд▓реЗ рдиреИ рд╕рд╛рдЗрдЯрдХреЛ рд▓рд╛рдЧрд┐ рдбреЛрдореЗрди рдЫред рдЙрджрд╛рд╣рд░рдгрдХреЛ рд░реВрдкрдорд╛ рд▓рд┐рдФрдВ blog.example.comред
рдЪрд░рдг 1: DNS рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН
рдкрд╣рд┐рд▓реЗ, рд╣рд╛рдореНрд░реЛ рдбреЛрдореЗрди рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН, рд░ рддреНрдпрд╕рдкрдЫрд┐ рдореЗрдиреБ рд╡рд╕реНрддреБ DNSред рд╣рд╛рдореА рдПрдЙрдЯрд╛ рдмреНрд▓рдЧ рдП-рд░реЗрдХрд░реНрдб рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫреМрдВ рд░ рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдХреЗрд╣реА рдХрд╛рд▓реНрдкрдирд┐рдХ рдЖрдИрдкреА рд╕рдВрдХреЗрдд рдЧрд░реНрдЫреМрдВ (рдпреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╣реЛ
рдЪрд░рдг 2: Cloudflare рдЯреЛрдХрди
-
рдореЗрд░реЛ рдкреНрд░реЛрдлрд╛рдЗрд▓ -> API рдЯреЛрдХрдирд╣рд░реВ рдЯреНрдпрд╛рдм-> рдЯреЛрдХрди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН -> рдЕрдиреБрдХреВрд▓рди рдЯреЛрдХрди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН
рдпрд╣рд╛рдБ рддрдкрд╛рдИрдВрд▓реЗ рдЯреЛрдХрдирд▓рд╛рдИ рдЦрд╛рддрд╛ рд░ рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдорд╛ рд╕реАрдорд┐рдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рддрд░ рдЪрд┐рддреНрд░рдорд╛ рд╕реВрдЪреАрдмрджреНрдз рдЕрдиреБрдорддрд┐рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдореНрдкрд╛рджрди рд╡рд┐рдХрд▓реНрдк рдЫреЛрдбреНрдиреБрд╣реЛрд╕реНред
рднрд╡рд┐рд╖реНрдпрдХреЛ рд▓рд╛рдЧрд┐ рдЯреЛрдХрди рдмрдЪрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН, рд╣рд╛рдореАрд▓рд╛рдИ рддреЗрд╕реНрд░реЛ рднрд╛рдЧрдорд╛ рдЪрд╛рд╣рд┐рдиреНрдЫред
рдЪрд░рдг 3: Accountid рд░ zoneid рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН
рдбреЛрдореЗрди тЖТ рдкрд░рд┐рдЪрдп тЖТ [рджрд╛рдпрд╛рдБ рд╕рд╛рдЗрдбрдмрд╛рд░]
рдпреА рдореЗрд░рд╛ рд╣реБрдиреН, рдХреГрдкрдпрд╛ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдирдЧрд░реНрдиреБрд╣реЛрд╕реН :)
рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЯреЛрдХрдирдХреЛ рдЫреЗрдЙрдорд╛ рдмрдЪрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН, рд╣рд╛рдореАрд▓рд╛рдИ рддреЗрд╕реНрд░реЛ рднрд╛рдЧрдорд╛ рдкрдирд┐ рдЪрд╛рд╣рд┐рдиреНрдЫред
рдЪрд░рдг 4: рдХрд╛рдорджрд╛рд░рд╣рд░реВрд▓рд╛рдИ рд╕рдХреНрд░рд┐рдп рдЧрд░реНрдиреБрд╣реЛрд╕реН
рдбреЛрдореЗрди тЖТ рдордЬрджреБрд░ тЖТ рд╢реНрд░рдорд┐рдХрд╣рд░реВ рдкреНрд░рдмрдиреНрдз рдЧрд░реНрдиреБрд╣реЛрд╕реН
рд╣рд╛рдореА рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдирд╛рдо рд░ рдЯреНрдпрд╛рд░рд┐рдл рдХрд╛рдорджрд╛рд░рд╣рд░реВ тЖТ рдЕрд╕реАрдорд┐рдд ($ 5 рдкреНрд░рддрд┐ рдорд╣рд┐рдирд╛ рдЖрдЬ) рдЫрдиреЛрдЯ рдЧрд░реНрдЫреМрдВред рдпрджрд┐ рддрдкрд╛рдЗрдБ рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ рдкрдЫрд┐ рдирд┐: рд╢реБрд▓реНрдХ рд╕рдВрд╕реНрдХрд░рдгрдорд╛ рдЕрдкрдЧреНрд░реЗрдб рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
рднрд╛рдЧ рей: рдкрд╣рд┐рд▓реЛ рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯ (рдореНрдпрд╛рдиреБрдЕрд▓ рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯ)
рддреНрдпрд╣рд╛рдБ рдХреЗ рднрдЗрд░рд╣реЗрдХреЛ рдЫ рднрдиреА рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рдореИрд▓реЗ рдкрд╣рд┐рд▓реЛ рдореНрдпрд╛рдиреБрдЕрд▓ рдбрд┐рдкреНрд▓реЛрдпрдореЗрдиреНрдЯ рдЧрд░реЗрдВред рдпрджреНрдпрдкрд┐ рдпреЛ рд╕рдмреИ рд╕рд░рд▓ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ:
-
wrangler рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН:
npm i @cloudflare/wrangler -g
-
рд╣рд╛рдореНрд░реЛ рдмреНрд▓рдЧрдХреЛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдЬрд╛рдФрдВ:
cd blog.example.com
-
рд▓рдиреНрдЪ рд░рдЩреНрдЧрд▓рд░:
wrangler init тАФ site hugo-worker
-
рд░рдЩреНрдЧрд▓рд░рдХреЛ рд▓рд╛рдЧрд┐ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН (рд╕реЛрдзреНрджрд╛ рдЯреЛрдХрди рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН):
wrangler config
рдЕрдм рдирдпрд╛рдБ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдлрд╛рдЗрд▓рдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВ wrangler.toml (
-
рд╕рдВрдХреЗрдд рд▓реЗрдЦрд╛рдХрд╛рд░ рд░ рдХреНрд╖реЗрддреНрд░реАрдп
-
рдкрд░рд┐рд╡рд░реНрддрди рдорд╛рд░реНрдЧ рдХреЗрд╣рд┐ рдЬрд╕реНрддреИ *blog.example.com/*
-
рд╕рдВрдХреЗрдд рдЭреВрдЯрд╛ рд▓рд╛рдЧрд┐ рдХрд░реНрдордЪрд╛рд░реА рджреЗрд╡
-
рдмрд╛рд▓реНрдЯреАрд▓рд╛рдИ ./public рдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрд╣реЛрд╕реН (рд╡рд╛ рдЬрд╣рд╛рдБ рддрдкрд╛рдИрдВрдХреЛ рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдЕрд╡рд╕реНрдерд┐рдд рдЫ)
-
рдпрджрд┐ рддрдкрд╛рдИрдВрд╕рдБрдЧ рдкрдердорд╛ рдПрдХ рднрдиреНрджрд╛ рдмрдвреА рдбреЛрдореЗрди рдЫ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ рдХрд╛рдо рдЧрд░реНрдиреЗ рд▓рд┐рдкрд┐рдорд╛ рдкрде рд╕рдЪреНрдпрд╛рдЙрдиреБрдкрд░реНрдЫ: Workers-site/index.js (рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН рд╣реНрдпрд╛рдиреНрдбрд▓ рдШрдЯрдирд╛)
рд░рд╛рдореНрд░реЛ, рдпреЛ рдЯреЛрд▓реА рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕рд╛рдЗрдЯ рддреИрдирд╛рддреА рдЧрд░реНрдиреЗ рд╕рдордп рд╣реЛ wrangler publish
.
рднрд╛рдЧ рек: рдбрд┐рдкреНрд▓реЛрдпрдореЗрдиреНрдЯ рд╕реНрд╡рдЪрд╛рд▓рди
рдпреЛ рдЧрд╛рдЗрдб Gitlab рдХреЛ рд▓рд╛рдЧрд┐ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ, рддрд░ рдпрд╕рд▓реЗ рд╕рд╛рд░ рд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрдорд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рддреИрдирд╛рддреА рдХреЛ рд╕рд╣рдЬрддрд╛ рдХреИрдж рдЧрд░реНрджрдЫред
рдЪрд░рдг 1: рд╣рд╛рдореНрд░реЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рд┐рд░реНрдЬрдирд╛ рд░ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН
-
рдирдпрд╛рдБ GitLab рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рд╕рд╛рдЗрдЯ рдЕрдкрд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН: рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА blog.example.com рд╕рдмреИ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рд╣реБрдиреБрдкрд░реНрдЫ
-
рд╣рд╛рдореАрд▓реЗ рд╕реЗрдЯ рдЧрд░реНрдпреМрдВ рдЪрд░ CFAPITOKEN рдпрд╣рд╛рдБ: рд╕реЗрдЯрд┐рдЩ тЖТ CI / CD тЖТ рдЪрд░рд╣рд░реВ
рдЪрд░рдг 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 тЖТ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд╣рд░реВ тЖТ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЪрд▓рд╛рдЙрдиреБрд╣реЛрд╕реН) рд╡рд╛ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛рдорд╛ рдкреНрд░рддрд┐рдмрджреНрдз рднрдПрд░ред рднреЛрдЗрд▓рд╛!
рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛
рдард┐рдХ рдЫ, рдореИрд▓реЗ рдпрд╕рд▓рд╛рдИ рдереЛрд░реИ рдмреБрдЭреЗрдХреЛ рд╣реБрди рд╕рдХреНрдЫ, рд░ рд╕рдореНрдкреВрд░реНрдг рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓реЗ рджрд╕ рдорд┐рдиреЗрдЯ рдорд╛рддреНрд░ рд▓рд┐рдпреЛред рддрд░ рдЕрдм рддрдкрд╛рдИрдВрд╕рдБрдЧ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯрдХреЛ рд╕рд╛рде рджреНрд░реБрдд рд╕рд╛рдЗрдЯ рдЫ рд░ рддрдкрд╛рдИрдВрд▓реЗ рдХрд╛рдорджрд╛рд░рд╣рд░реВрд╕рдБрдЧ рдХреЗ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдХреЗрд╣реА рдирдпрд╛рдБ рд╡рд┐рдЪрд╛рд░рд╣рд░реВ рдЫрдиреНред
рд╕реНрд░реЛрдд: www.habr.com