рддреБрдореНрд╣реА рдЖрддрд╛ рдирд┐рдпрдорд┐рдд Dockerfile рд╡рд╛рдкрд░реВрди werf рдордзреНрдпреЗ рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛

рдХрдзреАрд╣реА рди рдпреЗрдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЙрд╢реАрд░рд╛ рдЪрд╛рдВрдЧрд▓реЗ. рдХрд┐рдВрд╡рд╛ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдирд┐рдпрдорд┐рдд рдбреЙрдХрд░рдлрд╛рдпрд▓реНрд╕рд╕рд╛рдареА рд╕рдорд░реНрдерди рдирд╕рд▓реНрдпрд╛рдореБрд│реЗ рдЖрдореНрд╣реА рдЬрд╡рд│рдЬрд╡рд│ рдЧрдВрднреАрд░ рдЪреВрдХ рдХрд╢реА рдХреЗрд▓реА.

рддреБрдореНрд╣реА рдЖрддрд╛ рдирд┐рдпрдорд┐рдд Dockerfile рд╡рд╛рдкрд░реВрди werf рдордзреНрдпреЗ рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛

рдЖрдореНрд╣реА рдпрд╛рдмрджреНрджрд▓ рдмреЛрд▓реВ werf тАФ GitOps рдпреБрдЯрд┐рд▓рд┐рдЯреА рдЬреА рдХреЛрдгрддреНрдпрд╛рд╣реА CI/CD рд╕рд┐рд╕реНрдЯреАрдорд╕рд╣ рд╕рдорд╛рдХрд▓рд┐рдд рд╣реЛрддреЗ рдЖрдгрд┐ рд╕рдВрдкреВрд░реНрдг рдНрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд╛рдЗрдлрд╕рд╛рдпрдХрд▓рдЪреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдкреНрд░рджрд╛рди рдХрд░рддреЗ, рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ:

  • рдкреНрд░рддрд┐рдорд╛ рдЧреЛрд│рд╛ рдХрд░рд╛ рдЖрдгрд┐ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рд╛,
  • Kubernetes рдордзреНрдпреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддреИрдирд╛рдд рдХрд░рд╛,
  • рд╡рд┐рд╢реЗрд╖ рдзреЛрд░рдгреЗ рд╡рд╛рдкрд░реВрди рди рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддрд┐рдорд╛ рд╣рдЯрд╡рд╛.


рдбреЗрд╡реНрд╣рдСрдкреНрд╕ рдЕрднрд┐рдпрдВрддреНрдпрд╛рдВрдирд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рд╡рд░ рдирд┐рдпрдВрддреНрд░рдг рджреЗрдгрд╛рд░реА рдПрдХрд▓ рдпреБрдирд┐рдлрд╛рдЗрдб рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╕рд╛рдзрдиреЗ рдПрдХрддреНрд░рд┐рдд рдХрд░рдгреЗ рд╣реЗ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреЗ рддрддреНрддреНрд╡рдЬреНрдЮрд╛рди рдЖрд╣реЗ. рд╢рдХреНрдп рдЕрд╕рд▓реНрдпрд╛рд╕, рд╡рд┐рджреНрдпрдорд╛рди рдЙрдкрдпреБрдХреНрддрддрд╛ (рдЬрд╕реЗ рдХреА рд╣реЗрд▓реНрдо рдЖрдгрд┐ рдбреЙрдХрд░) рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд. рдЬрд░ рдПрдЦрд╛рджреНрдпрд╛ рд╕рдорд╕реНрдпреЗрд╡рд░ рдЙрдкрд╛рдп рдирд╕реЗрд▓, рддрд░ рдЖрдореНрд╣реА рдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реА рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯ рддрдпрд╛рд░ рдХрд░реВ рдЖрдгрд┐ рд╕рдорд░реНрдерди рджреЗрдК рд╢рдХрддреЛ.

рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА: рддреБрдордЪрд╛ рд╕реНрд╡рддрдГрдЪрд╛ рдЗрдореЗрдЬ рдХрд▓реЗрдХреНрдЯрд░

werf рдордзреАрд▓ рдЗрдореЗрдЬ рдХрд▓реЗрдХреНрдЯрд░рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рдЕрд╕реЗрдЪ рдШрдбрд▓реЗ: рдиреЗрд╣рдореАрдЪреА рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдЖрдордЪреНрдпрд╛рд╕рд╛рдареА рдкреБрд░реЗрд╢реА рдирд╡реНрд╣рддреА. рдЬрд░ рдЖрдкрдг рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рдЗрддрд┐рд╣рд╛рд╕рд╛рд╡рд░ рдПрдХ рджреНрд░реБрдд рдХрдЯрд╛рдХреНрд╖ рдЯрд╛рдХрд▓рд╛ рддрд░, рд╣реА рд╕рдорд╕реНрдпрд╛ рдЖрдзреАрдЪ werf рдЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдордзреНрдпреЗ рджрд┐рд╕реВрди рдЖрд▓реА (рдордЧ рдЕрдЬреВрдирд╣реА dapp рдореНрд╣рдгреВрди рдУрд│рдЦрд▓реЗ рдЬрд╛рддреЗ).

рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛рдВрдордзреНрдпреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рд╕рд╛рдзрди рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛, рдЖрдореНрд╣рд╛рд▓рд╛ рддреНрд╡рд░реАрдд рд▓рдХреНрд╖рд╛рдд рдЖрд▓реЗ рдХреА рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХрд╛рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдВрд╕рд╛рдареА рдЖрдордЪреНрдпрд╛рд╕рд╛рдареА рдпреЛрдЧреНрдп рдирд╛рд╣реА:

  1. рдЦрд╛рд▓реАрд▓ рдорд╛рдирдХ рдпреЛрдЬрдиреЗрдиреБрд╕рд╛рд░ рдард░рд╛рд╡рд┐рдХ рд▓рд╣рд╛рди рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ:
    • рд╕рд┐рд╕реНрдЯрдо-рд╡реНрдпрд╛рдкреА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛,
    • рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рд▓рд╛рдпрдмреНрд░рд░реАрдВрдЪреЗ рдмрдВрдбрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛,
    • рдорд╛рд▓рдорддреНрддрд╛ рдЧреЛрд│рд╛ рдХрд░рдгреЗ,
    • рдЖрдгрд┐ рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдореНрд╣рдгрдЬреЗ, рдЗрдореЗрдЬрдордзреАрд▓ рдХреЛрдб рдЬрд▓рдж рдЖрдгрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рдЕрдкрдбреЗрдЯ рдХрд░рд╛.
  2. рдЬреЗрд╡реНрд╣рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╛рдЗрд▓реНрд╕рдордзреНрдпреЗ рдмрджрд▓ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд, рддреЗрд╡реНрд╣рд╛ рдмрд┐рд▓реНрдбрд░рдиреЗ рдмрджрд▓рд▓реЗрд▓реНрдпрд╛ рдлрд╛рдЗрд▓реНрд╕рд╡рд░ рдкреЕрдЪ рд▓рд╛рдЧреВ рдХрд░реВрди рдПрдХ рдирд╡реАрди рд╕реНрддрд░ рддреНрд╡рд░рд┐рдд рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ.
  3. рдЬрд░ рдХрд╛рд╣реА рдлрд╛рдпрд▓реА рдмрджрд▓рд▓реНрдпрд╛ рдЕрд╕рддреАрд▓, рддрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЕрд╡рд▓рдВрдмрд┐рдд рд╕реНрдЯреЗрдЬрдЪреА рдкреБрдирд░реНрдмрд╛рдВрдзрдгреА рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдЖрдЬ рдЖрдордЪреНрдпрд╛ рдХрд▓реЗрдХреНрдЯрд░рдХрдбреЗ рдЗрддрд░ рдЕрдиреЗрдХ рд╢рдХреНрдпрддрд╛ рдЖрд╣реЗрдд, рдкрдг рдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрдЪреНрдпрд╛ рдЗрдЪреНрдЫрд╛ рдЖрдгрд┐ рдЖрдЧреНрд░рд╣ рд╣реЛрддреНрдпрд╛.

рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рджреЛрдирджрд╛ рд╡рд┐рдЪрд╛рд░ рди рдХрд░рддрд╛, рдЖрдореНрд╣реА рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖реЗрд╕рд╣ рдЖрдореНрд╣реА рд╕реНрд╡рддрдГрд▓рд╛ рд╕рд╢рд╕реНрддреНрд░ рдХреЗрд▓реЗ (рдЦрд╛рд▓реА рдкрд╣рд╛) рдЖрдгрд┐ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд░рд╕реНрддрд╛ рджрд╛рдмрд╛ рд╕реНрд╡рддрдГрдЪреЗ рдбреАрдПрд╕рдПрд▓! рдЙрджреНрджрд┐рд╖реНрдЯрд╛рдВрдЪреНрдпрд╛ рдЕрдиреБрд╖рдВрдЧрд╛рдиреЗ, рдЕрд╕реЗрдВрдмреНрд▓реА рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреЗ рдЯрдкреНрдкреНрдпрд╛рдЯрдкреНрдкреНрдпрд╛рдиреЗ рд╡рд░реНрдгрди рдХрд░рдгреЗ рдЖрдгрд┐ рдлрд╛рдпрд▓реАрдВрд╡рд░ рдпрд╛ рдЯрдкреНрдкреНрдпрд╛рдВрдЪреЗ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреЗ рд╣реЗ рд╣реЛрддреЗ. рдЖрдгрд┐ рддреНрдпрд╛рд▓рд╛ рдкреВрд░рдХ рд╕реНрд╡рддрдГрдЪреЗ рдХрд▓реЗрдХреНрдЯрд░, рдЬреНрдпрд╛рдиреЗ DSL рд▓рд╛ рдЕрдВрддрд┐рдо рд▓рдХреНрд╖реНрдпрд╛рдд рдмрджрд▓рд▓реЗ - рдПрдХ рдПрдХрддреНрд░рд┐рдд рдкреНрд░рддрд┐рдорд╛. рдкреНрд░рдердо рдбреАрдПрд╕рдПрд▓ рд░реБрдмреА рдордзреНрдпреЗ рд╣реЛрддреЗ, рдкрдг рдореНрд╣рдгреВрди рдЧреЛрд▓рдВрдЧ рдордзреНрдпреЗ рд╕рдВрдХреНрд░рдордг тАФ рдЖрдордЪреНрдпрд╛ рдХрд▓реЗрдХреНрдЯрд░рдЪреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди YAML рдлрд╛рдЗрд▓рдордзреНрдпреЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЬрд╛рдК рд▓рд╛рдЧрд▓реЗ.

рддреБрдореНрд╣реА рдЖрддрд╛ рдирд┐рдпрдорд┐рдд Dockerfile рд╡рд╛рдкрд░реВрди werf рдордзреНрдпреЗ рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛
рд░реБрдмреА рдордзреНрдпреЗ dapp рд╕рд╛рдареА рдЬреБрдиреА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди

рддреБрдореНрд╣реА рдЖрддрд╛ рдирд┐рдпрдорд┐рдд Dockerfile рд╡рд╛рдкрд░реВрди werf рдордзреНрдпреЗ рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛
YAML рд╡рд░ werf рд╕рд╛рдареА рд╡рд░реНрддрдорд╛рди рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди

рдХрд╛рд│рд╛рдиреБрд╕рд╛рд░ рдЬрд┐рд▓реНрд╣рд╛рдзрд┐рдХрд╛рд▒реНрдпрд╛рдВрдЪреА рдпрдВрддреНрд░рдгрд╛рд╣реА рдмрджрд▓рдд рдЧреЗрд▓реА. рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛, рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреВрди рдлреНрд▓рд╛рдпрд╡рд░ рддрд╛рддреНрдкреБрд░рддреА рдбреЙрдХрд░рдлрд╛рдЗрд▓ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реА рдЖрдгрд┐ рдирдВрддрд░ рдЖрдореНрд╣реА рддрд╛рддреНрдкреБрд░рддреНрдпрд╛ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдЕрд╕реЗрдВрдмреНрд▓реА рд╕реВрдЪрдирд╛ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА рдЖрдгрд┐ рдХрдорд┐рдЯ рдХреЗрд▓реЗ.

NB: рдпрд╛рдХреНрд╖рдгреА, рдЖрдордЪреЗ рдХрд▓реЗрдХреНрдЯрд░, рдЬреЗ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддреЗ (YAML рдордзреНрдпреЗ) рдЖрдгрд┐ рдЬреНрдпрд╛рд▓рд╛ рд╕реНрдЯреЕрдкрд▓ рдХрд▓реЗрдХреНрдЯрд░ рдореНрд╣рдгрддрд╛рдд, рддреЗ рдЖрдзреАрдЪ рдмрд░реНтАНрдпрд╛рдкреИрдХреА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕рд╛рдзрди рдореНрд╣рдгреВрди рд╡рд┐рдХрд╕рд┐рдд рдЭрд╛рд▓реЗ рдЖрд╣реЗ. рддреНрдпрд╛рдЪреЗ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╡рд░реНрдгрди рд╕реНрд╡рддрдВрддреНрд░ рд▓реЗрдЦрд╛рд╕ рдкрд╛рддреНрд░ рдЖрд╣реЗ рдЖрдгрд┐ рдореВрд▓рднреВрдд рддрдкрд╢реАрд▓ рдпрд╛рдордзреНрдпреЗ рдЖрдврд│реВ рд╢рдХрддрд╛рдд рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг.

рд╕рдорд╕реНрдпреЗрдЪреА рдЬрд╛рдгреАрд╡

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

рдпрд╛ рдкреНрд░рд╢реНрдирд╛рдЪреЗ рдЙрддреНрддрд░ рджреЗрдгреНрдпрд╛рдРрд╡рдЬреА, рдЖрдореНрд╣реА рдПрдХ рдЙрдкрд╛рдп рдСрдлрд░ рдХрд░рддреЛ. рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдЖрдзреАрдкрд╛рд╕реВрди рдбреЙрдХрд░рдлрд╛рдЗрд▓ (рдХрд┐рдВрд╡рд╛ рдбреЙрдХрд░рдлрд╛рдИрд▓реНрд╕рдЪрд╛ рд╕рдВрдЪ) рдЕрд╕реЗрд▓ рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ werf рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рдЕрд╕реЗрд▓ рддрд░?

NB: рддрд╕реЗ, рддреБрдореНрд╣рд╛рд▓рд╛ werf рдХрд╛ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рдЖрд╣реЗ? рдореБрдЦреНрдп рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЙрдХрд│рддрд╛рдд:

  • рдкреНрд░рддрд┐рдорд╛ рд╕рд╛рдлрд╕рдлрд╛рдИрд╕рд╣ рд╕рдВрдкреВрд░реНрдг рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЪрдХреНрд░;
  • рдПрдХрд╛рдЪ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреВрди рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЕрдиреЗрдХ рдкреНрд░рддрд┐рдорд╛рдВрдЪреЗ рдЕрд╕реЗрдВрдмреНрд▓реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛;
  • рд╣реЗрд▓реНрдо-рд╕реБрд╕рдВрдЧрдд рдЪрд╛рд░реНрдЯрд╕рд╛рдареА рд╕реБрдзрд╛рд░рд┐рдд рдЙрдкрдпреЛрдЬрди рдкреНрд░рдХреНрд░рд┐рдпрд╛.

рддреНрдпрд╛рдВрдЪреА рдЕрдзрд┐рдХ рд╕рдВрдкреВрд░реНрдг рдпрд╛рджреА рдпреЗрдереЗ рдЖрдврд│реВ рд╢рдХрддреЗ рдкреНрд░рдХрд▓реНрдк рдкреГрд╖реНрда.

рдореНрд╣рдгреВрди, рдЬрд░ рдкреВрд░реНрд╡реА рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рдСрдлрд░ рджрд┐рд▓реА рдЕрд╕рддреА, рддрд░ рдЖрддрд╛ рдЖрдореНрд╣реА рдЖрдирдВрджрд╛рдиреЗ рдореНрд╣рдгреВ: "рд╡реЗрд░реНрдлрд▓рд╛ рддреБрдордЪреА рдбреЙрдХрд░рдлрд╛рдЗрд▓ рддрдпрд╛рд░ рдХрд░реВ рджреНрдпрд╛!"

рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ?

рдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдЪреА рд╕рдВрдкреВрд░реНрдг рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдкреНрд░рдХрд╛рд╢рдирд╛рдд рджрд┐рд╕реВрди рдЖрд▓реА werf v1.0.3-beta.1. рд╕рд╛рдорд╛рдиреНрдп рддрддреНрддреНрд╡ рд╕реЛрдкреЗ рдЖрд╣реЗ: рд╡рд╛рдкрд░рдХрд░реНрддрд╛ werf рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рд╡рд┐рджреНрдпрдорд╛рди рдбреЙрдХрд░рдлрд╛рдЗрд▓рдЪрд╛ рдорд╛рд░реНрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЛ рдЖрдгрд┐ рдирдВрддрд░ рдХрдорд╛рдВрдб рдЪрд╛рд▓рд╡рддреЛ. werf build... рдЖрдгрд┐ рддреЗрдЪ рдЖрд╣реЗ - werf рдкреНрд░рддрд┐рдорд╛ рдПрдХрддреНрд░ рдХрд░реЗрд▓. рдПрдХ рдЕрдореВрд░реНрдд рдЙрджрд╛рд╣рд░рдг рдкрд╛рд╣реВ.

рдкреБрдврдЪреА рдШреЛрд╖рдгрд╛ рдХрд░реВрдпрд╛ Dockerfile рдкреНрд░рдХрд▓реНрдк рд░реВрдЯ рдордзреНрдпреЗ:

FROM ubuntu:18.04
RUN echo Building ...

рдЖрдгрд┐ рдЖрдореНрд╣реА рдЬрд╛рд╣реАрд░ рдХрд░реВ werf.yamlрдЬреЗ рд╣реЗ рд╡рд╛рдкрд░рддреЗ Dockerfile:

configVersion: 1
project: dockerfile-example
---
image: ~
dockerfile: ./Dockerfile

рд╕рд░реНрд╡! рдмрд╛рдХреА рдЪрд╛рд▓рд╡рд╛ werf build:

рддреБрдореНрд╣реА рдЖрддрд╛ рдирд┐рдпрдорд┐рдд Dockerfile рд╡рд╛рдкрд░реВрди werf рдордзреНрдпреЗ рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛

рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЖрдкрдг рдЦрд╛рд▓реАрд▓ рдШреЛрд╖рдгрд╛ рдХрд░реВ рд╢рдХрддрд╛ werf.yaml рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдбреЙрдХрд░рдлрд╛рдИрд▓реНрд╕рдордзреВрди рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЕрдиреЗрдХ рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА:

configVersion: 1
project: dockerfile-example
---
image: backend
dockerfile: ./dockerfiles/Dockerfile-backend
---
image: frontend
dockerfile: ./dockerfiles/Dockerfile-frontend

рд╢реЗрд╡рдЯреА, рддреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд┐рд▓реНрдб рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рд╕ рджреЗрдЦреАрд▓ рд╕рдорд░реНрдерди рджреЗрддреЗ, рдЬрд╕реЗ рдХреА --build-arg ╨╕ --add-host - werf рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирджреНрд╡рд╛рд░реЗ. рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдЗрдореЗрдЬ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдЪреЗ рд╕рдВрдкреВрд░реНрдг рд╡рд░реНрдгрди рдпреЗрдереЗ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рдкреГрд╖реНрда.

рддреЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ?

рдмрд┐рд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпреЗрджрд░рдореНрдпрд╛рди, рдбреЙрдХрд░ рдлрдВрдХреНрд╢рдирдордзреАрд▓ рд╕реНрдерд╛рдирд┐рдХ рд╕реНрддрд░рд╛рдВрдЪреЗ рдорд╛рдирдХ рдХреЕрд╢реЗ. рддрдерд╛рдкрд┐, рдХрд╛рдп рдорд╣рддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ рддреЗ werf рджреЗрдЦреАрд▓ рдЖрд╣реЗ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рддреНрдпрд╛рдЪреНрдпрд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдордзреНрдпреЗ рд╕рдорд╛рдХрд▓рд┐рдд рдХрд░рддреЗ. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдХрд╛рдп?

  1. рдбреЙрдХрд░рдлрд╛рдЗрд▓рдордзреВрди рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдореЗрдордзреНрдпреЗ рдПрдХ рдЯрдкреНрдкрд╛ рдЕрд╕рддреЛ рдЬреНрдпрд╛рд▓рд╛ рдореНрд╣рдгрддрд╛рдд dockerfile (Werf рдордзреНрдпреЗ рдХреЛрдгрддреЗ рдЯрдкреНрдкреЗ рдЖрд╣реЗрдд рдпрд╛рдмрджреНрджрд▓ рдЖрдкрдг рдЕрдзрд┐рдХ рд╡рд╛рдЪреВ рд╢рдХрддрд╛ рдпреЗрдереЗ).
  2. рд╕реНрдЯреЗрдЬ рд╕рд╛рдареА dockerfile werf рд╕реНрд╡рд╛рдХреНрд╖рд░реАрдЪреА рдЧрдгрдирд╛ рдХрд░рддреЗ рдЬреА рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдЪреНрдпрд╛ рд╕рд╛рдордЧреНрд░реАрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ. рдЬреЗрд╡реНрд╣рд╛ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдмрджрд▓рддреЗ, рддреЗрд╡реНрд╣рд╛ рд╕реНрдЯреЗрдЬ рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдмрджрд▓рддреЗ dockerfile рдЖрдгрд┐ werf рдирд╡реАрди рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирд╕рд╣ рдпрд╛ рд╕реНрдЯреЗрдЬрдЪреА рдкреБрдирд░реНрдмрд╛рдВрдзрдгреА рд╕реБрд░реВ рдХрд░рддреЗ. рдЬрд░ рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдмрджрд▓рд▓реА рдирд╛рд╣реА, рддрд░ werf рдХреЕрд╢реЗрдордзреВрди рдкреНрд░рддрд┐рдорд╛ рдШреЗрддреЗ (werf рдордзреНрдпреЗ рд╕реНрд╡рд╛рдХреНрд╖рд░реА рд╡рд╛рдкрд░рдгреНрдпрд╛рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╛рдВрдордзреНрдпреЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЖрд╣реЗ рд╣рд╛ рдЕрд╣рд╡рд╛рд▓).
  3. рдкреБрдвреЗ, рд╕рдВрдХрд▓рд┐рдд рдкреНрд░рддрд┐рдорд╛ рдХрдорд╛рдВрдбрд╕рд╣ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд werf publish (рдХрд┐рдВрд╡рд╛ werf build-and-publish) рдЖрдгрд┐ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рддреИрдирд╛рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд╛. рдбреЙрдХрд░ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрдордзреНрдпреЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреНрд░рддрд┐рдорд╛ рдорд╛рдирдХ рд╡реЗрд░реНрдл рдХреНрд▓реАрдирдЕрдк рдЯреВрд▓реНрд╕ рд╡рд╛рдкрд░реВрди рд╕рд╛рдл тАЛтАЛрдХреЗрд▓реНрдпрд╛ рдЬрд╛рддреАрд▓, рдЙрджрд╛. рдЬреБрдиреНрдпрд╛ рдкреНрд░рддрд┐рдорд╛ (N рджрд┐рд╡рд╕рд╛рдВрдкреЗрдХреНрд╖рд╛ рдЬреБрдиреНрдпрд╛), рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдирд╕рд▓реЗрд▓реНрдпрд╛ Git рд╢рд╛рдЦрд╛рдВрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддрд┐рдорд╛ рдЖрдгрд┐ рдЗрддрд░ рдзреЛрд░рдгреЗ рдЖрдкреЛрдЖрдк рд╕рд╛рдл рдХреЗрд▓реА рдЬрд╛рддреАрд▓.

рдпреЗрдереЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдореБрджреНрджреНрдпрд╛рдВрдмрджреНрджрд▓ рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдгрд╛рдордзреНрдпреЗ рдЖрдврд│реВ рд╢рдХрддрд╛рдд:

рдиреЛрдЯреНрд╕ рдЖрдгрд┐ рдЦрдмрд░рджрд╛рд░реА

1. рдмрд╛рд╣реНрдп URL ADD рдордзреНрдпреЗ рд╕рдорд░реНрдерд┐рдд рдирд╛рд╣реА

рд╕рдзреНрдпрд╛ рдирд┐рд░реНрджреЗрд╢рд╛рдордзреНрдпреЗ рдмрд╛рд╣реНрдп URL рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕рдкреЛрд░реНрдЯ рдирд╛рд╣реА ADD. рдирд┐рд░реНрджрд┐рд╖реНрдЯ URL рд╡рд░реАрд▓ рд╕рдВрд╕рд╛рдзрди рдмрджрд▓рд▓реНрдпрд╛рд╡рд░ Werf рдкреБрдирд░реНрдмрд╛рдВрдзрдгреА рд╕реБрд░реВ рдХрд░рдгрд╛рд░ рдирд╛рд╣реА. рдЖрдореНрд╣реА рд▓рд╡рдХрд░рдЪ рд╣реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрдЦрдд рдЖрд╣реЛрдд.

2. рддреБрдореНрд╣реА рдЗрдореЗрдЬрдордзреНрдпреЗ .git рдЬреЛрдбреВ рд╢рдХрдд рдирд╛рд╣реА

рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЬреЛрдбрдгреЗ .git рдкреНрд░рддрд┐рдореЗрдордзреНрдпреЗ - рдПрдХ рджреБрд╖реНрдЯ рд╡рд╛рдИрдЯ рдкреНрд░рдерд╛ рдЖрдгрд┐ рдпреЗрдереЗ рдХрд╛ рдЖрд╣реЗ:

  1. рддрд░ .git рдЕрдВрддрд┐рдо рдкреНрд░рддрд┐рдореЗрдд рд░рд╛рд╣рддреЗ, рд╣реЗ рддрддреНрддреНрд╡рд╛рдВрдЪреЗ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддреЗ 12 рдШрдЯрдХ рдЕреЕрдк: рдЕрдВрддрд┐рдо рдкреНрд░рддрд┐рдорд╛ рдПрдХрд╛рдЪ рдХрдорд┐рдЯрд╢реА рдЬреЛрдбрд▓реЗрд▓реА рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рддреЗ рдХрд░рдгреЗ рд╢рдХреНрдп рдирд╕рд╛рд╡реЗ git checkout рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд╡рдЪрдирдмрджреНрдз.
  2. .git рдкреНрд░рддрд┐рдореЗрдЪрд╛ рдЖрдХрд╛рд░ рд╡рд╛рдврд╡рддреЗ (рдореЛрдареНрдпрд╛ рдлрд╛рдЗрд▓реНрд╕ рдПрдХрджрд╛ рддреНрдпрд╛рдд рдЬреЛрдбрд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдЖрдгрд┐ рдирдВрддрд░ рд╣рдЯрд╡рд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛рдореБрд│реЗ рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рдореЛрдареА рдЕрд╕реВ рд╢рдХрддреЗ). рдХреЗрд╡рд│ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдорд┐рдЯрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╡рд░реНрдХ-рдЯреНрд░реАрдЪрд╛ рдЖрдХрд╛рд░ Git рдордзреАрд▓ рдСрдкрд░реЗрд╢рдиреНрд╕рдЪреНрдпрд╛ рдЗрддрд┐рд╣рд╛рд╕рд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдирд╛рд╣реА. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЬреЛрдбрдгреЗ рдЖрдгрд┐ рддреНрдпрд╛рдирдВрддрд░рдЪреЗ рдХрд╛рдврдгреЗ .git рдЕрдВрддрд┐рдо рдкреНрд░рддрд┐рдореЗрд╡рд░реВрди рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░ рдирд╛рд╣реА: рдкреНрд░рддрд┐рдорд╛ рдЕрджреНрдпрд╛рдк рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрд▓ - рдбреЙрдХрд░ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ.
  3. рдбреЙрдХрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкреБрдирд░реНрдмрд╛рдВрдзрдгреА рд╕реБрд░реВ рдХрд░реВ рд╢рдХрддреЛ, рдЬрд░реА рд╕рдорд╛рди рдХрдорд┐рдЯ рдмрд╛рдВрдзрд▓реЗ рдЬрд╛рдд рдЕрд╕рд▓реЗ рддрд░реА, рдкрд░рдВрддреБ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╡рд░реНрдХ-рдЯреНрд░реАрдЬрдордзреВрди. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, GitLab рдордзреНрдпреЗ рд╕реНрд╡рддрдВрддреНрд░ рдХреНрд▓реЛрди рдбрд┐рд░реЗрдХреНрдЯреНрд░реА рддрдпрд╛рд░ рдХрд░рддреЗ /home/gitlab-runner/builds/HASH/[0-N]/yourproject рдЬреЗрд╡реНрд╣рд╛ рд╕рдорд╛рдВрддрд░ рдЕрд╕реЗрдВрдмреНрд▓реА рд╕рдХреНрд╖рдо рдХреЗрд▓реА рдЬрд╛рддреЗ. рдЕрддрд┐рд░рд┐рдХреНрдд reassembly рдореБрд│реЗ рд╣реЛрдИрд▓ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ .git рд╕рдорд╛рди рдХрдорд┐рдЯ рдмрд╛рдВрдзрд▓реЗ рдЕрд╕рд▓реЗ рддрд░реАрд╣реА, рд╕рдорд╛рди рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЪреНрдпрд╛ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдХреНрд▓реЛрди рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдордзреНрдпреЗ рднрд┐рдиреНрди рдЖрд╣реЗ.

werf рд╡рд╛рдкрд░рддрд╛рдирд╛ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдмрд┐рдВрджреВрдЪреЗ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦреАрд▓ рд╣реЛрддрд╛рдд. Werf рд▓рд╛ рдХрд╛рд╣реА рдХрдорд╛рдВрдб рдЪрд╛рд▓рд╡рддрд╛рдирд╛ рдЕрдВрдЧрднреВрдд рдХреЕрд╢реЗ рдЙрдкрд╕реНрдерд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рдЙрджрд╛. werf deploy). рдЬреЗрд╡реНрд╣рд╛ рд╣реЗ рдЖрджреЗрд╢ рдЪрд╛рд▓рддрд╛рдд, рддреЗрд╡реНрд╣рд╛ werf рдордзреНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддрд┐рдорд╛рдВрд╕рд╛рдареА рд╕реНрдЯреЗрдЬ рд╕реНрд╡рд╛рдХреНрд╖рд░реАрдЪреА рдЧрдгрдирд╛ рдХрд░рддреЗ werf.yaml, рдЖрдгрд┐ рддреЗ рдЕрд╕реЗрдВрдмреНрд▓реА рдХреЕрд╢реЗрдордзреНрдпреЗ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ - рдЕрдиреНрдпрдерд╛ рдХрдорд╛рдВрдб рдХрд╛рд░реНрдп рдХрд░рдгреЗ рд╕реБрд░реВ рдареЗрд╡рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рд░рд╛рд╣рдгрд╛рд░ рдирд╛рд╣реА. рдЬрд░ рд╕реНрдЯреЗрдЬ рд╕реНрд╡рд╛рдХреНрд╖рд░реА рд╕рд╛рдордЧреНрд░реАрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕реЗрд▓ .git, рдирдВрддрд░ рдЖрдореНрд╣рд╛рд▓рд╛ рдПрдХ рдХреЕрд╢реЗ рдорд┐рд│реЗрд▓ рдЬреЛ рдЕрд╕рдВрдмрджреНрдз рдлрд╛рдЗрд▓реНрд╕рдордзреАрд▓ рдмрджрд▓рд╛рдВрд╕рд╛рдареА рдЕрд╕реНрдерд┐рд░ рдЖрд╣реЗ рдЖрдгрд┐ werf рдЕрд╢рд╛ рдЙрдкреЗрдХреНрд╖рд╛ рдорд╛рдл рдХрд░реВ рд╢рдХрдгрд╛рд░ рдирд╛рд╣реА (рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╛рдВрд╕рд╛рдареА, рдкрд╣рд╛ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг).

рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рдлрдХреНрдд рдХрд╛рд╣реА рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓реНрд╕ рдЬреЛрдбрдгреЗ рд╕реВрдЪрдирд╛рдВрджреНрд╡рд╛рд░реЗ ADD рдХреЛрдгрддреНрдпрд╛рд╣реА рдкрд░рд┐рд╕реНрдерд┐рддреАрдд рд▓рд┐рдЦрд┐рддрдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЖрдгрд┐ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддрд╛ рд╡рд╛рдврддреЗ Dockerfile, рдЖрдгрд┐ рдпрд╛рд╕рд╛рдареА рдЧреЛрд│рд╛ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреЕрд╢реЗрдЪреА рд╕реНрдерд┐рд░рддрд╛ рджреЗрдЦреАрд▓ рд╕реБрдзрд╛рд░рддреЗ Dockerfile, Git рдордзреАрд▓ рдЕрд╕рдВрдмрджреНрдз рдмрджрд▓рд╛рдВрд╕рд╛рдареА.

рдкрд░рд┐рдгрд╛рдо

рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧрд░рдЬрд╛рдВрд╕рд╛рдареА рдЖрдордЪреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдмрд┐рд▓реНрдбрд░рд▓рд╛ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪрд╛ рдЖрдордЪрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рд░реНрдЧ рдХрдареЛрд░, рдкреНрд░рд╛рдорд╛рдгрд┐рдХ рдЖрдгрд┐ рд╕рд░рд│ рд╣реЛрддрд╛: рдорд╛рдирдХ рдбреЙрдХрд░рдлрд╛рдЗрд▓рдЪреНрдпрд╛ рд╢реАрд░реНрд╖рд╕реНрдерд╛рдиреА рдХреНрд░реЕрдЪ рд╡рд╛рдкрд░рдгреНрдпрд╛рдРрд╡рдЬреА, рдЖрдореНрд╣реА рд╕рд╛рдиреБрдХреВрд▓ рд╡рд╛рдХреНрдпрд░рдЪрдирд╛рд╕рд╣ рдЖрдордЪреЗ рдирд┐рд░рд╛рдХрд░рдг рд▓рд┐рд╣рд┐рд▓реЗ. рдЖрдгрд┐ рдпрд╛рдЪреЗ рддреНрдпрд╛рдЪреЗ рдлрд╛рдпрджреЗ рд╣реЛрддреЗ: рд╕реНрдЯреЗрдкрд▓ рдХрд▓реЗрдХреНрдЯрд░ рддреНрдпрд╛рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪрд╛ рдЙрддреНрддрдо рдкреНрд░рдХрд╛рд░реЗ рд╕рд╛рдордирд╛ рдХрд░рддреЛ.

рддрдерд╛рдкрд┐, рдЖрдордЪрд╛ рд╕реНрд╡рддрдГрдЪрд╛ рдмрд┐рд▓реНрдбрд░ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд, рдЖрдореНрд╣реА рд╡рд┐рджреНрдпрдорд╛рди рдбреЙрдХрд░рдлрд╛рдИрд▓реНрд╕рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЧрдорд╛рд╡рд▓реЗ. рд╣рд╛ рджреЛрд╖ рдЖрддрд╛ рджреБрд░реБрд╕реНрдд рдХрд░рдгреНрдпрд╛рдд рдЖрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рднрд╡рд┐рд╖реНрдпрд╛рдд рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рдХрд╕реНрдЯрдо рд╕реНрдЯреЗрдкрд▓ рдмрд┐рд▓реНрдбрд░рд╕реЛрдмрдд рд╡рд┐рддрд░рд┐рдд рдмрд┐рд▓реНрдбрд╕рд╛рдареА рдЖрдгрд┐ Kubernetes рд╡рд╛рдкрд░реВрди рдмрд┐рд▓реНрдбрд╕рд╛рдареА (рдореНрд╣рдгрдЬреЗ рдХрд╛рдирд┐рдХреЛрдордзреНрдпреЗ рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдЪреНрдпрд╛ рдЖрдд рдзрд╛рд╡рдгрд╛рд▒реНрдпрд╛рдВрд╡рд░ рдмрд┐рд▓реНрдб) рдбреЙрдХрд░рдлрд╛рдЗрд▓ рд╕рдкреЛрд░реНрдЯ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрдЦрдд рдЖрд╣реЛрдд.

рддрд░, рдЬрд░ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдЕрдЪрд╛рдирдХ рдХрд╛рд╣реА рдбреЙрдХрд░рдлрд╛рдИрд▓реНрд╕ рдкрдбрд▓реНрдпрд╛ рдЕрд╕рддреАрд▓ рддрд░... рд╣реЗ рдХрд░реВрди рдкрд╣рд╛ werf!

PS рд╡рд┐рд╖рдпрд╛рд╡рд░реАрд▓ рдХрд╛рдЧрджрдкрддреНрд░рд╛рдВрдЪреА рдпрд╛рджреА

рдЖрдордЪреНрдпрд╛ рдмреНрд▓реЙрдЧрдордзреНрдпреЗ рджреЗрдЦреАрд▓ рд╡рд╛рдЪрд╛: "werf - Kubernetes рдордзреАрд▓ CI/CD рд╕рд╛рдареА рдЖрдордЪреЗ рд╕рд╛рдзрди (рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрд╣рд┐рдбрд┐рдУ рдЕрд╣рд╡рд╛рд▓)┬╗.

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛