рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдСрдЯреЛрдореЗрд╢рди

рдореИрдВ рддреБрд░рдВрдд рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ: рдпрд╣ рд▓реЗрдЦ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдиреБрд╕реНрдЦрд╛ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ NodeJS рдХреА рджреБрдирд┐рдпрд╛ рдХреА рдпрд╛рддреНрд░рд╛ рдХреА рдореЗрд░реА рдХрд╣рд╛рдиреА рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдореЗрд░реЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рднреА рд╣реИрдВред рдлрд┐рд░ рднреА, рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ GitLab рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рд▓рд┐рдВрдХ рд╣реЛрдЧрд╛, рдЬрд┐рд╕реЗ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд▓рд┐рдП рдХреБрдЫ рдкрд╕рдВрдж рдХрд░реЗрдВред рд╢рд╛рдпрдж рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ рднреА, рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдПрдВред

рдХреНрдпреЛрдВ рдЬрд░реВрд░реА рд╣реИ?


рддреЛ, рдЖрдкрдХреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдпрд╛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ?

  1. рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмреАрдЪ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЛрдбред

    рдпрд╣ рд╕рдм рдЗрд╕ рддрдереНрдп рд╕реЗ рд╢реБрд░реВ рд╣реБрдЖ рдХрд┐ рдореИрдВрдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ / рдЙрдкрдХрд░рдг рдмрдирд╛рдиреЗ рдХреА рдЖрджрдд рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрдм рдореИрдВ рдХрд┐рд╕реА рдирдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЗрд╕ рдлреЛрд▓реНрдбрд░ рдХреЛ рднреА рдЕрдкрдиреЗ рд╕рд╛рде рд▓реЗ рдЬрд╛рддрд╛ рд╣реВрдВред рдФрд░ рдлрд┐рд░ рдореИрдВрдиреЗ рдЦреБрдж рд╕реЗ рдПрдХ рд╕рд╡рд╛рд▓ рдкреВрдЫрд╛, рдХреНрдпреЛрдВ рди рдХреЙрдкреА рдкреЗрд╕реНрдЯ рдХреЗ рдмрдЬрд╛рдп рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП?
  2. рд╡рд┐рднрд┐рдиреНрди рдЬреАрд╡рди рдЪрдХреНрд░ред рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ, рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдШрдЯрдХреЛрдВ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╕рдВрдпреЛрдЬрди рдерд╛ред рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЗрд╕рдХреА рд╕рдВрдкреВрд░реНрдгрддрд╛ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛, рднрд▓реЗ рд╣реА рдХреЗрд╡рд▓ рдПрдХ рдШрдЯрдХ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреБрдЫ рддреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрд╢рд╛ рдирд╣реАрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕реЗ рдкреБрди: рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЕрдиреБрдорд╛рдирд┐рдд рд╕рдордп рдерд╛ред рдпрд╣ рдореЙрдбрд▓ рдмрд╣реБрдд рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЬрдм рдкреНрд░рддреНрдпреЗрдХ рдкреИрдХреЗрдЬ рдЕрдкрдиреЗ рдЙрджреНрджреЗрд╢реНрдп рдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рд▓рдХреНрд╖реНрдпреЛрдВ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреИрдХреЗрдЬ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЗрд╡рд▓ рддрднреА рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм рдЙрдирдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ "рдХрдВрдкрдиреА рдХреЗ рд▓рд┐рдП" рдирд╣реАрдВред
  3. рдХреЛрд░ рдмрд┐рдЬрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рд╕реЗ рдЕрд▓рдЧ рдорд╛рдореВрд▓реА рдХреЛрдбред DDD рдореЗрдВ рдбреЛрдореЗрди рдбрд┐рд╕реНрдЯрд┐рд▓реЗрд╢рди рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣реИ; рдЗрд╕рдореЗрдВ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рдореБрдЦреНрдп рдбреЛрдореЗрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдЦреБрдж рдХреЛ рдЙрдирд╕реЗ рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЗрд╕ рдХреЛрдб рдХреЛ рдПрдХ рдЕрд▓рдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд▓реЗрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЕрд▓рдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рдХреИрд╕реЗ рд╣реИред
    рд╡реИрд╕реЗ, рдбреЛрдореЗрди рдбрд┐рд╕реНрдЯрд┐рд▓реЗрд╢рди рдХреЗрд╡рд▓ рдПрдХ рдЕрд▓рдЧ рд╕реНрддрд░ рдкрд░ рдПрд╕рдЖрд░рдкреА рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд╕рдорд╛рди рд╣реИред
  4. рдЦреБрдж рдХрд╛ рдХреЛрдб рдХрд╡рд░реЗрдЬред рдЬрд┐рди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдореИрдВрдиреЗ рднрд╛рдЧ рд▓рд┐рдпрд╛, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдХреЛрдб рдХрд╡рд░реЗрдЬ рд▓рдЧрднрдЧ 30% рдерд╛ред рдФрд░ рдЬрд┐рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдореИрдВрдиреЗ рдЗрд╕реЗ рдирд┐рдХрд╛рд▓рд╛, рдЙрд╕рдореЗрдВ рд▓рдЧрднрдЧ 100% рдХрд╡рд░реЗрдЬ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдиреЗ рдХрд╡рд░реЗрдЬ рдХрд╛ рдкреНрд░рддрд┐рд╢рдд рдЦреЛ рджрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд▓рд╛рд▓ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдерд╛, рдпрд╣ рдмрдирд╛ рд░рд╣рд╛ред рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╕рдВрдХреЗрддрдХ рд╣реИрдВ, рд▓рдЧрднрдЧ рдПрдХ рд╡рд░реНрд╖ рдФрд░ 4 рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмрд╛рджред
  5. рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдЬрд┐рд╕рдореЗрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рдЙрдореНрдореАрджрд╡рд╛рд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЦреБрд▓рд╛ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдирдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ "рдорд╣рдВрдЧреА"


рдРрд╕реА рд╕рдорд╕реНрдпрд╛ рд╣реИ: рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рддрд╣рдд рдПрдХ рдЧрд┐рдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рд╕реНрдереИрддрд┐рдХ рд╕рддреНрдпрд╛рдкрди (рд▓рд┐рдВрдЯ) рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЛрдб рдХрд╡рд░реЗрдЬ рдПрдХрддреНрд░ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рд╣рд░ рдмрд╛рд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреИрдХреЗрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдЕрднреА рднреА readme рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл readme рдХреЗ рд╕рд╛рде рдореИрдВ рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рддреЛ, рдЗрди рд╕рднреА рдЙрдмрд╛рдК, рдирд┐рд░реНрдмрд╛рдз рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?



рдкрд╣рд▓рд╛ рдХрджрдо: рдмреАрдЬ


рдореИрдВрдиреЗ рдмреАрдЬ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдХрд░ рд╢реБрд░реБрдЖрдд рдХреАред рдпрд╣ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рд╕реНрдЯрд╛рд░реНрдЯрд░ рдХрд┐рдЯ рд╣реИ, рдЗрд╕рдореЗрдВ рдПрдХ рд╕рдорд╛рди рд╕рдВрд░рдЪрдирд╛ рдереА рдЬреЛ рдХреЛрдб рдХреЛ рдПрдХ рдЕрд▓рдЧ рдкреИрдХреЗрдЬ рдореЗрдВ рд▓реЗрдиреЗ рд╡рд╛рд▓реА рдореЗрд░реА рдкрд╣рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдереАред рдореИрдВрдиреЗ рдЗрд╕рдореЗрдВ рдЧреЛрд▓-рдордЯреЛрд▓ рдХрд╛рд░реНрдп рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдмрдирд╛рдП рдЬреЛ рдПрдХ рдПрдХреНрд╢рди рдореЗрдВ рдкреИрдХреЗрдЬ рдХрд╡рд░реЗрдЬ рдХрд╛ рдирд┐рд░реНрдорд╛рдг, рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╕рдВрдЧреНрд░рд╣ рдХрд░реЗрдВрдЧреЗред рдЕрдм, рдПрдХ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдПрдХ рдирдП рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдмреАрдЬ рдХреЛ рдХреНрд▓реЛрди рдХрд░рдиреЗ рдФрд░ рдореВрд▓ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рддрд╛рдХрд┐ рдпрд╣ рдЧреАрдерд╣рдм (рддрдм рдореИрдВ рдЕрднреА рднреА рдЧрд┐рдЯрд╣рдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдерд╛) рдкрд░ рд╣реМрд╕рд▓реЗ рд╕реЗ рдмрдирд╛рдП рдЧрдП рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛ред

рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХрд╛ рдпрд╣ рддрд░реАрдХрд╛ рдПрдХ рдФрд░ рд▓рд╛рдн рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЕрдм, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдпрд╛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдПрдХ рдмрд╛рд░ рдмреАрдЬ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдФрд░ рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд░рдирд╛ рдЕрдм рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЕрдВрддрд┐рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдореБрдЭреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рддреЛ рдореИрдВ рдмреАрдЬ рдирд╛рдордХ рдПрдХ рджреВрд╕рд░рд╛ рд░рд┐рдореЛрдЯ рдмрдирд╛рддрд╛ рд╣реВрдВ рдФрд░ рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╡рд╣рд╛рдВ рд╕реЗ рд▓реЗрддрд╛ рд╣реВрдВред

рдФрд░ рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред рдЬрдм рддрдХ рдореИрдВрдиреЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдмреАрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЬрд╣рд╛рдВ рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рднрд╛рдЧ рд▓рд┐рдпрд╛ред рдореИрдВрдиреЗ рддреАрди рдЪрд░рдгреЛрдВ рдореЗрдВ рдПрдХ рдирд┐рд░реНрджреЗрд╢ рд▓рд┐рдЦрд╛: рдЕрдВрддрд┐рдо рдорд╛рд╕реНрдЯрд░ рд▓реЗрдВ, рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ рдФрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВред рдФрд░ рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдиреЗ рдХрд┐рд╕реА рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓рд╛ рдХрджрдо рдФрд░ рддреАрд╕рд░рд╛ рдкреВрд░рд╛ рдХрд┐рдпрд╛ред рдпрд╣ рдХреИрд╕реЗ рднреА рд╕рдВрднрд╡ рд╣реИ?

рджреВрд╕рд░рд╛ рдЪрд░рдг: рдСрдЯреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд


рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдпрд╣ рдПрдХ рд╣реА рдЧрд▓рддреА рдереА, рдкреНрд░рдХрд╛рд╢рди рдЬреИрд╕реЗ рдореИрдиреБрдЕрд▓ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдЙрдмрд╛рдК рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реАрдЖрдИ рдХреЛ рд▓рд╛рд▓ рдХрдорд┐рдЯреНрд╕ рдХреЛ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рд▓рд╛рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдкрд╣рд▓реЗ рддреЛ рдореИрдВрдиреЗ рдЯреНрд░реИрд╡рд┐рд╕ рд╕реАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рддрд┐рдмрдВрдз рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рд╡рд╣ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рдПрдХ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рдкреБрд▓-рдЕрдиреБрд░реЛрдз рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдореБрдЭреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рдо рдХрд░рдиреЗ рдереЗред

рдореЗрд░реЗ рдПрдХ рд╕рд╣рдХрд░реНрдореА рдиреЗ рдореБрдЭреЗ рдЧрд┐рдЯрд▓реИрдм рдФрд░ рдЙрд╕рдХреЗ рд╕реАрдЖрдИ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА, рдФрд░ рдЬреЛ рдХреБрдЫ рднреА рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛, рд╡рд╣рд╛рдБ рдХрд╛рдо рдХрд┐рдпрд╛ред

рдореИрдВрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рдиреЗ, рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдиреЗ рдпрд╛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:

  1. рдореИрдВ рдорд╛рд╕реНрдЯрд░ рд╕реЗ рдПрдХ рд╢рд╛рдЦрд╛ рдмрдирд╛рддрд╛ рд╣реВрдВред рдореИрдВ рдЗрд╕рдореЗрдВ рдХреЛрдб рдФрд░ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрддрд╛ рд╣реВрдВред
  2. рдореИрдВ рдПрдХ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдмрдирд╛рддрд╛ рд╣реВрдВред
  3. GitLab CI рд╕реНрд╡рддрдГ рдПрдХ рдиреЛрдб рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реИ: рдирд╡реАрдирддрдо рдХрдВрдЯреЗрдирд░
  4. рдЕрдиреБрд░реЛрдз рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред
  5. рдЕрдиреБрд░реЛрдз рдХреЗ рдЬрдо рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, GitLab рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рджреВрд╕рд░рд╛ рд╕реЗрдЯ рдЪрд▓рд╛рддрд╛ рд╣реИред рдпрд╣ рд╕реЗрдЯ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдХрдорд┐рдЯ рдкрд░ рдПрдХ рдЯреИрдЧ рдмрдирд╛рддрд╛ рд╣реИред рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ package.json рд╕реЗ рд▓реА рдЧрдИ рд╣реИ, рдЕрдЧрд░ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╡рд╣рд╛рдВ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдирд╡реАрдирддрдо рдкреНрд░рдХрд╛рд╢рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдСрдЯреЛ-рдЗрдВрдХреНрд░реАрдореЗрдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  6. рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реИред
  7. рдЕрдВрддрд┐рдо рдЪрд░рдгреЛрдВ рдореЗрдВ, рд╕рдВрд╕реНрдХрд░рдг рдЯреИрдЧ рднрдВрдбрд╛рд░ рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреИрдХреЗрдЬ рдПрдирдкреАрдПрдо рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЯреИрдЧ рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣рдореЗрд╢рд╛ рдЗрд╕ рдкреНрд░рддрд┐рдмрджреНрдз рд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреИрдХреЗрдЬ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдЗрди рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ GitLit Project рдореЗрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ NPM рддрдХ рдкрд╣реБрдБрдЪ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЕрдВрддрд┐рдо рдЪрд░рдг: рд╕рдм рдХреБрдЫ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░реЗрдВ


рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рдХреБрдЫ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд▓рд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдореИрдиреНрдпреБрдЕрд▓ рдХреНрд░рд┐рдпрд╛рдПрдВ рдереАрдВред рдпрд╣, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд╡реИрд╕реЗ рднреА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рдЧрддрд┐ рдереА, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдкреНрд░рддрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХ рдмрд╛рд░ рдХреА рдЧрдИ рдереА, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдирд╣реАрдВред рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ 11 рдЪрд░рдг рд╢рд╛рдорд┐рд▓ рдереЗред рдФрд░ рдореИрдВ рдЦреБрдж рдЗрди рдХрджрдореЛрдВ рдХреЛ рдЙрдард╛рдХрд░ рдПрдХ рджреЛ рдмрд╛рд░ рдЧрд▓рдд рд╣реБрдЖред рдлрд┐рд░ рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдЬрдм рд╕реЗ рдореИрдВрдиреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рдореБрдЭреЗ рдЗрд╕реЗ рдЕрдВрдд рддрдХ рд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреВрд░реНрдг рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдкрд╛рд╕ .ssh рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ 3 рдлрд╛рдЗрд▓реЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛рдлреА рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ id_rsa рдирд┐рдЬреА рдХреБрдВрдЬреА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╣рд╛рдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ GitLab CI рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЯреИрдЧ рдкрд╛рд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рджреВрд╕рд░реА рдлрд╝рд╛рдЗрд▓ рдЬреЛ рдореИрдВрдиреЗ рд╡рд╣рд╛рдВ рд░рдЦреА рд╣реИ, "рдЧрд┐рдЯрд▓реИрдм" рд╣реИ, рдЗрд╕рдореЗрдВ GitLab API рдХреА рдПрдХреНрд╕реЗрд╕ рдХреБрдВрдЬреА рд╣реИред рдФрд░ рддреАрд╕рд░реА рдлрд╝рд╛рдЗрд▓ "npm" рд╣реИ, рдЬреЛ рдкреИрдХреЗрдЬ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдХреБрдВрдЬреА рд╣реИред

рдФрд░ рдлрд┐рд░ рдЬрд╛рджреВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдмреАрдЬ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛ рдкреИрдХреЗрдЬ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛: "gulp startNewLib -n [npmName] / [libName]"ред рд╣реЛ рдЧрдпрд╛, рдкреИрдХреЗрдЬ рдмрди рдЧрдпрд╛, рд╡рд┐рдХрд╛рд╕ рдФрд░ рдСрдЯреЛ-рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреИрдХреЗрдЬ "vlr / рд╡реИрдзрддрд╛" рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдпрд╣ рдЖрджреЗрд╢ рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ:

  1. GitLab рдкрд░ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реИ
  2. рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреНрд▓реЛрди рдмреАрдЬ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдХрдорд╛рдВрдб рдЪрд▓ рд░рд╣рд╛ рд╣реИред
  3. рдЪрд░рдг 1 рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдкрд░рд┐рд╡рд░реНрддрди
  4. рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдХреЛ рдкреБрд╢ рдХрд░реЗрдВ
  5. рдПрдХ .ssh рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдмрдирд╛рддрд╛ рд╣реИ
  6. рдПрдХ рдкреНрд░рдердо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╢рд╛рдЦрд╛ рдмрдирд╛рддрд╛ рд╣реИ
  7. рдкреИрдХреЗрдЬ рдореЗрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдирд╛рдо рдмрджрд▓рддрд╛ рд╣реИред Json, рд╢рд╛рдЦрд╛ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рддрд╛ рд╣реИ рдФрд░ рдзрдХреНрдХрд╛ рджреЗрддрд╛ рд╣реИ

рдЗрд╕рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдХреЛрдб рдбрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдорд░реНрдЬ рдЕрдиреБрд░реЛрдз рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред

рдирддреАрдЬрддрди, рдЬрд┐рд╕ рдкрд░ рдЧрд░реНрд╡ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрд╕ рдХреНрд╖рдг рд╕реЗ рдЬрдм рдХрд┐рд╕реА рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рдХреЛрдб рдбрд╛рд▓рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓рдЧрднрдЧ рдкрд╛рдВрдЪ рдорд┐рдирдЯ рдмреАрдд рдЬрд╛рддреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдЪрд╛рд░ рдиреЗ рджреЛ GitLabCI рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рдФрд░ рдПрдХ рдорд┐рдирдЯ рдЙрдкрд░реЛрдХреНрдд рдХрдорд╛рдВрдб рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдХреЛ рдЦреАрдВрдЪреЗрдВ рдФрд░ рдЫреЛрдбрд╝реЗрдВ, рдФрд░ рдлрд┐рд░ рдЕрдиреБрд░реЛрдз рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП GitLab рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

рдХреБрдЫ рд╕реАрдорд╛рдПрдБ рд╣реИрдВ: GitLab рдирд╛рдо рдХреЛ npm рдореЗрдВ рдирд╛рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдлрд┐рд░ рднреА, рдпрд╣ рдХрдорд╛рдВрдб рдмреАрдЬ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдмрд╛рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдЗрд╕ рдмреАрдЬ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдирд┐рдореНрди рд▓рд┐рдВрдХ рдкрд░ рдЕрдзреНрдпрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

Source: https://habr.com/ru/post/hi450262/


All Articles