рд░рд┐рд▓реАрдЭрдЪрд╛ рдЖрдзрд╛рд░ рд╕реНрдЯреЗрдЬ рд╕реНрдЯреЛрд░реЗрдЬрдЪреЗ рдирд╡реАрди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЖрд╣реЗ рдЖрдгрд┐ рджреЛрдиреНрд╣реА рдХрд▓реЗрдХреНрдЯрд░реНрд╕рдЪреНрдпрд╛ рдХрд╛рдорд╛рдЪреЗ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди (рд╕реНрдЯреЗрдкрд▓ рдЖрдгрд┐ рдбреЙрдХрд░рдлрд╛рдЗрд▓рд╕рд╛рдареА). рдирд╡реАрди рд╕реНрдЯреЛрд░реЗрдЬ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдПрдХрд╛рдЪ рд╣реЛрд╕реНрдЯрд╡рд░ рдПрдХрд╛рдзрд┐рдХ рд╣реЛрд╕реНрдЯ рдЖрдгрд┐ рд╕рдорд╛рдВрддрд░ рдЕрд╕реЗрдВрдмреНрд▓реАрдордзреВрди рд╡рд┐рддрд░рд┐рдд рдЕрд╕реЗрдВрдмреНрд▓реА рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдЙрдШрдбрддреЗ.
рдХрд╛рдорд╛рдЪреНрдпрд╛ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рдирдордзреНрдпреЗ рд╕реНрдЯреЗрдЬ рд╕реНрд╡рд╛рдХреНрд╖рд░реАрдЪреА рдЧрдгрдирд╛ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЧрдгрдирд╛рдкрд╛рд╕реВрди рдореБрдХреНрдд рд╣реЛрдгреЗ рдЖрдгрд┐ рдлрд╛рдЗрд▓ рдЪреЗрдХрд╕рдордЪреА рдЧрдгрдирд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдпрдВрддреНрд░рдгрд╛ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдордзреНрдпреЗ рдмрджрд▓рдгреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ. рд╣реЗ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди werf рд╡рд╛рдкрд░реВрди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрд┐рд▓реНрдбрдЪрд╛ рд╕рд░рд╛рд╕рд░реА рд╡реЗрд│ рдХрдореА рдХрд░рддреЗ. рдЖрдгрд┐ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдмрд┐рд▓реНрдб, рдЬреЗрд╡реНрд╣рд╛ рдХреЕрд╢реЗрдордзреНрдпреЗ рд╕рд░реНрд╡ рдЯрдкреНрдкреЗ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЕрд╕рддрд╛рдд рдЯрдкреНрдкреЗ-рд╕реНрдЯреЛрд░реЗрдЬ, рдЖрддрд╛ рдЦрд░реЛрдЦрд░ рдЬрд▓рдж рдЖрд╣реЗрдд. рдмрд╣реБрддреЗрдХ рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рдмрд┐рд▓реНрдб рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рдгреНрдпрд╛рд╕ 1 рд╕реЗрдХрдВрджрд╛рдкреЗрдХреНрд╖рд╛ рдХрдореА рд╡реЗрд│ рд▓рд╛рдЧреЗрд▓! рд╣реЗ рдХрд╛рд░реНрдпрд╕рдВрдШрд╛рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрддреАрд▓ рдЯрдкреНрдкреНрдпрд╛рдВрдЪреА рдкрдбрддрд╛рд│рдгреА рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╡рд░ рджреЗрдЦреАрд▓ рд▓рд╛рдЧреВ рд╣реЛрддреЗ. werf deploy
╨╕ werf run
.
рддрд╕реЗрдЪ рдпрд╛ рдкреНрд░рдХрд╛рд╢рдирд╛рдд, рд╕рд╛рдордЧреНрд░реАрдиреБрд╕рд╛рд░ рдкреНрд░рддрд┐рдорд╛ рдЯреЕрдЧ рдХрд░рдгреНрдпрд╛рдЪреА рдПрдХ рд░рдгрдиреАрддреА рджрд┐рд╕реВрди рдЖрд▓реА - рд╕рд╛рдордЧреНрд░реА-рдЖрдзрд╛рд░рд┐рдд рдЯреЕрдЧрд┐рдВрдЧ, рдЬреЗ рдЖрддрд╛ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рд╕рдХреНрд╖рдо рдХреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдлрдХреНрдд рдПрдХ рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ.
рдЪрд▓рд╛ werf v1.1 рдордзреАрд▓ рдкреНрд░рдореБрдЦ рдирд╡рдХрд▓реНрдкрдирд╛рдВрд╡рд░ рдмрд╛рд░рдХрд╛рдИрдиреЗ рдирдЬрд░ рдЯрд╛рдХреВрдпрд╛, рдЖрдгрд┐ рддреНрдпрд╛рдЪ рд╡реЗрд│реА рднрд╡рд┐рд╖реНрдпрд╛рддреАрд▓ рдпреЛрдЬрдирд╛рдВрдмрджреНрджрд▓ рд╕рд╛рдВрдЧреВ.
werf v1.1 рдордзреНрдпреЗ рдХрд╛рдп рдмрджрд▓рд▓реЗ рдЖрд╣реЗ?
рдХреЕрд╢реЗрдордзреВрди рдЯрдкреНрдкреЗ рдирд┐рд╡рдбрдгреНрдпрд╛рд╕рд╛рдареА рдирд╡реАрди рд╕реНрдЯреЗрдЬ рдиреЗрдорд┐рдВрдЧ рдлреЙрд░рдореЕрдЯ рдЖрдгрд┐ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо
рдирд╡реАрди рд╕реНрдЯреЗрдЬ рдирд╛рд╡ рдирд┐рд░реНрдорд┐рддреА рдирд┐рдпрдо. рдЖрддрд╛ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдЯреЗрдЬ рдмрд┐рд▓реНрдб рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рд╕реНрдЯреЗрдЬ рдирд╛рд╡ рддрдпрд╛рд░ рдХрд░рддреЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ 2 рднрд╛рдЧ рдЕрд╕рддрд╛рдд: рдПрдХ рд╕реНрд╡рд╛рдХреНрд╖рд░реА (рдЬрд╕реЗ рддреЗ v1.0 рдордзреНрдпреЗ рд╣реЛрддреЗ) рддрд╕реЗрдЪ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рддрд╛рддреНрдкреБрд░рддрд╛ рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ.
рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкреВрд░реНрдг рд╕реНрдЯреЗрдЬ рдкреНрд░рддрд┐рдорд╛ рдирд╛рд╡ рдЕрд╕реЗ рджрд┐рд╕реВ рд╢рдХрддреЗ:
werf-stages-storage/myproject:d2c5ad3d2c9fcd9e57b50edd9cb26c32d156165eb355318cebc3412b-1582656767835
...рдХрд┐рдВрд╡рд╛ рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ:
werf-stages-storage/PROJECT:SIGNATURE-TIMESTAMP_MILLISEC
рдпреЗрдереЗрдГ
-
SIGNATURE
рдПрдХ рд╕реНрдЯреЗрдЬ рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдЖрд╣реЗ, рдЬреА рд╕реНрдЯреЗрдЬ рд╕рд╛рдордЧреНрд░реАрдЪреНрдпрд╛ рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХрд╛рдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рдЖрдгрд┐ Git рдордзреАрд▓ рд╕рдВрдкрд╛рджрдирд╛рдВрдЪреНрдпрд╛ рдЗрддрд┐рд╣рд╛рд╕рд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ рдЬреНрдпрд╛рдореБрд│реЗ рд╣реА рд╕рд╛рдордЧреНрд░реА рдЖрд▓реА; -
TIMESTAMP_MILLISEC
рдПрдХ рд╣рдореА рджрд┐рд▓реЗрд▓рд╛ рдЕрдирдиреНрдп рдкреНрд░рддрд┐рдорд╛ рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ рдЖрд╣реЗ рдЬреЛ рдирд╡реАрди рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.
рдХреЕрд╢реЗрдордзреВрди рдЯрдкреНрдкреЗ рдирд┐рд╡рдбрдгреНрдпрд╛рд╕рд╛рдареА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо Git рдХрдорд┐рдЯрдЪреЗ рд╕рдВрдмрдВрдз рддрдкрд╛рд╕рдгреНрдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ:
- Werf рдПрдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯрдкреНрдкреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрд╡рд╛рдХреНрд╖рд░реАрдЪреА рдЧрдгрдирд╛ рдХрд░рддреЗ.
- ╨Т рдЯрдкреНрдкреЗ-рд╕реНрдЯреЛрд░реЗрдЬ рджрд┐рд▓реЗрд▓реНрдпрд╛ рд╕реНрд╡рд╛рдХреНрд╖рд░реАрд╕рд╛рдареА рдЕрдиреЗрдХ рдЯрдкреНрдкреЗ рдЕрд╕реВ рд╢рдХрддрд╛рдд. Werf рд╕реНрд╡рд╛рдХреНрд╖рд░реАрд╢реА рдЬреБрд│рдгрд╛рд░реЗ рд╕рд░реНрд╡ рдЯрдкреНрдкреЗ рдирд┐рд╡рдбрддреЗ.
- рд╕рдзреНрдпрд╛рдЪрд╛ рдЯрдкреНрдкрд╛ рдЧрд┐рдЯрд╢реА рдЬреЛрдбрд▓реЗрд▓рд╛ рдЕрд╕рд▓реНрдпрд╛рд╕ (рдЧрд┐рдЯ-рдЖрд░реНрдХрд╛рдЗрд╡реНрд╣, рдЧрд┐рдЯ рдкреЕрдЪрд╕рд╣ рд╕рд╛рдиреБрдХреВрд▓ рд╕реНрдЯреЗрдЬ:
install
,beforeSetup
,setup
; рдХрд┐рдВрд╡рд╛ git-latest-patch), рдирдВрддрд░ werf рдлрдХреНрдд рддреЗ рдЯрдкреНрдкреЗ рдирд┐рд╡рдбрддреЛ рдЬреЗ рдХрдорд┐рдЯрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗрдд рдЬреЗ рд╡рд░реНрддрдорд╛рди рдХрдорд┐рдЯрдЪреЗ рдкреВрд░реНрд╡рдЬ рдЖрд╣реЗрдд (рдЬреНрдпрд╛рд╕рд╛рдареА рдмрд┐рд▓реНрдб рдореНрд╣рдгрддрд╛рдд). - рдЙрд░реНрд╡рд░рд┐рдд рдпреЛрдЧреНрдп рдЯрдкреНрдкреНрдпрд╛рдВрдордзреВрди, рдПрдХ рдирд┐рд╡рдбрд▓рд╛ рдЬрд╛рддреЛ - рдирд┐рд░реНрдорд┐рддреА рддрд╛рд░рдЦреЗрдиреБрд╕рд╛рд░ рд╕рд░реНрд╡рд╛рдд рдЬреБрдирд╛.
рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ Git рд╢рд╛рдЦрд╛рдВрдЪреНрдпрд╛ рд╕реНрдЯреЗрдЬрдордзреНрдпреЗ рд╕рдорд╛рди рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдЕрд╕реВ рд╢рдХрддреЗ. рдкрд░рдВрддреБ werf рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╢рд╛рдЦрд╛рдВрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдХреЕрд╢реЗ рдпрд╛ рд╢рд╛рдЦрд╛рдВрдордзреНрдпреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░реЗрд▓, рдЬрд░реА рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдЬреБрд│рдд рдЕрд╕рд▓реА рддрд░реАрд╣реА.
рд╕реНрдЯреЗрдЬ рд╕реНрдЯреЛрд░реЗрдЬрдордзреНрдпреЗ рдЯрдкреНрдкреЗ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЬрддрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдирд╡реАрди рдЕрд▓реНрдЧреЛрд░рд┐рджрдо
рдЬрд░, рдХреЕрд╢реЗрдордзреВрди рдЯрдкреНрдкреЗ рдирд┐рд╡рдбрддрд╛рдирд╛, werf рд▓рд╛ рдпреЛрдЧреНрдп рд╕реНрдЯреЗрдЬ рд╕рд╛рдкрдбрд▓рд╛ рдирд╛рд╣реА, рддрд░ рдирд╡реАрди рд╕реНрдЯреЗрдЬ рдПрдХрддреНрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрд░реВ рдХреЗрд▓реА рдЬрд╛рддреЗ.
рд▓рдХреНрд╖рд╛рдд рдШреНрдпрд╛ рдХреА рдПрдХрд╛рдзрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ (рдПрдХ рдХрд┐рдВрд╡рд╛ рдЕрдзрд┐рдХ рд╣реЛрд╕реНрдЯрд╡рд░) рдЕрдВрджрд╛рдЬреЗ рдПрдХрд╛рдЪ рд╡реЗрд│реА рд╕рдорд╛рди рд╕реНрдЯреЗрдЬ рддрдпрд╛рд░ рдХрд░рдгреЗ рд╕реБрд░реВ рдХрд░реВ рд╢рдХрддрд╛рдд. Werf рдПрдХ рдЖрд╢рд╛рд╡рд╛рджреА рдмреНрд▓реЙрдХрд┐рдВрдЧ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╡рд╛рдкрд░рддреЗ рдЯрдкреНрдкреЗ-рд╕реНрдЯреЛрд░реЗрдЬ рдордзреНрдпреЗ рдирд╡реАрди рдЧреЛрд│рд╛ рдХреЗрд▓реЗрд▓реА рдкреНрд░рддрд┐рдорд╛ рдЬрддрди рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд╖рдгреА рдЯрдкреНрдкреЗ-рд╕реНрдЯреЛрд░реЗрдЬ. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдирд╡реАрди рд╕реНрдЯреЗрдЬ рдмрд┐рд▓реНрдб рддрдпрд╛рд░ рдЭрд╛рд▓реНрдпрд╛рд╡рд░, рд╡реЗрд░реНрдл рдмреНрд▓реЙрдХреНрд╕ рдЯрдкреНрдкреЗ-рд╕реНрдЯреЛрд░реЗрдЬ рдЖрдгрд┐ рдпреЛрдЧреНрдп рдкреНрд░рддрд┐рдорд╛ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдирд╕реЗрд▓ рддрд░рдЪ рдирд╡реАрди рдЧреЛрд│рд╛ рдХреЗрд▓реЗрд▓реА рдкреНрд░рддрд┐рдорд╛ рддреЗрдереЗ рдЬрддрди рдХрд░рддреЗ (рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдЖрдгрд┐ рдЗрддрд░ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рджреНрд╡рд╛рд░реЗ - рдХреЕрд╢реЗрдордзреВрди рдЯрдкреНрдкреЗ рдирд┐рд╡рдбрдгреНрдпрд╛рд╕рд╛рдареА рдирд╡реАрди рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд╣рд╛).
рдирд╡реНрдпрд╛рдиреЗ рдПрдХрддреНрд░рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддрд┐рдореЗрд▓рд╛ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ рдЕрд╕рдгреНрдпрд╛рдЪреА рд╣рдореА рджрд┐рд▓реА рдЬрд╛рддреЗ TIMESTAMP_MILLISEC
(рдирд╡реАрди рд╕реНрдЯреЗрдЬ рдирд╛рдордХрд░рдг рд╕реНрд╡рд░реВрдк рдкрд╣рд╛). рдордзреНрдпреЗ рдмрд╛рдмрддреАрдд рдЯрдкреНрдкреЗ-рд╕реНрдЯреЛрд░реЗрдЬ рдПрдХ рдпреЛрдЧреНрдп рдкреНрд░рддрд┐рдорд╛ рд╕рд╛рдкрдбреЗрд▓, werf рдирд╡реНрдпрд╛рдиреЗ рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реЗрд▓реА рдкреНрд░рддрд┐рдорд╛ рдЯрд╛рдХреВрди рджреЗрдИрд▓ рдЖрдгрд┐ рдХреЕрд╢реЗрдордзреВрди рдкреНрд░рддрд┐рдорд╛ рд╡рд╛рдкрд░реЗрд▓.
рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдд: рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рдгреЗ рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕ (рд╕рд░реНрд╡рд╛рдд рдЬрд▓рдж) рддреЗ рд╕реНрдЯреЗрдЬ-рд╕реНрдЯреЛрд░реЗрдЬрдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдЕрдзрд┐рдХрд╛рд░ рдорд┐рд│реЗрд▓ (рдЖрдгрд┐ рдирдВрддрд░ рд╣реА рдПрдХрдЪ рдкреНрд░рддрд┐рдорд╛ рд╕рд░реНрд╡ рдмрд┐рд▓реНрдбрд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдИрд▓). рдзреАрдореЗ рдмрд┐рд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрдЯреЗрдЬрдЪреЗ рдмрд┐рд▓реНрдб рдкрд░рд┐рдгрд╛рдо рдЬрддрди рдХрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рдЖрдгрд┐ рдкреБрдвреАрд▓ рдмрд┐рд▓реНрдбрд╡рд░ рдЬрд╛рдгреНрдпрд╛рдкрд╛рд╕реВрди рд╡реЗрдЧрд╡рд╛рди рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕ рдХрдзреАрд╣реА рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгрд╛рд░ рдирд╛рд╣реА.
рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдмрд┐рд▓реНрдбрд░рдЪреА рдХрд╛рдордЧрд┐рд░реА рд╕реБрдзрд╛рд░рд▓реА
рдпрд╛рдХреНрд╖рдгреА, рдбреЙрдХрд░рдлрд╛рдЗрд▓рдордзреВрди рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддрд┐рдореЗрдЪреНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рдВрдЪреНрдпрд╛ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдордзреНрдпреЗ рдПрдХ рдЯрдкреНрдкрд╛ рдЕрд╕рддреЛ - dockerfile
. рд╕реНрд╡рд╛рдХреНрд╖рд░реАрдЪреА рдЧрдгрдирд╛ рдХрд░рддрд╛рдирд╛, рдлрд╛рдИрд▓реНрд╕рдЪрд╛ рдЪреЗрдХрд╕рдо рдореЛрдЬрд▓рд╛ рдЬрд╛рддреЛ context
, рдЬреЗ рдЕрд╕реЗрдВрдмреНрд▓реА рджрд░рдореНрдпрд╛рди рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдИрд▓. рдпрд╛ рд╕реБрдзрд╛рд░рдгреЗрдкреВрд░реНрд╡реА, werf рд╕рд░реНрд╡ рдлрд╛рдпрд▓реАрдВрдордзреВрди рд╡рд╛рд░рдВрд╡рд╛рд░ рдлрд┐рд░рдд рдЕрд╕реЗ рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ рдлрд╛рдИрд▓рдЪрд╛ рд╕рдВрджрд░реНрдн рдЖрдгрд┐ рдореЛрдб рдПрдХрддреНрд░рд┐рдд рдХрд░реВрди рдЪреЗрдХрд╕рдо рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓рд╛. v1.1 рд╕рд╣ рдкреНрд░рд╛рд░рдВрдн рдХрд░реВрди, werf Git рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдЧрдгрдирд╛ рдХреЗрд▓реЗрд▓реЗ рдЪреЗрдХрд╕рдо рд╡рд╛рдкрд░реВ рд╢рдХрддреЗ.
рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ .dockerignore
рдЖрдгрд┐ рдЬреЗрд╡реНрд╣рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕реЗрд▓ рддреЗрд╡реНрд╣рд╛рдЪ рдлрд╛рдЗрд▓ рдЯреНрд░реА рдЖрд╡рд░реНрддреАрдкрдгреЗ рдкрд╛рд░ рдХрд░рддреЗ. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдЖрдореНрд╣реА рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╡рд╛рдЪрдгреНрдпрд╛рдкрд╛рд╕реВрди рдЖрдгрд┐ рдЖрдХрд╛рд░рд╛рд╡рд░ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреЗ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рд╡реЗрдЧрд│реЗ рдХреЗрд▓реЗ рдЖрд╣реЗ. context
рд▓рдХреНрд╖рдгреАрдп рдирд╛рд╣реА.
рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЯреНрд░реЕрдХ рди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдлрд╛рдпрд▓реА рджреЗрдЦреАрд▓ рддрдкрд╛рд╕рддреЛ рдЖрдгрд┐ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕, рдЪреЗрдХрд╕рдордордзреНрдпреЗ рддреНрдпрд╛ рдЦрд╛рддреНрдпрд╛рдд рдШреЗрддреЛ.
рдлрд╛рдпрд▓реА рдЖрдпрд╛рдд рдХрд░рддрд╛рдирд╛ рд╕реБрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди
werf v1.1 рдЪреНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛ рдЬреЗрд╡реНрд╣рд╛ rsync рд╕рд░реНрд╡реНрд╣рд░ рд╡рд╛рдкрд░рддрд╛рдд
macOS рд╡рд░реАрд▓ рдЖрдпрд╛рдд рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдпрд╛рдкреБрдвреЗ рдбреЙрдХрд░ рд╡реНрд╣реЙрд▓реНрдпреВрдорджреНрд╡рд╛рд░реЗ рдорд░реНрдпрд╛рджрд┐рдд рдирд╛рд╣реА, рдЖрдгрд┐ рдЖрдпрд╛рдд Linux рдЖрдгрд┐ Windows рд╕рд╛рд░рдЦреНрдпрд╛рдЪ рд╡реЗрд│реЗрдд рдкреВрд░реНрдг рд╣реЛрддреЗ.
рд╕рд╛рдордЧреНрд░реА-рдЖрдзрд╛рд░рд┐рдд рдЯреЕрдЧрд┐рдВрдЧ
Werf v1.1 рдкреНрд░рддрд┐рдорд╛ рд╕рд╛рдордЧреНрд░реАрджреНрд╡рд╛рд░реЗ рддрдерд╛рдХрдерд┐рдд рдЯреЕрдЧрд┐рдВрдЧрд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ - рд╕рд╛рдордЧреНрд░реА-рдЖрдзрд╛рд░рд┐рдд рдЯреЕрдЧрд┐рдВрдЧ. рдкрд░рд┐рдгрд╛рдореА рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛рдВрдЪреЗ рдЯреЕрдЧ рддреНрдпрд╛ рдкреНрд░рддрд┐рдорд╛рдВрдЪреНрдпрд╛ рд╕рд╛рдордЧреНрд░реАрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддрд╛рдд.
рдЖрджреЗрд╢ рдЪрд╛рд▓рд╡рддрд╛рдирд╛ werf publish --tags-by-stages-signature
рдХрд┐рдВрд╡рд╛ werf ci-env --tagging-strategy=stages-signature
рддрдерд╛рдХрдерд┐рдд рдЪреНрдпрд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреНрд░рддрд┐рдорд╛ рд╕реНрдЯреЗрдЬ рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдкреНрд░рддрд┐рдорд╛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдореЗрд▓рд╛ рдпрд╛ рдкреНрд░рддрд┐рдореЗрдЪреНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рд╕реНрд╡рд╛рдХреНрд╖рд░реАрд╕рд╣ рдЯреЕрдЧ рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЬреНрдпрд╛рдЪреА рдЧрдгрдирд╛ рдкреНрд░рддреНрдпреЗрдХ рдЯрдкреНрдкреНрдпрд╛рдЪреНрдпрд╛ рдирд┐рдпрдорд┐рдд рд╕реНрд╡рд╛рдХреНрд╖рд░реАрдкреНрд░рдорд╛рдгреЗ рд╕рдорд╛рди рдирд┐рдпрдорд╛рдВрдиреБрд╕рд╛рд░ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рдХреЗрд▓реА рдЬрд╛рддреЗ, рдкрд░рдВрддреБ рддреА рдкреНрд░рддрд┐рдореЗрдЪрд╛ рд╕рд╛рдорд╛рдиреНрдп рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ рдЖрд╣реЗ.
рдкреНрд░рддрд┐рдореЗрдЪреНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рдВрдЪреА рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ:
- рдпрд╛ рдкреНрд░рддрд┐рдореЗрдЪреА рд╕рд╛рдордЧреНрд░реА;
- Git рдмрджрд▓рд╛рдВрдЪрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдЬреНрдпрд╛рдореБрд│реЗ рд╣реА рд╕рд╛рдордЧреНрд░реА рдЖрд▓реА.
рдЧрд┐рдЯ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рдиреЗрд╣рдореА рдбрдореА рдХрдорд┐рдЯ рдЕрд╕рддрд╛рдд рдЬреЗ рдЗрдореЗрдЬ рдлрд╛рдЗрд▓реНрд╕рдордзреАрд▓ рд╕рд╛рдордЧреНрд░реА рдмрджрд▓рдд рдирд╛рд╣реАрдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХреЗрд╡рд│ рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрд╕рд╣ рдХрдорд┐рдЯ рдХрд░рддреЗ рдХрд┐рдВрд╡рд╛ рдХрдорд┐рдЯ рд╡рд┐рд▓реАрди рдХрд░рддреЗ рдХрд┐рдВрд╡рд╛ рдХрдорд┐рдЯ рдХрд░рддреЗ рдЬреЗ Git рдордзреАрд▓ рддреНрдпрд╛ рдлрд╛рдпрд▓реА рдмрджрд▓рддрд╛рдд рдЬреНрдпрд╛ рдЗрдореЗрдЬрдордзреНрдпреЗ рдЗрдВрдкреЛрд░реНрдЯ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реАрдд.
рд╕рд╛рдордЧреНрд░реА-рдЖрдзрд╛рд░рд┐рдд рдЯреЕрдЧрд┐рдВрдЧ рд╡рд╛рдкрд░рддрд╛рдирд╛, рдкреНрд░рддрд┐рдореЗрдЪреНрдпрд╛ рдирд╛рд╡рд╛рдд рдмрджрд▓ рдЭрд╛рд▓реНрдпрд╛рдореБрд│реЗ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреАрд▓ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдкреЙрдбреНрд╕рдЪреНрдпрд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реАрд╕реНрдЯрд╛рд░реНрдЯрдЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд, рдЬрд░реА рдкреНрд░рддрд┐рдореЗрдЪреА рд╕рд╛рдордЧреНрд░реА рдмрджрд▓рд▓реА рдирд╕рд▓реА рддрд░реАрд╣реА. рддрд╕реЗ, рд╣реЗ рдПрдХ рдХрд╛рд░рдг рдЖрд╣реЗ рдЬреЗ рдПрдХрд╛рдЪ рдЧрд┐рдЯ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рдПрдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рдЕрдиреЗрдХ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддреЗ.
рддрд╕реЗрдЪ, рд╕рд╛рдордЧреНрд░реА-рдЖрдзрд╛рд░рд┐рдд рдЯреЕрдЧрд┐рдВрдЧ рд╣реА Git рд╢рд╛рдЦрд╛рдВрд╡рд░ рдЯреЕрдЧ рдХрд░рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рдЯреЕрдЧрд┐рдВрдЧ рдкрджреНрдзрдд рдЖрд╣реЗ, рдХрд╛рд░рдг рдкрд░рд┐рдгрд╛рдореА рдкреНрд░рддрд┐рдорд╛рдВрдЪреА рд╕рд╛рдордЧреНрд░реА рдПрдХрд╛рдЪ рд╢рд╛рдЦреЗрдЪреНрдпрд╛ рдПрдХрд╛рдзрд┐рдХ рдХрдорд┐рдЯ рдПрдХрддреНрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА CI рдкреНрд░рдгрд╛рд▓реАрдордзреНрдпреЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рддреНрдпрд╛ рдХреНрд░рдорд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдирд╛рд╣реА.
рдорд╣рддреНрд╡рд╛рдЪреЗ: рдЖрддреНрддрд╛рдкрд╛рд╕реВрди рд╕реБрд░реВ рдЯрдкреНрдкреЗ - рд╕реНрд╡рд╛рдХреНрд╖рд░реА - рд╣реЗ рдЖрд╣реЗ рдлрдХреНрдд рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реЗрд▓реЗ рдЯреЕрдЧрд┐рдВрдЧ рдзреЛрд░рдг. рд╣реЗ рдХрдорд╛рдВрдбрдордзреНрдпреЗ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдИрд▓ werf ci-env
(рдЬреЛрдкрд░реНрдпрдВрдд рддреБрдореНрд╣реА рд╡реЗрдЧрд│реА рдЯреЕрдЧрд┐рдВрдЧ рдпреЛрдЬрдирд╛ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдирдореВрдж рдХрд░рдд рдирд╛рд╣реА рддреЛрдкрд░реНрдпрдВрдд).
рд▓реЙрдЧрд┐рдВрдЧ рдкрд╛рддрд│реА
рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рдЖрддрд╛ рдЖрдЙрдЯрдкреБрдЯ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА, рд▓реЙрдЧрд┐рдВрдЧ рдкрд╛рддрд│реА рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рдбреАрдмрдЧрд┐рдВрдЧ рдорд╛рд╣рд┐рддреАрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рдЖрд╣реЗ. рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓реЗ --log-quiet
, --log-verbose
, --log-debug
.
рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рдЖрдЙрдЯрдкреБрдЯрдордзреНрдпреЗ рдХрд┐рдорд╛рди рдорд╛рд╣рд┐рддреА рдЕрд╕рддреЗ:
рд╡рд░реНрдмреЛрдЬ рдЖрдЙрдЯрдкреБрдЯ рд╡рд╛рдкрд░рддрд╛рдирд╛ (--log-verbose
) рдЖрдкрдг werf рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рддреЗ рдкрд╛рд╣реВ рд╢рдХрддрд╛:
рддрдкрд╢реАрд▓рд╡рд╛рд░ рдЖрдЙрдЯрдкреБрдЯ (--log-debug
), werf рдбреАрдмрдЧрд┐рдВрдЧ рдорд╛рд╣рд┐рддреА рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреЗ рд▓реЙрдЧ рджреЗрдЦреАрд▓ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдбреЙрдХрд░ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрд╕рд╣ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рдХрд╕рд╛ рд╣реЛрддреЛ рддреЗ рдЖрдкрдг рдкрд╛рд╣реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рдЬреНрдпрд╛ рдард┐рдХрд╛рдгреА рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╡реЗрд│ рдШрд╛рд▓рд╡рд▓рд╛ рдЬрд╛рддреЛ рддреНрдпрд╛ рдард┐рдХрд╛рдгрд╛рдВрдЪреА рдиреЛрдВрдж рджреЗрдЦреАрд▓ рдХрд░реВ рд╢рдХрддрд╛:
рднрд╡рд┐рд╖реНрдпрд╛рддреАрд▓ рдпреЛрдЬрдирд╛
рдЦрдмрд░рджрд╛рд░реА рдЦрд╛рд▓реА рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реЗ рдкрд░реНрдпрд╛рдп рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗрдд v1.1 рдпрд╛ рдЖрд╡реГрддреНрддреАрдордзреНрдпреЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрддреАрд▓, рддреНрдпрд╛рдкреИрдХреА рдЕрдиреЗрдХ рдирдЬреАрдХрдЪреНрдпрд╛ рднрд╡рд┐рд╖реНрдпрд╛рдд. рдЕрджреНрдпрддрдиреЗ рд╕реНрд╡рдпрдВ-рдЕрджреНрдпрддрдирд╛рдВрджреНрд╡рд╛рд░реЗ рдпреЗрддреАрд▓
рд╡рд┐рд╡рд┐рдз рдбреЙрдХрд░ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА рдкреВрд░реНрдг рд╕рдорд░реНрдерди (рдирд╡реАрди)
- рдЖрд╡реГрддреНрддреА: v1.1
- рддрд╛рд░рдЦрд╛: рдорд╛рд░реНрдЪ
-
рдкрд░рд┐рдгрд╛рдо
werf рд╡рд╛рдкрд░рддрд╛рдирд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рдирд┐рд░реНрдмрдВрдзрд╛рдВрд╢рд┐рд╡рд╛рдп рд╕рд╛рдиреБрдХреВрд▓ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╡рд╛рдкрд░рдгреЗ рд╣реЗ рдзреНрдпреЗрдп рдЖрд╣реЗ.
рд╕рдзреНрдпрд╛, рдЖрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рдЙрдкрд╛рдпрд╛рдВрдЪрд╛ рд╕рдВрдЪ рдУрд│рдЦрд▓рд╛ рдЖрд╣реЗ рдЬреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рдкреВрд░реНрдг рд╕рдорд░реНрдердирд╛рдЪреА рд╣рдореА рджреЗрдгрд╛рд░ рдЖрд╣реЛрдд:
- рдбреАрдлреЙрд▓реНрдЯ (рд▓рд╛рдпрдмреНрд░рд░реА/рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реА)*,
- AWS ECR
- Azure*,
- рдбреЙрдХрд░ рд╣рдм
- GCR*,
- GitHub рдкреЕрдХреЗрдЬреЗрд╕
- GitLab рд░рдЬрд┐рд╕реНрдЯреНрд░реА*,
- рд╣рд╛рд░реНрдмрд░*,
- рдХреНрд╡реЗ.
рд╕рдзреНрдпрд╛ werf рджреНрд╡рд╛рд░реЗ рдкреВрд░реНрдгрдкрдгреЗ рд╕рдорд░реНрдерд┐рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕реЛрд▓реНрдпреБрд╢рдиреНрд╕рдирд╛ рддрд╛рд░рдХрд╛рдиреЗ рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ. рдЗрддрд░рд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЖрд╣реЗ, рдкрд░рдВрддреБ рдорд░реНрдпрд╛рджрд╛рдВрд╕рд╣.
рджреЛрди рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдУрд│рдЦрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд:
- рдХрд╛рд╣реА рдЙрдкрд╛рдп рдбреЙрдХрд░ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реА API рд╡рд╛рдкрд░реВрди рдЯреЕрдЧ рдХрд╛рдврдгреНрдпрд╛рд╕ рд╕рдорд░реНрдерди рджреЗрдд рдирд╛рд╣реАрдд, рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ werf рдЪреЗ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХреНрд▓реАрдирдЕрдк рд╡рд╛рдкрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддреЗ. рд╣реЗ AWS ECR, Docker Hub рдЖрдгрд┐ GitHub рдкреЕрдХреЗрдЬреЗрд╕рд╕рд╛рдареА рдЦрд░реЗ рдЖрд╣реЗ.
- рдХрд╛рд╣реА рдЙрдкрд╛рдп рддрдерд╛рдХрдерд┐рдд рдиреЗрд╕реНрдЯреЗрдб рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЬ (рдбреЙрдХрд░ рд╣рдм, рдЧрд┐рдЯрд╣рдм рдкреЕрдХреЗрдЬреЗрд╕ рдЖрдгрд┐ рдХреНрд╡реЗ) рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдд рдирд╛рд╣реАрдд рдХрд┐рдВрд╡рд╛ рдХрд░рддрд╛рдд, рдкрд░рдВрддреБ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рддреЗ UI рдХрд┐рдВрд╡рд╛ API (AWS ECR) рд╡рд╛рдкрд░реВрди рд╡реНрдпрдХреНрддрд┐рдЪрд▓рд┐рддрдкрдгреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗрдд.
рдЖрдореНрд╣реА рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕рдЪреЗ рдореВрд│ API рд╡рд╛рдкрд░реВрди рдпрд╛ рдЖрдгрд┐ рдЗрддрд░ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгрд╛рд░ рдЖрд╣реЛрдд. рдпрд╛ рдХрд╛рд░реНрдпрд╛рдордзреНрдпреЗ werf рдСрдкрд░реЗрд╢рдирдЪреЗ рд╕рдВрдкреВрд░реНрдг рдЪрдХреНрд░ рддреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХрд╛рдЪреНрдпрд╛ рдЪрд╛рдЪрдгреНрдпрд╛рдВрд╕рд╣ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ.
рд╡рд┐рддрд░рд┐рдд рдкреНрд░рддрд┐рдорд╛ рдмрд┐рд▓реНрдб (тЖС)
- рдЖрд╡реГрддреНрддреА: v1.2 v1.1 (рд╣реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рд╛рдзрд╛рдиреНрдп рд╡рд╛рдврд╡рд▓реЗ тАЛтАЛрдЧреЗрд▓реЗ рдЖрд╣реЗ)
- рддрд╛рд░рдЦрд╛: рдорд╛рд░реНрдЪ-рдПрдкреНрд░рд┐рд▓ рдорд╛рд░реНрдЪ
-
рдкрд░рд┐рдгрд╛рдо
рдпрд╛рдХреНрд╖рдгреА, werf v1.0 рдЖрдгрд┐ v1.1 рдлрдХреНрдд рдПрдХрд╛ рд╕рдорд░реНрдкрд┐рдд рд╣реЛрд╕реНрдЯрд╡рд░ рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрдгрд┐ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ Kubernetes рд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддреИрдирд╛рдд рдХрд░рдгреЗ рдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.
werf рдЪреНрдпрд╛ рд╡рд┐рддрд░реАрдд рдХрд╛рд░реНрдпрд╛рдЪреНрдпрд╛ рд╢рдХреНрдпрддрд╛ рдЙрдШрдбрдгреНрдпрд╛рд╕рд╛рдареА, рдЬреЗрд╡реНрд╣рд╛ рдЕрдиреЗрдХ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд╣реЛрд╕реНрдЯрд╡рд░ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрдгрд┐ рддреИрдирд╛рдд рдХрд░рдгреЗ рд╕реБрд░реВ рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рд╣реЗ рдпрдЬрдорд╛рди рдмрд┐рд▓реНрдб (рддрд╛рддреНрдкреБрд░рддреЗ рдзрд╛рд╡рдкрдЯреВ) рджрд░рдореНрдпрд╛рди рддреНрдпрд╛рдВрдЪреЗ рд░рд╛рдЬреНрдп рд╡рд╛рдЪрд╡рдд рдирд╛рд╣реАрдд, рддреЗрд╡реНрд╣рд╛ werf рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╕реНрдЯреЗрдЬ рд╕реНрдЯреЛрдЕрд░ рдореНрд╣рдгреВрди рдбреЙрдХрд░ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реА.
рдкреВрд░реНрд╡реА, рдЬреЗрд╡реНрд╣рд╛ рд╡реЗрд░реНрдл рдкреНрд░рдХрд▓реНрдкрд╛рд▓рд╛ рдЕрдЬреВрдирд╣реА рдбреЕрдк рдореНрд╣рдЯрд▓реЗ рдЬрд╛рдд рдЕрд╕реЗ, рддреЗрд╡реНрд╣рд╛ рддреНрдпрд╛рд▓рд╛ рдЕрд╢реА рд╕рдВрдзреА рд╣реЛрддреА. рддрдерд╛рдкрд┐, werf рдордзреНрдпреЗ рдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рддрд╛рдирд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдЕрдиреЗрдХ рд╕рдорд╕реНрдпрд╛ рдЖрд▓реНрдпрд╛ рдЖрд╣реЗрдд рдЬреНрдпрд╛ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрддрд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд.
рд╢реЗрд░рд╛. рдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рд╕рд╛рдареА рдХрд▓реЗрдХреНрдЯрд░рд▓рд╛ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдкреЙрдбреНрд╕рдордзреНрдпреЗ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА, рдХрд╛рд░рдг рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реНрдерд╛рдирд┐рдХ рдбреЙрдХрд░ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реАрд▓ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡рд╛рдкрд╛рд╕реВрди рдореБрдХреНрдд рд╣реЛрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдкреЙрдбрдордзреНрдпреЗ рд╕реНрдерд╛рдирд┐рдХ рдбреЙрдХрд░ рд╕рд░реНрд╡реНрд╣рд░рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдирд╛рд╣реА, рдХрд╛рд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рддрдГ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдЪрд╛рд▓рдд рдЖрд╣реЗ рдЖрдгрд┐ werf рд╕рдорд░реНрдерди рдХрд░рдд рдирд╛рд╣реА рдЖрдгрд┐ рдХрд░рдгрд╛рд░ рдирд╛рд╣реА. рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рдбреЙрдХрд░ рд╕рд░реНрд╡реНрд╣рд░рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ). рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдЪрд╛рд▓рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рдИрд▓.
GitHub рдХреНрд░рд┐рдпрд╛рдВрд╕рд╛рдареА рдЕрдзрд┐рдХреГрдд рд╕рдорд░реНрдерди (рдирд╡реАрди)
- рдЖрд╡реГрддреНрддреА: v1.1
- рддрд╛рд░рдЦрд╛: рдорд╛рд░реНрдЪ
-
рдкрд░рд┐рдгрд╛рдо
werf рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг (рд╡рд┐рднрд╛рдЧ рд╕рдВрджрд░реНрдн ╨╕ рдорд╛рд░реНрдЧрджрд░реНрд╢рди), рддрд╕реЗрдЪ werf рд╕рд╣ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдзрд┐рдХреГрдд GitHub рдХреНрд░рд┐рдпрд╛.
рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рддреЗ werf рд▓рд╛ рдХреНрд╖рдгрд┐рдХ рдзрд╛рд╡рдкрдЯреВрдВрд╡рд░ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрдИрд▓.
рд╕реАрдЖрдп рд╕рд┐рд╕реНрдЯрдорд╕рд╣ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рдЪреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддрдпрд╛рд░/рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд░рд┐рдпрд╛ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреБрд▓ рд╡рд┐рдирдВрддреНрдпрд╛рдВрд╡рд░ рд▓реЗрдмрд▓реЗ рдареЗрд╡рдгреНрдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЕрд╕реЗрд▓.
werf (тЖУ) рд╕рд╣ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдЪрд╛ рд╕реНрдерд╛рдирд┐рдХ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЙрдкрдпреЛрдЬрди
- рдЖрд╡реГрддреНрддреА: v1.1
- рддрд╛рд░рдЦрд╛: рдЬрд╛рдиреЗрд╡рд╛рд░реА-рдлреЗрдмреНрд░реБрд╡рд╛рд░реА рдПрдкреНрд░рд┐рд▓
-
рдкрд░рд┐рдгрд╛рдо
рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ рдЖрдгрд┐ рдЙрддреНрдкрд╛рджрдирд╛рдд, рдЬрдЯрд┐рд▓ рдХреНрд░рд┐рдпрд╛рдВрд╢рд┐рд╡рд╛рдп, рдмреЙрдХреНрд╕рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддреИрдирд╛рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХрд▓ рдпреБрдирд┐рдлрд╛рдЗрдб рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ рд╣реЗ рдореБрдЦреНрдп рдзреНрдпреЗрдп рдЖрд╣реЗ.
werf рд▓рд╛ рдПрдХ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдЕрд╕рдгреЗ рджреЗрдЦреАрд▓ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреНрдпрд╛рдордзреНрдпреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛрдб рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рдбреАрдмрдЧрд┐рдВрдЧрд╕рд╛рдареА рдЪрд╛рд▓реВ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдХрдбреВрди рддреНрд╡рд░рд┐рдд рдЕрднрд┐рдкреНрд░рд╛рдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ рд╕реЛрдпреАрдЪреЗ рдЕрд╕реЗрд▓.
рдирд╡реАрди рд╕реНрд╡рдЪреНрдЫрддрд╛ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо (рдирд╡реАрди)
- рдЖрд╡реГрддреНрддреА: v1.1
- рддрд╛рд░рдЦрд╛: рдПрдкреНрд░рд┐рд▓
-
рдкрд░рд┐рдгрд╛рдо
рдкреНрд░рдХреНрд░рд┐рдпреЗрдордзреНрдпреЗ werf v1.1 рдЪреНрдпрд╛ рд╡рд░реНрддрдорд╛рди рдЖрд╡реГрддреНрддреАрдордзреНрдпреЗ cleanup
рд╕рд╛рдордЧреНрд░реА-рдЖрдзрд╛рд░рд┐рдд рдЯреЕрдЧрд┐рдВрдЧ рдпреЛрдЬрдиреЗрд╕рд╛рдареА рдкреНрд░рддрд┐рдорд╛ рд╕рд╛рдл рдХрд░рдгреНрдпрд╛рдЪреА рдХреЛрдгрддреАрд╣реА рддрд░рддреВрдж рдирд╛рд╣реА - рдпрд╛ рдкреНрд░рддрд┐рдорд╛ рдЬрдорд╛ рд╣реЛрддреАрд▓.
рддрд╕реЗрдЪ, werf рдЪреА рд╡рд░реНрддрдорд╛рди рдЖрд╡реГрддреНрддреА (v1.0 рдЖрдгрд┐ v1.1) рдЯреЕрдЧрд┐рдВрдЧ рдпреЛрдЬрдирд╛рдВрдЪреНрдпрд╛ рдЕрдВрддрд░реНрдЧрдд рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреНрд░рддрд┐рдорд╛рдВрд╕рд╛рдареА рднрд┐рдиреНрди рдХреНрд▓реАрдирдЕрдк рдзреЛрд░рдгреЗ рд╡рд╛рдкрд░рддреЗ: Git branch, Git tag рдХрд┐рдВрд╡рд╛ Git рдХрдорд┐рдЯ.
Git рдордзреАрд▓ рдХрдорд┐рдЯрдЪреНрдпрд╛ рдЗрддрд┐рд╣рд╛рд╕рд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рддрд┐рдорд╛ рд╕рд╛рдл рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдирд╡реАрди рдЕрд▓реНрдЧреЛрд░рд┐рджрдо, рд╕рд░реНрд╡ рдЯреЕрдЧрд┐рдВрдЧ рдпреЛрдЬрдирд╛рдВрд╕рд╛рдареА рдПрдХрддреНрд░рд┐рдд, рд╢реЛрдзрдгреНрдпрд╛рдд рдЖрд▓рд╛ рдЖрд╣реЗ:
- рдкреНрд░рддреНрдпреЗрдХ рдЧрд┐рдЯ рд╣реЗрдб (рд╢рд╛рдЦрд╛ рдЖрдгрд┐ рдЯреЕрдЧ) рд╕рд╛рдареА N1 рд╕рд░реНрд╡рд╛рдд рдЕрд▓реАрдХрдбреАрд▓ рдХрдорд┐рдЯрд╢реА рд╕рдВрдмрдВрдзрд┐рдд N2 рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдкреНрд░рддрд┐рдорд╛ рдареЗрд╡реВ рдирдХрд╛.
- рдкреНрд░рддреНрдпреЗрдХ рдЧрд┐рдЯ рд╣реЗрдб (рд╢рд╛рдЦрд╛ рдЖрдгрд┐ рдЯреЕрдЧ) рд╕рд╛рдареА N1 рд╕рд░реНрд╡рд╛рдд рдЕрд▓реАрдХрдбреАрд▓ рдХрдорд┐рдЯрд╢реА рд╕рдВрдмрдВрдзрд┐рдд N2 рд╕реНрдЯреЗрдЬ рдЗрдореЗрдЬреЗрд╕рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░реВ рдирдХрд╛.
- рдХреЛрдгрддреНрдпрд╛рд╣реА Kubernetes рдХреНрд▓рд╕реНрдЯрд░ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд▒реНрдпрд╛ рд╕рд░реНрд╡ рдкреНрд░рддрд┐рдорд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рд╛ (рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓рдЪреЗ рд╕рд░реНрд╡ рдХреНрдпреВрдм рд╕рдВрджрд░реНрдн рдЖрдгрд┐ рдиреЗрдорд╕реНрдкреЗрд╕ рд╕реНрдХреЕрди рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд; рддреБрдореНрд╣реА рд╡рд┐рд╢реЗрд╖ рдкрд░реНрдпрд╛рдпрд╛рдВрд╕рд╣ рд╣реЗ рд╡рд░реНрддрди рдорд░реНрдпрд╛рджрд┐рдд рдХрд░реВ рд╢рдХрддрд╛).
- рд╣реЗрд▓реНрдо рд░рд┐рд▓реАрдЭрдордзреНрдпреЗ рд╕реЗрд╡реНрд╣ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд░рд┐рд╕реЛрд░реНрд╕ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдореЕрдирд┐рдлреЗрд╕реНрдЯрдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд▒реНрдпрд╛ рд╕рд░реНрд╡ рдЗрдореЗрдЬреЗрд╕ рд╕реНрдЯреЛрдЕрд░ рдХрд░рд╛.
- рдПрдЦрд╛рджреА рдкреНрд░рддрд┐рдорд╛ git рдордзреАрд▓ рдХреЛрдгрддреНрдпрд╛рд╣реА HEAD рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдирд╕рд▓реНрдпрд╛рд╕ рддреА рд╣рдЯрд╡рд┐рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рдВрдмрдВрдзрд┐рдд HEAD рд╕реНрд╡рддрдГрдЪ рд╣рдЯрд╡рд┐рдгреНрдпрд╛рдд рдЖрд▓реЗ рд╣реЛрддреЗ) рдЖрдгрд┐ рддреА Kubernetes рдХреНрд▓рд╕реНрдЯрд░ рдЖрдгрд┐ Helm рдкреНрд░рдХрд╛рд╢рдирд╛рдВрдордзреНрдпреЗ рдХреЛрдгрддреНрдпрд╛рд╣реА рдореЕрдирд┐рдлреЗрд╕реНрдЯрдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдд рдирд╛рд╣реА.
рд╕рдорд╛рдВрддрд░ рдкреНрд░рддрд┐рдорд╛ рдЗрдорд╛рд░рдд (тЖУ)
- рдЖрд╡реГрддреНрддреА: v1.1
- рддрд╛рд░рдЦрд╛: рдЬрд╛рдиреЗрд╡рд╛рд░реА-рдлреЗрдмреНрд░реБрд╡рд╛рд░реА рдПрдкреНрд░рд┐рд▓*
werf рдЪреА рд╡рд░реНрддрдорд╛рди рдЖрд╡реГрддреНрддреА рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддрд┐рдорд╛ рдЖрдгрд┐ рдХрд▓рд╛рдХреГрддреА рдЧреЛрд│рд╛ рдХрд░рддреЗ werf.yaml
, рдХреНрд░рдорд╢рдГ. рдкреНрд░рддрд┐рдорд╛ рдЖрдгрд┐ рдХрд▓рд╛рдХреГрддреАрдВрдЪреЗ рд╕реНрд╡рддрдВрддреНрд░ рдЯрдкреНрдкреЗ рдПрдХрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕ рд╕рдорд╛рдВрддрд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рддрд╕реЗрдЪ рд╕реЛрдпреАрд╕реНрдХрд░ рдЖрдгрд┐ рдорд╛рд╣рд┐рддреАрдкреВрд░реНрдг рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рджрд╛рди рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
* рдЯреАрдк: рд╡рд┐рддрд░рд┐рдд рдЕрд╕реЗрдВрдмреНрд▓реАрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА рд╡рд╛рдвреАрд╡ рдкреНрд░рд╛рдзрд╛рдиреНрдпрд╛рдореБрд│реЗ рдЕрдВрддрд┐рдо рдореБрджрдд рд╣рд▓рд╡рд┐рдгреНрдпрд╛рдд рдЖрд▓реА рдЖрд╣реЗ, рдЬреНрдпрд╛рдореБрд│реЗ рдЕрдзрд┐рдХ рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реНрдпрд╛ рдЬрд╛рддреАрд▓, рддрд╕реЗрдЪ GitHub рдХреНрд░рд┐рдпрд╛рдВрд╕рд╣ werf рдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓. рд╕рдорд╛рдВрддрд░ рдЕрд╕реЗрдВрдмреНрд▓реА рд╣реА рдкреБрдвреАрд▓ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдкрд╛рдпрд░реА рдЖрд╣реЗ, рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЕрд╕реЗрдВрдмрд▓ рдХрд░рддрд╛рдирд╛ рд╡рд░реНрдЯрд┐рдХрд▓ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдкреНрд░рджрд╛рди рдХрд░рддреЗ.
рд╣реЗрд▓реНрдо 3 (тЖУ) рдордзреНрдпреЗ рд╕рдВрдХреНрд░рдордг
- рдЖрд╡реГрддреНрддреА: v1.2
- рддрд╛рд░рдЦрд╛: рдлреЗрдмреНрд░реБрд╡рд╛рд░реА-рдорд╛рд░реНрдЪ рдореЗ*
рдирд╡реАрди рдХреЛрдбрдмреЗрд╕рдордзреНрдпреЗ рд╕реНрдерд▓рд╛рдВрддрд░ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ
* рдЯреАрдк: рд╣реЗрд▓реНрдо 3 рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХреЗрд▓реНрдпрд╛рдиреЗ werf рдордзреНрдпреЗ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЬреЛрдбрд▓реА рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реАрдд, рдХрд╛рд░рдг рд╣реЗрд▓реНрдо 3 рдЪреА рд╕рд░реНрд╡ рдкреНрд░рдореБрдЦ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ (3-рд╡реЗ-рдорд░реНрдЬ рдЖрдгрд┐ рдиреЛ рдЯрд┐рд▓рд░) рдЖрдзреАрдЪ werf рдордзреНрдпреЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗрд▓реА рдЖрд╣реЗрдд. рд╢рд┐рд╡рд╛рдп, werf рдЖрд╣реЗ
Kubernetes рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА Jsonnet (тЖУ)
- рдЖрд╡реГрддреНрддреА: v1.2
- рддрд╛рд░рдЦрд╛: рдЬрд╛рдиреЗрд╡рд╛рд░реА-рдлреЗрдмреНрд░реБрд╡рд╛рд░реА рдПрдкреНрд░рд┐рд▓-рдореЗ
Werf Jsonnet рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ Kubernetes рд╕рд╛рдареА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡рд░реНрдгрдирд╛рдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрдИрд▓. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, werf рд╣реЗрд▓реНрдорд╢реА рд╕реБрд╕рдВрдЧрдд рд░рд╛рд╣реАрд▓ рдЖрдгрд┐ рд╡рд░реНрдгрди рд╕реНрд╡рд░реВрдкрд╛рдЪреА рдирд┐рд╡рдб рдЕрд╕реЗрд▓.
рдпрд╛рдЪреЗ рдХрд╛рд░рдг рдЕрд╕реЗ рдЖрд╣реЗ рдХреА рдЕрдиреЗрдХ рд▓реЛрдХрд╛рдВрдЪреНрдпрд╛ рдорддреЗ рдЧреЛ рдЯреЗрдореНрдкреНрд▓реЗрдЯреНрд╕рдордзреНрдпреЗ рдЙрдЪреНрдЪ рдкреНрд░рд╡реЗрд╢рд╛рдЪрд╛ рдЕрдбрдерд│рд╛ рдЕрд╕рддреЛ рдЖрдгрд┐ рдпрд╛ рдЯреЗрдореНрдкреНрд▓реЗрдЯреНрд╕рдЪреНрдпрд╛ рдХреЛрдбрдЪреА рд╕рдордЬреВрддрджрд╛рд░рддрд╛ рджреЗрдЦреАрд▓ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддреЗ.
рдЗрддрд░ Kubernetes рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡рд░реНрдгрди рдкреНрд░рдгрд╛рд▓реА (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, Kustomize) рд╕рд╛рджрд░ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╢рдХреНрдпрддреЗрдЪрд╛ рджреЗрдЦреАрд▓ рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рдд рдЖрд╣реЗ.
рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдХрд╛рдо рдХрд░рдгреЗ (тЖУ)
- рдЖрд╡реГрддреНрддреА: v1.2
- рддрд╛рд░рдЦрд╛: рдПрдкреНрд░рд┐рд▓-рдореЗ рдореЗ-рдЬреВрди
рдзреНрдпреЗрдп: рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреАрд▓ рдзрд╛рд╡рдкрдЯреВ рд╡рд╛рдкрд░реВрди рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд рдЖрдгрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓рд╛ рдЖрд╣реЗ рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рд╛. рддреНрдпрд╛. рдирд╡реАрди рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рд╕рд╛рдл рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд рдЖрдгрд┐ рдереЗрдЯ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдкреЙрдбреНрд╕рдордзреВрди рддреИрдирд╛рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд.
рд╣реА рдХреНрд╖рдорддрд╛ рдЕрдВрдорд▓рд╛рдд рдЖрдгрдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрдг рдкреНрд░рдердо рд╡рд┐рддрд░рд┐рдд рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рд╡рд░реАрд▓ рдмрд┐рдВрджреВ рдкрд╣рд╛).
рдпрд╛рд╕рд╛рдареА рдбреЙрдХрд░ рд╕рд░реНрд╡реНрд╣рд░рд╢рд┐рд╡рд╛рдп рдмрд┐рд▓реНрдбрд░рдЪреНрдпрд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдбрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рдореНрд╣рдгрдЬреЗ рдХрд╛рдирд┐рдХреЛ рд╕рд╛рд░рдЦреА рдмрд┐рд▓реНрдб рдХрд┐рдВрд╡рд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕рдордзреНрдпреЗ рдмрд┐рд▓реНрдб).
Werf рдХреЗрд╡рд│ рдбреЙрдХрд░рдлрд╛рдЗрд▓рдЪ рдирд╡реНрд╣реЗ, рддрд░ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрдЯреЗрдкрд▓ рдмрд┐рд▓реНрдбрд░рд▓рд╛ рд╡рд╛рдвреАрд╡ рдкреБрдирд░реНрдмрд╛рдВрдзрдгреА рдЖрдгрд┐ рдЙрддреНрддрд░рджрд╛рдпрд┐рддреНрд╡рд╛рд╕рд╣ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╡рд░реАрд▓ рдЗрдорд╛рд░рддреАрдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрдИрд▓.
рдЦреБрд▓реНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рдЪреНрдпрд╛ рджрд┐рд╢реЗрдиреЗ рдПрдХ рдкрд╛рдКрд▓
рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдордЪреНрдпрд╛ рд╕рдорд╛рдЬрд╛рд╡рд░ рдкреНрд░реЗрдо рдЖрд╣реЗ (
рдЕрдЧрджреА рдЕрд▓реАрдХрдбреЗ рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрдгреНрдпрд╛рдд рдЖрд▓рд╛
-
рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рдЖрдгрд┐ рд╕рд╛рдЗрдЯ ; -
рдЪрд╛рдЪрдгреА ; -
рдмрдЧ рдЖрдгрд┐ рдЦрд░рд╛рдм UX ; -
1.1 .
рд╕рдорд╕реНрдпрд╛рдВрд╕рд╣ рдмрд░реЗрдЪ рдХрд╛рдо рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ:
- рдЕрд╕рдВрдмрджреНрдз рдХрд╛рдврд▓реЗ.
- рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЕрд╕рд▓реЗрд▓реЗ рдПрдХрд▓ рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рдЖрдгрд▓реЗ рдЬрд╛рддрд╛рдд, рдЬреНрдпрд╛рдордзреНрдпреЗ рдкреБрд░реЗрд╕реЗ рддрдкрд╢реАрд▓ рдЖрдгрд┐ рддрдкрд╢реАрд▓ рдЖрд╣реЗрдд.
- рдХрд▓реНрдкрдирд╛ рдЖрдгрд┐ рд╕реВрдЪрдирд╛рдВрд╕рд╣ рдирд╡реАрди рд╕рдорд╕реНрдпрд╛ рдЬреЛрдбрд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд.
рдЖрд╡реГрддреНрддреА v1.1 рдХрд╢реА рд╕рдХреНрд╖рдо рдХрд░рд╛рд╡реА
рдЖрд╡реГрддреНрддреА рд╕рдзреНрдпрд╛ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ
source $(multiwerf use 1.1 ea)
werf COMMAND ...
рдирд┐рд╖реНрдХрд░реНрд╖
рд╕реНрдЯреЕрдкрд▓ рдЖрдгрд┐ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдмрд┐рд▓реНрдбрд░реНрд╕рд╕рд╛рдареА рдирд╡реАрди рд╕реНрдЯреЗрдЬ рд╕реНрдЯреЛрд░реЗрдЬ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЖрдгрд┐ рдмрд┐рд▓реНрдбрд░ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рдиреНрд╕ werf рдордзреНрдпреЗ рд╡рд┐рддрд░рд┐рдд рдЖрдгрд┐ рд╕рдорд╛рдВрддрд░ рдмрд┐рд▓реНрдбреНрд╕рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдЙрдШрдбрддрд╛рдд. рд╣реА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рд▓рд╡рдХрд░рдЪ рддреНрдпрд╛рдЪ v1.1 рд░рд┐рд▓реАрдЭрдордзреНрдпреЗ рджрд┐рд╕реВрди рдпреЗрддреАрд▓ рдЖрдгрд┐ рд╕реНрд╡рдпрдВ-рдЕрдкрдбреЗрдЯ рдпрдВрддреНрд░рдгреЗрджреНрд╡рд╛рд░реЗ (рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА) рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрддреАрд▓
рдпрд╛ рдкреНрд░рдХрд╛рд╢рдирд╛рдд, рдкреНрд░рддрд┐рдорд╛ рд╕рд╛рдордЧреНрд░реАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЯреЕрдЧрд┐рдВрдЧ рдзреЛрд░рдг рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ - рд╕рд╛рдордЧреНрд░реА-рдЖрдзрд╛рд░рд┐рдд рдЯреЕрдЧрд┐рдВрдЧ, рдЬреЗ рдбреАрдлреЙрд▓реНрдЯ рдзреЛрд░рдг рдмрдирд▓реЗ рдЖрд╣реЗ. рдореБрдЦреНрдп рдХрдорд╛рдВрдб рд▓реЙрдЧ рджреЗрдЦреАрд▓ рдкреБрдиреНрд╣рд╛ рдХрд╛рдо рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ: werf build
, werf publish
, werf deploy
, werf dismiss
, werf cleanup
.
рдкреБрдвреАрд▓ рдорд╣рддреНрддреНрд╡рд╛рдЪреА рдкрд╛рдпрд░реА рдореНрд╣рдгрдЬреЗ рд╡рд┐рддрд░рд┐рдд рдЕрд╕реЗрдВрдмреНрд▓реА рдЬреЛрдбрдгреЗ. v1.0 рдкрд╛рд╕реВрди рд╕рдорд╛рдВрддрд░ рдмрд┐рд▓реНрдбреНрд╕рдкреЗрдХреНрд╖рд╛ рд╡рд┐рддрд░рд┐рдд рдмрд┐рд▓реНрдбреНрд╕рдирд╛ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдзрд╛рдиреНрдп рдорд┐рд│рд╛рд▓реЗ рдЖрд╣реЗ рдХрд╛рд░рдг рддреЗ werf рд▓рд╛ рдЕрдзрд┐рдХ рдореВрд▓реНрдп рдЬреЛрдбрддрд╛рдд: рдмрд┐рд▓реНрдбрд░реНрд╕рдЪреЗ рдЕрдиреБрд▓рдВрдм рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рд╡рд┐рд╡рд┐рдз CI/CD рд╕рд┐рд╕реНрдЯреАрдордордзреНрдпреЗ рдЕрд▓реНрдкрдХрд╛рд▓реАрди рдмрд┐рд▓реНрдбрд░реНрд╕рд╕рд╛рдареА рд╕рдорд░реНрдерди, рддрд╕реЗрдЪ GitHub рдХреНрд░рд┐рдпрд╛рдВрд╕рд╛рдареА рдЕрдзрд┐рдХреГрдд рд╕рдорд░реНрдерди рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ . рддреНрдпрд╛рдореБрд│реЗ рд╕рдорд╛рдВрддрд░ рдЕрд╕реЗрдВрдмреНрд▓реАрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреА рдореБрджрдд рдмрджрд▓рдгреНрдпрд╛рдд рдЖрд▓реА. рддрдерд╛рдкрд┐, рдЖрдореНрд╣реА рджреЛрдиреНрд╣реА рд╢рдХреНрдпрддрд╛ рд▓рд╡рдХрд░рд╛рдд рд▓рд╡рдХрд░ рдЕрдВрдорд▓рд╛рдд рдЖрдгрдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рдо рдХрд░рдд рдЖрд╣реЛрдд.
рдмрд╛рддрдореНрдпрд╛рдВрдЪреЗ рдЕрдиреБрд╕рд░рдг рдХрд░рд╛! рдЖрдгрд┐ рдпреЗрдереЗ рдЖрдореНрд╣рд╛рд▓рд╛ рднреЗрдЯ рджреНрдпрд╛рдпрд▓рд╛ рд╡рд┐рд╕рд░реВ рдирдХрд╛
PS
рдЖрдордЪреНрдпрд╛ рдмреНрд▓реЙрдЧрд╡рд░ рджреЗрдЦреАрд▓ рд╡рд╛рдЪрд╛:
- ┬л
рд╕рд╛рджрд░ рдХрд░рдд рдЖрд╣реЛрдд werf 1.0 рд╕реНрдерд┐рд░: GitOps рдЪрд╛ рддреНрдпрд╛рдЪреНрдпрд╛рд╢реА рдХрд╛рдп рд╕рдВрдмрдВрдз рдЖрд╣реЗ, рд╕реНрдерд┐рддреА рдЖрдгрд┐ рдпреЛрдЬрдирд╛ ┬╗ - ┬л
werf - Kubernetes рдордзреАрд▓ CI/CD рд╕рд╛рдареА рдЖрдордЪреЗ рд╕рд╛рдзрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓) "; - werf рдордзреАрд▓ рдирд╡рдХрд▓реНрдкрдирд╛рдВрдмрджреНрджрд▓ рдиреЛрдЯреНрд╕рдЪреА рдорд╛рд▓рд┐рдХрд╛:
- ┬л
werf рдордзреНрдпреЗ 3-рд╡реЗ рд╡рд┐рд▓реАрдиреАрдХрд░рдг: рд╣реЗрд▓реНрдорд╕рд╣ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд▓рд╛ тАЬрд╕реНрдЯрд┐рд░реЙрдЗрдбреНрд╕рд╡рд░тАЭ рддреИрдирд╛рдд рдХрд░рд╛ "; - ┬л
рдЬрдЯрд┐рд▓ рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА werf рд╡рд╛рдкрд░рдгреЗ "; - ┬л
werf рдордзреАрд▓ рдореЛрдиреЛрд░реЗрдкреЛ рдЖрдгрд┐ рдорд▓реНрдЯреАрд░реЗрдкреЛрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЖрдгрд┐ рдбреЙрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реАрдЪрд╛ рддреНрдпрд╛рдЪреНрдпрд╛рд╢реА рдХрд╛рдп рд╕рдВрдмрдВрдз рдЖрд╣реЗ "; - ┬л
рддреБрдореНрд╣реА рдЖрддрд╛ рдирд┐рдпрдорд┐рдд Dockerfile рд╡рд╛рдкрд░реВрди werf рдордзреНрдпреЗ рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛ ┬╗.
- ┬л
рд╕реНрддреНрд░реЛрдд: www.habr.com