рдЕрдкрдиреЗ рд░реВрдмреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЯреНрд░реИрд╡рд┐рд╕ рд╕реЗ рдХреИрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ 15 рдорд┐рдирдЯ рдореЗрдВ рдПрдХ рдорд╛рд░реНрдЯрд┐рдиреА рддреИрдпрд╛рд░ рдХрд░реЗрдВ

рдЫрд╡рд┐
рдПрдХ рдкреНрд░рд╡реГрддреНрддрд┐ рд╣реИ рдХрд┐ рд╣рд░ рд░реВрдмреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЯреНрд░реИрд╡рд┐рд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЯреНрд░реИрд╡рд┐рд╕ рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдУрдкрди рд╕реЛрд░реНрд╕ рд╕рд┐рд╕реНрдЯрдо рд╣реИред рд╣рдо рдЖрдорддреМрд░ рдкрд░ рдЕрдкрдиреА рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдирд┐рд░реНрдорд╛рдг рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реИрдВред рдЯреНрд░реИрд╡рд┐рд╕ рдЖрдкрдХреЛ рдорд┐рдирдЯреЛрдВ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

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



рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╡рд╣ рд╕рдм рдХреБрдЫ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП (2 рдорд┐рдирдЯ)


рдЯреНрд░реИрд╡рд┐рд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рддреАрди рдЖрд╡рд╢реНрдпрдХ рд╢рд░реНрддреЗрдВ рдЪрд╛рд╣рд┐рдП:

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

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

рдЯреНрд░реИрд╡рд┐рд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ (3 рдорд┐рдирдЯ)


рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЬрдбрд╝ рдореЗрдВ .travis.yml рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБред рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдХреНрдпрд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

 rvm: #    Ruby,     - 1.9.3 - jruby - rbx script: "bundle exec rake test" #     


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

рдЯреНрд░реИрд╡рд┐рд╕ рдкрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ (2 рдорд┐рдирдЯ)


рд╣рдо travis-ci.org рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ GitHub рдЦрд╛рддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдЧ рдЗрди рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЯреНрд░реИрд╡рд┐рд╕ рдХреЛ рдЖрдкрдХреЗ GitHub рддрдХ рдкрдврд╝рдиреЗ / рд▓рд┐рдЦрдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХрд╛ рдЕрдкрдирд╛ рдЯреНрд░реИрд╡рд┐рд╕ рдЯреЛрдХрди рдкреНрд░реЛрдлрд╛рдЗрд▓ рдкреЗрдЬ рдкрд░ рд╣реИ ред

рдЫрд╡рд┐

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЯреЛрдХрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрднреА рддрдХ рдкрд░реЗрд╢рд╛рди рди рд╣реЛрдВ - рд▓реЗрдХрд┐рди рдЬрдм рд╕реЗ рдЖрдк рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдкреГрд╖реНрда рдкрд░ рд╣реИрдВ, рддреЛ рдЯреНрд░реИрд╡рд┐рд╕ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реНрд╡рд┐рдЪ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

рдкрд╣рд▓рд╛ рдирд┐рд░реНрдорд╛рдг рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ (3 рдорд┐рдирдЯ)


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

рдЕрдЧрд░ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ ...


рдЯреНрд░реИрд╡рд┐рд╕ рдХреЛ рдЖрдкрдХреЗ GitHub рдЦрд╛рддреЗ рддрдХ рдкрдврд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдлрд┐рд░, рдЯреНрд░реИрд╡рд┐рд╕ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ GitHub рдХреЛ рдпрд╣ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЪреЗрдХ рдХрд░реЗрдВ: GitHub рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд░рд╢рд╛рд╕рди рдкреГрд╖реНрда рдкрд░ - рд╕реЗрд╡рд╛ рд╣реБрдХ - рдЯреНрд░реИрд╡рд┐рд╕ рд╣реБрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

рдЫрд╡рд┐

рдпрджрд┐ рдЖрдк рдЯреЗрд╕реНрдЯ рд╣реБрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЯреНрд░реИрд╡рд┐рд╕ рдмрд┐рд▓реНрдб рдХрд╛ рд╢реЗрдбреНрдпреВрд▓ рдХрд░реЗрдЧрд╛ред

рдкрд╛рдХ рдХрд▓рд╛ рдорд╛рд░реНрдЯрд┐рдиреА (5 рдорд┐рдирдЯ)


рдЫрд╡рд┐
рдардВрдбреА рдЬрд┐рди рдХреЗ рд╕рд╛рде рдПрдХ рдЬрдореЗ рд╣реБрдП рдХреЙрдХрдЯреЗрд▓ рдЧреНрд▓рд╛рд╕ рднрд░реЗрдВ, рдереЛрдбрд╝рд╛ рд╕рд╛ рд╕рд┐рдВрдШрд╛рдбрд╝рд╛ рдбрд╛рд▓реЗрдВ рдФрд░ рдорд┐рд▓рд╛рдПрдВред рдЬреИрддреВрди рд╕реЗ рдЧрд╛рд░реНрдирд┐рд╢ рдХрд░реЗрдВред

(рдЕрдЧрд░ рдЬрд▓реНрджрдмрд╛рдЬрд╝реА рдореЗрдВ, рдЖрдк рдЗрд╕ рдЪрд░рдг рдХреЛ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рддреАрди рдорд┐рдирдЯ рдмрдЪрд╛рдПрдЧрд╛ рдЬрдмрдХрд┐ рдЯреНрд░реИрд╡рд┐рд╕ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд╡реНрдпрд╕реНрдд рд╣реИ)

рдорд╛рд░реНрдЯрд┐рдиреА (рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдордп) рдкрд┐рдпреЛ


рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣рд╛рдВ рдореЗрд░реА рдорджрдж рдХреА рдЬрд░реВрд░рдд рд╣реИред рдПрдХ рдЕрдЪреНрдЫреА рдХрдВрдкрдиреА рдвреВрдВрдвреЗрдВ рдФрд░ рдордЬрд╝реЗ рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдордд рдкреАрдирд╛!

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


All Articles