рд╡реЗрдпрд░рдл , рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ
рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд GitOps CLI рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИред рд╡реЗрдпрд░рдл рдбреЙрдХрдлрд╛рдЗрд▓ рдпрд╛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдирд┐рд░реНрдорд┐рдд рдХрд▓реЗрдХреНрдЯрд░ (рдпрд┐рдорд┐рд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд, рдПрдиреАрд╕рдмрд▓ рд╕рдорд░реНрдерди рдФрд░ Git рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдХреЛрдбрд╛рдВрддрд░рдг рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд╣реЗрд▓реНрдо-рд╕рдВрдЧрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб, рдПрдХрддреНрд░рд┐рдд рдЪрд┐рддреНрд░реЛрдВ рдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд░реЛрд▓рдЖрдЙрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдПрдХ Git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд┐рдд
рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬ 1.0 рдХрд╛рд░реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреВрд░реА рдХреА рдЧрдИ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ
(рдкрд╣рд▓реА рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬ рдХрд╛ рд╕рдЯреАрдХ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ 1.0.6 рд╣реИ) ред рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рд╡реЗрдпрд░рдл рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбрд┐рд▓реАрд╡рд░реА рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рдкреВрд░реНрдг рдЪрдХреНрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдореЗрдЬ рдЕрд╕реЗрдВрдмрд▓ рдХрд░рдирд╛, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рдФрд░ рдЕрдкреНрд░рдпреБрдХреНрдд рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг 1.0 рдореЗрдВ, рдПрдХ рдореЗрдЬрдмрд╛рди рдкрд░ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ (
build
,
deploy
,
cleanup
) рдкрд░ рд╕рднреА рд╕рдВрдЪрд╛рд▓рди рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╕реАрдЖрдИ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реА рд╕рдордп, рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдорд╛рдирддрд╛ рдкрд░ рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд╣реИ: рд╡реЗрдпрд░рдл рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рдЖрдк рд╡рд┐рднрд┐рдиреНрди рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЗ рдмреАрдЪ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рднреА рд╡рд┐рддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдФрд░ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рднреА рдмрд╛рд░реАрдХреА рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рд╣рдо "GitOps" рд╢рдмреНрдж рдХреА рд╕рдордЭ рдФрд░ рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рддрд░рдг (CI / CD) рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ werf рдХреА рднреВрдорд┐рдХрд╛ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред
рдХреНрдпреЛрдВ werf GitOps рд╣реИ
рддреЛ рд╣рдореЗрдВ GitOps рд╕реЗ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ рдФрд░ рдХрд┐рди рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ werf рдХрд╡рд░ рд╣реИ?
"GitOps" рд╢рдмреНрдж Weaveworks рджреНрд╡рд╛рд░рд╛ рд▓рдЧрднрдЧ 2.5 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╣рдордиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреЗ рдПрдХ рд▓реЗрдЦ рдХрд╛
рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдмреНрд▓реЙрдЧ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдирдИ рдШрдЯрдирд╛ рдХрд╛ рд╕рд╛рд░ рдмрддрд╛рддрд╛ рд╣реИред рд╣рдорд╛рд░реА рд╕рдордЭ рдореЗрдВ, GitOps рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдФрд░ рдореБрдЦреНрдп рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐
Git рдПрдХ "рд╕рддреНрдп рдХрд╛ рдПрдХрд▓ рд╕реНрд░реЛрдд" рд╣реИ ред Git рд╕реНрдЯреЛрд░:
- рдЖрд╡реЗрджрди рдХреЛрдб
- рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ;
- рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА;
- рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЛ рдХреИрд╕реЗ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА;
- рдФрд░ рдЕрдиреНрдп
рдФрд░ рдлрд┐рд░ "рдХреБрдЫ" рд╣реИ рдЬреЛ
рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХреЛ рдЧрд┐рдЯ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЕрдиреБрд░реВрдк рдмрдирд╛рддрд╛
рд╣реИ ред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рди рдХреЗрд╡рд▓ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдХреБрдЫ рдСрдкрд░реЗрдЯрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЧрд┐рдЯ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рдХрдВрд╕реЛрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХрд┐рд╕реА рднреА CI рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдорд╛рд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╕реАрдПрд▓рдЖрдИ-рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд╕рд╛рде рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд▓рдЧрд╛рддрд╛ рд╣реИ: рд╣рдо рд╕реАрдЖрдИ рдХреЛ рдХрд┐рд╕реА рднреА рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рдФрд░ рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реАрдПрд▓рдЖрдИ-рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ "рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛" (рдпрд╛рдиреА рдХреБрдмреНрдЬрд┐рдд) рдХреЛ рдЧрд┐рдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИред ред
рд╡реЗрдпрд░рдл рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рд╕реАрдПрд▓рдЖрдИ рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ, рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ рд╕рдлрд╛рдИ рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
werf build-and-publish
,
werf deploy
,
werf dismiss
,
werf cleanup
ред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпреЗ рдмрд╣реБрдд рд╣реА рдореВрд▓ рдЖрджреЗрд╢ рдПрдХ рд╡рд┐рд╢реЗрд╖ CI рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рд╣реИрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, werf рд╡рд┐рднрд┐рдиреНрди рдЙрдк-рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп CLI рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ - рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ
рдирд┐рдореНрди рд╕реНрддрд░ рдХреЗ рдкреНрд░рдмрдВрдзрди рдЖрджреЗрд╢ рджреЗрдЦреЗрдВред
рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдХреНрдпрд╛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд CI / CD рдкреБрд╢- рдпрд╛ рдкреБрд▓-рдореЙрдбрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛
( рдпрд╣рд╛рдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ) , рдХреНрдпреЛрдВрдХрд┐
werf рдХреЛ рдХрд┐рд╕реА рднреА рдореЙрдбрд▓ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред рдЙрд╕реА рд╕рдордп, werf рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдЬреИрд╕реЗ
git
, docker рдФрд░ kubernetes api-server рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ, рдПрдХ рдПрдХреАрдХреГрдд CI / CD рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рд▓рд╛рдкрддрд╛ рднрд╛рдЧ" рд╣реЛрддрд╛ рд╣реИред
1.0f рд╕реНрдерд┐рд░ рдХреНрдпрд╛ рд╣реИ
1. рд╡рд┐рдзрд╛рдирд╕рднрд╛, рдкреНрд░рдХрд╛рд╢рди рдФрд░ рдЫрд╡рд┐рдпреЛрдВ рдХреА рд╕рдлрд╛рдИ
рдпрджрд┐ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдбреЙрдХрд░ рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк 1.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рдПрдХрд▓
werf.yaml
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рдирд┐рдпрдо (рдЖрдк рдХрдИ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ) рдХрд╛ werf.yaml
; - рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВ рдФрд░ рдбреЙрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ
- рдХрд╕реНрдЯрдо рдиреАрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдордп-рд╕рдордп рдкрд░ рдбреЙрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЛ рд╕рд╛рдл рдХрд░реЗрдВред
рд╡реЗрдпрд░рдл
рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:
рдореМрдЬреВрджрд╛ рдбреЙрдХрдлрд╛рдЗрд▓реНрд╕ рдФрд░
рд╕реНрдЯреИрдкрд▓ рдХрд▓реЗрдХреНрдЯрд░ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП
werf.yaml
рдЬреЛрдбрд╝рдирд╛ ред рд╕реНрдЯреЗрдкрд▓ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдХреЗ рдЕрдкрдиреЗ рдлрд╛рдпрджреЗ рд╣реИрдВ: рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдЬрдм Git рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд▓рд┐рдП Ansible рд╕рд┐рдВрдЯреИрдХреНрд╕ рдФрд░ рдЕрдиреНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПред рдЖрдк
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЗрд╕ рдХрд▓реЗрдХреНрдЯрд░ рдФрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ
рдЬрд╛рди рд╕рдХрддреЗ
рд╣реИрдВ , рдФрд░ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг
рдореИрдиреБрдЕрд▓ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛
рд╣реИ ред
рдПрдХрддреНрд░рд┐рдд рдЪрд┐рддреНрд░реЛрдВ рдХреА рдЯреИрдЧрд┐рдВрдЧ / рд╕рдВрд╕реНрдХрд░рдгрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдпреЛрдЬрдирд╛рдПрдБ Git рдХрдорд┐рдЯ, рд╢рд╛рдЦрд╛рдУрдВ рдФрд░ рдЯреИрдЧ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред
рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдЖрд╡реЗрджрди рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЪрд░рдг рд╣реИ рдФрд░ рдЗрд╕реЗ рдЖрдкрдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЗрдХрдЯреНрдареЗ рдЪрд┐рддреНрд░реЛрдВ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
2. рдХреЗрд╡рд▓ рдПрдХ рдореЗрдЬрдмрд╛рди рдкрд░ рд╕реНрдЯреЗрдЬ рд╕реНрдЯреЛрд░реЗрдЬ
рд╡реЗрдпрд░рдл рдиреЗ рдЪрд░рдгреЛрдВ рдХреЗ рднрдВрдбрд╛рд░рдг рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдкрд░рд┐рдЪрдп рджрд┐рдпрд╛ред рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рд╕реЗ рдореБрдЦреНрдп рд╡реЗрдпрд░рдл рдХрдорд╛рдВрдб рдЪрд░рдг рднрдВрдбрд╛рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:
- рдЕрд╕реЗрдВрдмрд▓реА рдкрд░рд┐рдгрд╛рдо рд╕рд╣реЗрдЬреЗрдВ - рд╕реНрдЯреЗрдЬ рд╕реНрдЯреЛрд░ рдореЗрдВ рдбреЙрдХрд░ рдЪрд┐рддреНрд░
- рдордВрдЪ рдХреА рджреБрдХрд╛рди рд╕реЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдФрд░ рдирдИ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ;
- рдЙрдирдХреЗ рдЖрдЧреЗ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХрддреНрд░ рдХреА рдЧрдИ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднрдВрдбрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ)ред
рдПрдХ рдПрдХрд▓ рдЖрд╡реЗрджрди рдХреЛ рддреИрдирд╛рдд рдХрд░рддреЗ рд╕рдордп, рд╕рднреА рдЯреАрдореЛрдВ (рд╡рд┐рдзрд╛рдирд╕рднрд╛, рдкреНрд░рдХрд╛рд╢рди, рдЫрд╡рд┐ рд╕рдлрд╛рдИ, рдЖрд╡реЗрджрди рдкрд░рд┐рдирд┐рдпреЛрдЬрди) рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХрд▓ рдЪрд░рдг рднрдВрдбрд╛рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рдВрд╕реНрдХрд░рдг 1.0 рдореЗрдВ, рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рд╣реЛрд╕реНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдПрдХ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдзрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ: -
--stages-storage=:local
)ред рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп
:local
рдЪрд░рдгреЛрдВ рдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо:
werf 1.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓
рдПрдХ рд╣реЛрд╕реНрдЯ рдкрд░ рдПрдХ рдЖрд╡реЗрджрди рдХреА рддреИрдирд╛рддреА
рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╣реЛрд╕реНрдЯ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдпрд░рдл рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рд▓реЙрдиреНрдЪ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рдВрд╕реНрдХрд░рдг 1.0 рдореЗрдВ, рдмрд╛рд╣рд░реА рднрдВрдбрд╛рд░рдг рдореЗрдВ рдЪрд░рдгреЛрдВ рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдПрдХ рд╡рд┐рддрд░рд┐рдд рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдЖрдпреЛрдЬрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╡реЗрдпрд░рдл рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛
(рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджреЗрдЦреЗрдВ) ред
3. рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд░реЛрд▓ рдХрд░реЗрдВ рдФрд░ рдЙрдкрд▓рдмреНрдзрддрд╛ рдЬрд╛рдВрдЪреЗрдВ
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЪрд╛рд░реНрдЯ рдХрд╛ рд╡рд░реНрдгрди рд╣реЗрд▓реНрдо рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХрд░рддрд╛ рд╣реИ: рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкреИрд░рд╛рдореАрдЯрд░ред
рд╡реЗрдпрд░рдлрд╝ рдиреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдФрд░ рдПрдХ рдЧрд╛рд░рдВрдЯреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЖрд╡реЗрджрди рд░реЛрд▓рдЖрдЙрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗред рдЗрд╕рдореЗрдВ рдШрдЯрдХ рд▓реЙрдЧ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдФрд░ рд░реЛрд▓рдЖрдЙрдЯ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬрдм рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЧрдпрд╛ - рд░реЛрд▓рдЖрдЙрдЯ рдХрдорд╛рдВрдб рдПрдХ рдЧреИрд░-рд╢реВрдиреНрдп рдХреЛрдб рдХреЗ рд╕рд╛рде рдЫреЛрдбрд╝ рджреЗрдЧрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЬрдм CI / CD рдореЗрдВ рд╡реЗрдпрд░рдл рд░реЛрд▓рдЖрдЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ,
рддреЛ рд╣рдореЗрдВ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓рддреА рд╣реИ : рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдФрд░ рдбрд┐рдмрдЧ рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рд╣реИ (
kubectl
рдЬреИрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛)ред
рд╡рд╕реАрдл рдореМрдЬреВрджрд╛ рд╣реЗрд▓реНрдо 2 рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗрд░реЗрдл рдХреЛ рдЗрд╕рдХреЗ рдХрдИ рдлрд╛рдпрджреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕
3-рд╡реЗ-рдорд░реНрдЬ рдкреИрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдЖрд╡реЗрджрди рдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рднреА рд╣реЛрддреА рд╣реИред
рдЗрд╕ рдкреГрд╖реНрда рдкрд░ рдорддрднреЗрджреЛрдВ рдХреА рдПрдХ рдкреВрд░реА рд╕реВрдЪреА рд╡рд░реНрдгрд┐рдд рд╣реИред
4. рдЖрд╡реЗрджрди рд╡рд┐рддрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХрддреНрд░ рдХреА рдЧрдИ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рд╕рдВрдмрдВрдз
рд╡реЗрдпрд░рдл рдиреЗ рдПрдХрддреНрд░ рдХреА рдЧрдИ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛, рдЙрдиреНрд╣реЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд╣реБрдВрдЪрд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдЯреИрдЧ рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрд╕реНрдХрд░рдгрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ред рд╡реЗрдлреНрд╕ рдЬреЛ рдЫрд╡рд┐рдпрд╛рдБ рдПрдХрддреНрд░рд┐рдд рдХрд░рддреА рд╣реИрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕рд╛рдзрди рд╡рд┐рд╡рд░рдг рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐
рд╣рд░реНрдл рдЕрд▓рдЧ рд╕реЗ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЗрд▓реНрдо, рдбреЙрдХрд░ рдФрд░ рдЕрдиреНрдп рдмрд┐рд▓реНрдбрд░реЛрдВ рдФрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ
рдПрдХ рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ ред рдпрд╣ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдореМрдЬреВрджрд╛ CI / CD рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХреЗрд╡рд▓ werf рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рд╡рд╣ рдЗрд╕ рдХрд╛рд░реНрдп рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрддрд╛ рд╣реИред
5. рдореМрдЬреВрджрд╛ рд╕реАрдЖрдИ / рд╕реАрдбреА рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг
рд╕рдВрд╕реНрдХрд░рдг 1.0 рдореЗрдВ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдПрдХреАрдХрд░рдг рдХреЗрд╡рд▓
GitLab CI рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдЙрдкрд▓рдмреНрдз
рд╣реИ ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
werf ci-env
рдХрдорд╛рдВрдб рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ CI / CD рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ CI рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП werf рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИред
рдореИрдиреБрдЕрд▓ (
рд╕рдореАрдХреНрд╖рд╛ ,
GitLab CI рдмрд╛рд░реАрдХрд┐рдпреЛрдВ ,
рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг ) рдореЗрдВ рдХрд┐рд╕реА рднреА CI / CD рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
6. рд▓рд┐рдирдХреНрд╕, рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рдореИрдХрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╡рд┐рдХрд╛рд╕
werf 1.0 рдПрдХ рд╕реНрдЯреИрдЯрд┐рдХрд▓реА рд▓рд┐рдВрдХреНрдб рдмрд╛рдЗрдирд░реА рдлрд╛рдЗрд▓ рд╣реИ рдЬреЛ рдбреЙрдХрд░ рдФрд░ рд╣реЗрд▓реНрдо рджреЛрдиреЛрдВ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдореЗрдЬрдмрд╛рди рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛:
- рд╕реНрдерд╛рдиреАрдп рдбреЙрдХрд░ рдбреЗрдореЙрди
- рдЧрд┐рдЯ рдЙрдкрдпреЛрдЧрд┐рддрд╛ред
werf GNU / Linux, Windows, рдпрд╛ macOS рдХреЗ рдХрд┐рд╕реА рднреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╡рд╛рддрд╛рд╡рд░рдг рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕рд┐рд╕реНрдЯрдо рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рдорд╛рди рд╣реЛрдЧрд╛: рдХреИрд╢ рдЪрд░рдгреЛрдВ рдХрд╛ рд╕рдорд╛рди рд╣рд╕реНрддрд╛рдХреНрд╖рд░, рдЪрд░рдгреЛрдВ рдХрд╛ рдПрдХ рд╣реА рднрд░рдирд╛, рдЙрд╕ рдЪрд░рдг рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдЬрд╣рд╛рдВ рдпрд╣ рдЪрд░рдг рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╡реЗрдпрд░рдл 1.0, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЯреВрд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдпрд╣рд╛рдВ рдпрд╣ рднреА рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡реЗрдпрд░рдл рд▓рд┐рдирдХреНрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдбреЙрдХрд░ рдЫрд╡рд┐рдпрд╛рдВ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди
рд╡рд┐рдВрдбреЛрдЬ рдХрдВрдЯреЗрдирд░ рд╕рдВрд╕реНрдХрд░рдг 1.0 рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ
рд╣реИрдВ ред
7. рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдХрд╡рд░ рдХрд░рдирд╛
рд╡рд░реНрддрдорд╛рди рдореЗрдВ 60% рд╡реЗрдпрд░рдл рдХреЛрдб рдПрдХреАрдХрд░рдг e2e рдкрд░реАрдХреНрд╖рдгреЛрдВ рдФрд░ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд╡рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЕрдкрдиреЗ рд▓реЙрдиреНрдЪ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП GitHub Actions рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рд╕рдорд░реНрдерд┐рдд OS (Linux, Windows рдФрд░ macOS) рдкрд░ werf рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рд╡рд░рдг
рдХреЛрдб рдЬрд▓рд╡рд╛рдпреБ рдкрд░ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИрдВред
8. рд╡рд░реНрдлрд╝рд┐рдВрдЧ рд╡реЗрдпрд░рдлрд╝
рдлрд┐рд▓рд╣рд╛рд▓, 1.0 рд╕рдВрд╕реНрдХрд░рдг рдХреА рд░рд┐рд▓реАрдЬ рдХреЗ рджреНрд╡рд╛рд░рд╛, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ
рд▓рдЧрднрдЧ 700 рд░рд┐рд▓реАрдЬ рдХрд┐рдП рдЧрдП рд╣реИрдВред
рдПрд░реЗрд╕ рд╕реНрдерд┐рд░рддрд╛ рдЪреИрдирд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрдиреНрдирдд рд░рд┐рд▓реАрдЬ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:
рдЕрд▓реНрдлрд╛ ,
рдмреАрдЯрд╛ ,
рдИрдИ (рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд╣реБрдВрдЪ) ,
рд╕реНрдерд┐рд░ рдФрд░
рд░реЙрдХ-рд╕реЙрд▓рд┐рдб ред рдпрд╣ рдкреЛрд╕реНрдЯ
рд╕реНрдерд┐рд░ рдЪреИрдирд▓ рдореЗрдВ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг 1.0 рдХреА рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордпрдмрджреНрдз рд╣реИред рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрд╕реНрдерд┐рд░ рдкрд░рд┐рд╡рд░реНрддрди рдкрд╣рд▓реЗ рдЪреИрдирд▓реЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЕрдВрддрддрдГ
рд░реЙрдХ-рд╕реЙрд▓рд┐рдб рдореЗрдВ рд╕рдорд╛рдкреНрдд
рд╣реЛрддреЗ рд╣реИрдВ ред рд░рд┐рд▓реАрдЬрд╝ рдЕрдХреНрд╕рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ (рдХрднреА-рдХрднреА рдкреНрд░рддрд┐ рджрд┐рди рдХрдИ) рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди "рдЫреЛрдЯреЗ рд╣рд┐рд╕реНрд╕реЗ" рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рд╕реНрдерд┐рд░рддрд╛ рдЪреИрдирд▓ рдФрд░ рдХрдИ рд▓рдЧрд╛рддрд╛рд░ рд░рд┐рд▓реАрдЬ рдЖрдкрдХреЛ рдирдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдкрд░ рдирд┐рд░рдВрддрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдЬрд▓реНрджреА рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рдкрд╕ рд░реЛрд▓ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдФрд░ рдЖрдорддреМрд░ рдкрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреА рдЙрдЪреНрдЪ рд╕реНрдерд┐рд░рддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЗрд╕рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рдЧрддрд┐ред
рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг 1.0-> 1.1, 1.1-> 1.2 рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╕рдордп, рд╡реЗрдпрд░рдлрд╝ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╕рдВрднрд╡ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдореИрдиреНрдпреБрдЕрд▓ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдпрд╣ рдПрдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛ рд╕рдХрддреА рд╣реИ рдпрд╛ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдореИрдиреБрдЕрд▓ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢)ред 1.0 (1.0.1, 1.0.2, ... 1.0.6-рдЕрд▓реНрдлрд╛.1, 1.0.6-рдмреАрдЯрд╛.2, рдЖрджрд┐) рдХреЗ рдЕрдВрджрд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдореИрдиреБрдЕрд▓ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдЖрдк рдкрд┐рдЫрдбрд╝реЗ рдЕрдиреБрдХреВрд▓рддрд╛ рд╡рд╛рджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ
рдпрд╣рд╛рдБ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдЧреЗ рдХреА рдпреЛрдЬрдирд╛
рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХреЗ рдореБрдЦреНрдп рдкреНрд░рдореБрдЦ рдХреНрд╖реЗрддреНрд░ рдХреНрдпрд╛ рд╣реИрдВ рдЬреИрд╕реЗ рдЙрдирдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорд╛рдирд┐рдд рдФрд░ рдЕрдиреБрдорд╛рдирд┐рдд рд╢рд░реНрддреЗрдВ:
1. рд╕реНрдерд╛рдиреАрдп рд╡рд┐рдХрд╛рд╕ рдФрд░ рд╡реЗрдпрд░рдл рдХреЗ рд╕рд╛рде рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рддреИрдирд╛рддреА
рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рджреЛрдиреЛрдВ рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рдФрд░ рдЙрддреНрдкрд╛рджрди рдореЗрдВ, рдЬрдЯрд┐рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд┐рдирд╛, рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХреАрдХреГрдд рд╡рд┐рдиреНрдпрд╛рд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИред
Werf рдХреЛ рдСрдкрд░реЗрд╢рди рдХреЗ рдПрдХ рдореЛрдб рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рддреБрд░рдВрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред
рд╕рдВрд╕реНрдХрд░рдг 1.1, рдЬрдирд╡рд░реА-рдлрд░рд╡рд░реА 20202. рд╕рд╛рдордЧреНрд░реА-рдЖрдзрд╛рд░рд┐рдд рдЯреИрдЧрд┐рдВрдЧ
рдЬрдм рд╡реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЯреИрдЧ рдХрд░рдирд╛, рдХреЗрд╡рд▓ рдЗрд╕ рдЫрд╡рд┐ рдХреА рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдореЛрдб рдХреЗ рд╡рд┐рдкрд░реАрдд рдЧрд┐рдЯ рд╣рд┐рдЯ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рдореЛрдб рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ред рдЧрд┐рдЯ-рдХрдорд┐рдЯ-рдЖрдИрдбреА рд╡рд░реНрдХрдЯреНрд░реА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ)ред
рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬрд╣рд╛рдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдирд╣реАрдВ рдмрджрд▓рд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдирдИ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рдЧрд┐рдЯ рдХрдорд┐рдЯ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдЯреИрдЧрд┐рдВрдЧ рдореЛрдб рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрдиреЗ рдкрд░ рдПрдХ рдирдпрд╛ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдЫрд╡рд┐ рдмрдирд╛рдПрдЧрд╛ред рдпрд╣ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдЗрд╕ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдПрдХ рд░реЛрд▓рдмреИрдХ рднреА рдХрд░реЗрдЧрд╛ред рдЙрд╕реА рд╕рдордп, рдЫрд╡рд┐ рдХреА рд╕рд╛рдордЧреНрд░реА рд╕реНрд╡рдпрдВ рдирд╣реАрдВ рдмрджрд▓реАред
рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡реЗрдпрд░рдл рдПрдкреНрд▓реАрдХреЗрд╢рди
рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЪреЗрдХрд╕рдо рдХреА рдЧрдгрдирд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдирдП рдкреНрд░рдХрд╛рд░ рдХреА рдЯреИрдЧрд┐рдВрдЧ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдВрдЧреЗ -
рд╕рд╛рдордЧреНрд░реА-рдЖрдзрд╛рд░рд┐рдд рдЯреИрдЧрд┐рдВрдЧ ред
рд╕рдВрд╕реНрдХрд░рдг 1.1, рдлрд░рд╡рд░реА-рдорд╛рд░реНрдЪ 20203. рд╣реЗрд▓реНрдо 3 рдореЗрдВ рд╕рдВрдХреНрд░рдордг
рдЗрд╕рдореЗрдВ рдирдП
рд╣реЗрд▓реНрдо 3 рдХреЛрдб рдмреЗрд╕ рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдФрд░ рдореМрдЬреВрджрд╛ рдкреНрд░рддрд┐рд╖реНрдард╛рдиреЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд┐рджреНрдз, рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред
рд╕рдВрд╕реНрдХрд░рдг 1.1, рдлрд░рд╡рд░реА-рдорд╛рд░реНрдЪ 20204. рдЫрд╡рд┐рдпреЛрдВ рдХреА рд╕рдорд╛рдирд╛рдВрддрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛
рдлрд┐рд▓рд╣рд╛рд▓, werf 1.0 рд╕рднреА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рдЪрд┐рддреНрд░ рдФрд░ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ
werf.yaml
рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдШреЛрд╖рд┐рдд
werf.yaml
рд╣реИред рдордВрдЪ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕рдВрд╕реНрдХрд░рдг: 1.1, рдЬрдирд╡рд░реА-рдлрд░рд╡рд░реА 20205. рдЫрд╡рд┐рдпреЛрдВ рдХреА рдЕрд╕реЗрдВрдмрд▓реА рд╡рд┐рддрд░рд┐рдд
рдлрд┐рд▓рд╣рд╛рд▓, werf 1.0 рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд╣реЛрд╕реНрдЯ рдкрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
(рдХреЗрд╡рд▓ рдПрдХ рд╣реЛрд╕реНрдЯ рдкрд░ рд╕реНрдЯреЗрдЬ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдКрдкрд░ рдХреА рдмрд╛рдд рджреЗрдЦреЗрдВ) ред
рд╡рд┐рддрд░рд┐рдд рдЕрд╕реЗрдВрдмрд▓реА рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрдм рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдХрдИ рдореЗрдЬрдмрд╛рдиреЛрдВ рдкрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпреЗ рд╣реЛрд╕реНрдЯ рдЕрд╕реЗрдВрдмрд▓реА (рдЕрд╕реНрдерд╛рдпреА рдзрд╛рд╡рдХ) рдХреЗ рдмреАрдЪ рдЕрдкрдиреЗ рд░рд╛рдЬреНрдп рдХреЛ рдмрдирд╛рдП рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдбреЛрдЬрд╝рд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╕реНрдЯреЗрдЬ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдпрд░рдлрд╝ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдкрд╣рд▓реЗ, рдЬрдм рд╡реЗрдпрд░рдл рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдбреИрдк рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛, рддреЛ рдРрд╕рд╛ рдЕрд╡рд╕рд░ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ werf рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рдВрд╕реНрдХрд░рдг 1.2: рдорд╛рд░реНрдЪ-рдЕрдкреНрд░реИрд▓ 20206. рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Jsonnet
Jfnet рдкреНрд░рд╛рд░реВрдк рдореЗрдВ
Kubernetes рдХреЗ рд▓рд┐рдП рд╡рд┐рдиреНрдпрд╛рд╕ рд╡рд┐рд╡рд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛ред рдЙрд╕реА рд╕рдордп, рд╣рд░реНрдл рд╣реЗрдо рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд░рд╣реЗрдЧрд╛ рдФрд░ рд╡рд┐рд╡рд░рдг рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЧреЛ рднрд╛рд╖рд╛ рдХреЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдПрдХ рдмрдбрд╝реА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╕реАрдорд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЗрди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреА рдХреЛрдб рдЗрдВрдЯреЗрд▓реАрдЬреЗрдВрд╕реА рднреА рдЧреНрд░рд╕реНрдд рд╣реЛрддреА рд╣реИред
рдХреБрдмреЗрд░рдиреЗрдЯ рд╡рд┐рдиреНрдпрд╛рд╕ рд╡рд┐рд╡рд░рдг рдкреНрд░рдгрд╛рд▓реА (рдЬреИрд╕реЗ рдХрд┐ рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рд╕рдВрд╕реНрдХрд░рдг 1.1: рдЬрдирд╡рд░реА-рдлрд░рд╡рд░реА 20207. рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдЕрдВрджрд░ рдХрд╛рдо рдХрд░рдирд╛
рдЙрджреНрджреЗрд╢реНрдп: рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдзрд╛рд╡рдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЫрд╡рд┐рдпреЛрдВ рдФрд░ рдЖрд╡реЗрджрди рд╡рд┐рддрд░рдг рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ред рдпрд╛рдиреА рдирдИ рдЫрд╡рд┐рдпреЛрдВ, рдЙрдирдХреЗ рдкреНрд░рдХрд╛рд╢рди, рд╕рдлрд╛рдИ рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд╛ рд╕рдВрдпреЛрдЬрди рд╕реАрдзреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреЙрдбреНрд╕ рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдПрд╣рд╕рд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рддрд░рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
(рдКрдкрд░ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рджреЗрдЦреЗрдВ) ред
рдЗрд╕реЗ рдбреЙрдХрд░ рдбреЗрдореЙрди рдХреЗ рдмрд┐рдирд╛ рдСрдкрд░реЗрд╢рди рдХреЗ рдмрд┐рд▓реНрдб рдореЛрдб рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдпрд╛рдиреА, рдПрдХ рдХрдиреАрдХреЛ рдЬреИрд╕рд╛ рдирд┐рд░реНрдорд╛рдг рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЗрдВ
рдирд┐рд░реНрдорд╛рдг )ред
рд╡реЗрдпрд░рдл рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рди рдХреЗрд╡рд▓ рдбреЛрдХрд░рдлрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдХрд░реЗрдЧрд╛, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рд╕реНрдЯреЗрдкрд▓ рдмрд┐рд▓реНрдбрд░ рдХреЗ рд╕рд╛рде рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рднреА рдХрд░реЗрдЧрд╛ред
рд╕рдВрд╕реНрдХрд░рдг 1.2: рдЕрдкреНрд░реИрд▓-рдордИ 20208. рдЕрдиреНрдп
рдпрд╣ рднреА рдпреЛрдЬрдирд╛рдмрджреНрдз рд╣реИ:
- рдЕрдиреНрд╕рд┐рдмрд▓ рд╡рд░реНрдЬрди рдЕрдкрдЧреНрд░реЗрдб рдФрд░ рдЕрдиреНрд╕рд┐рдмрд▓ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛;
- ansible рднреВрдорд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди;
- рд╕реНрдЯреЗрдкрд▓ рдореЗрдВ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдЪрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди (рд╡рд░реНрддрдорд╛рди рдореЗрдВ werf рдЪрд░рдгреЛрдВ рдХрд╛ рдПрдХ рд╕реНрдерд┐рд░ рд╕реЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:
beforeInstall
, install
, beforeSetup
, setup
, setup
); - рдмреЗрд╣рддрд░
werf.yaml
рд╕рд┐рдВрдЯреИрдХреНрд╕, werf.yaml
рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ configVersion: 2
(рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ, рджреЛ рдЕрдиреНрдп рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд╕рд╛рде рдЕрдВрддрд░), OpenAPI рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди; - Git рдореЗрдВ рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЗрдкрд▓ рдореЗрдВ Git LFS рдХрд╛ рд╕рдорд░реНрдерди;
- рдЫрд╡рд┐ рд╕рдлрд╛рдИ рддрдВрддреНрд░ рдореЗрдВ рд╕реБрдзрд╛рд░ (рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЧреИрд░-рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЦрд╛рдорд┐рдпрд╛рдВ рдореБрдЦреНрдп рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдореЗрдВ
werf.yaml
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдШреЛрд╖рд┐рдд рдирд╣реАрдВ рдХреА рдЧрдИ рдЫрд╡рд┐рдпреЛрдВ рд╕реЗ рдЬреБрдбрд╝реА рд╣реИрдВ - рдЗрди рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЖрд╡рдзрд┐рдХ рд╕рдлрд╛рдИ рджреНрд╡рд╛рд░рд╛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛); - рд╕рд╛рдЭрд╛ рдХреБрдмреЗрд░рдиреЗрдЯ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рд╕рд╣реА рдХрд╛рд░реНрдп, рдЬрдм рдПрдХ рдирд╛рдо рд╕реНрдерд╛рди рдореЗрдВ рдХрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддреИрдирд╛рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ;
- рдЕрд╕рдлрд▓ рддреИрдирд╛рддреА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд╡реАрдирддрдо рдХрд╛рд░реНрдпрд╢реАрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реЛрд▓рдмреИрдХред
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ред рд╣рдо рд╣реИрдВ:
- рд▓рдВрдмреЗ рд╕рдВрд╕реНрдХрд░рдг 1.0 рдХреЗ рдЖрдЧрдорди рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛ рдЧрдпрд╛;
- рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрднрд╡ рдХрд╛ рдПрдХ рдмрд╣реБрдд рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛;
- рд╣рдо рд╕реНрдерд┐рд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд┐рджреНрдз рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ, рд╣рдЬрд╛рд░реЛрдВ рд░реЛрд▓рдЖрдЙрдЯ рджреНрд╡рд╛рд░рд╛ рд╕рддреНрдпрд╛рдкрд┐рддред
рд╕рдВрд╕реНрдХрд░рдг 1.0 рдХреА рд░рд┐рд▓реАрдЬ рдореЗрдВ рдПрдХ рдирдП рд╡рд┐рдХрд╛рд╕ рдЪрд░рдг рдХреА рд╢реБрд░реБрдЖрдд рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдореВрд▓рднреВрдд рд░реВрдк рд╕реЗ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред рдЦрдмрд░ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ! рдФрд░
рд╡реЗрдпрд░рдл_рд░реВ рдЯреАрдЬреА-рдЪреИрдирд▓ рд╕реЗ рднреА рдЬреБрдбрд╝рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдЬреАрд╡рди рдореЗрдВ рдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рдбреЗрдл рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдлреНрд▓рдВрдЯ рдХрдВрдкрдиреА рдХреЗ рдмрд╛рд╣рд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд╣рдорд╛рд░реЗ рдЗрдВрдЬреАрдирд┐рдпрд░ рджреЛрдиреЛрдВ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВред
рдкреБрдирд╢реНрдЪ
рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдореЗрдВ рднреА рдкрдврд╝реЗрдВ: