рд▓рдЧрд╛рддрд╛рд░ рддреИрдирд╛рддреА рд╕рдВрдЧрдард┐рдд рдЧрд░реНрди 3 рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдХрд░рдгрд╣рд░реВ (рдирд┐рд░рдиреНрддрд░ рддреИрдирд╛рддреА)

рд▓рдЧрд╛рддрд╛рд░ рддреИрдирд╛рддреА рд╕рдВрдЧрдард┐рдд рдЧрд░реНрди 3 рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдХрд░рдгрд╣рд░реВ (рдирд┐рд░рдиреНрддрд░ рддреИрдирд╛рддреА)

рдирд┐рд░рдиреНрддрд░ рддреИрдирд╛рддреА рд╕рдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕рдорд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реЛ рдЬреБрди рдЫрд┐рдЯреЛ, рд╕реБрд░рдХреНрд╖рд┐рдд рд░ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдлреНрдЯрд╡реЗрдпрд░рдорд╛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред

рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рднрдиреЗрдХреЛ рдПрдХ рднрд░рдкрд░реНрджреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБ рд╣реЛ рдЬрд╕рд▓реЗ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд▓рд╛рдИ рдЫрд┐рдЯреЛ рд╕рдорд╛рдкреНрдд рдЙрддреНрдкрд╛рджрди рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓рд╛рдИ рдбреЗрд▓рд┐рднрд░ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдПрдХреИ рд╕рдордпрдорд╛, рдЙрддреНрдкрд╛рджрдирдорд╛ рдирд┐рд░рдиреНрддрд░ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЧрд░рд┐рдиреНрдЫ - рдпрд╕рд▓рд╛рдИ рдирд┐рд░рдиреНрддрд░ рд╡рд┐рддрд░рдг рдкрд╛рдЗрдкрд▓рд╛рдЗрди (CD рдкрд╛рдЗрдкрд▓рд╛рдЗрди) рднрдирд┐рдиреНрдЫред

Skillbox рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджрдЫ: рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкрд╛рдареНрдпрдХреНрд░рдо "рдореЛрдмрд╛рдЗрд▓ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рдкреНрд░реЛ".

рд╣рд╛рдореА рд╕рдореНрдЭрд╛рдЙрдБрдЫреМрдВ: рд╕рдмреИ Habr рдкрд╛рдардХрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ - Habr рдкреНрд░реЛрдореЛ рдХреЛрдб рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдХреБрдиреИ рдкрдирд┐ Skillbox рдкрд╛рдареНрдпрдХреНрд░рдордорд╛ рднрд░реНрдирд╛ рдЧрд░реНрджрд╛ резреж,режрежреж рд░реВрдмрд▓ рдЫреБрдЯред

рд▓рдЧрд╛рддрд╛рд░ рддреИрдирд╛рддреА рд╕рдВрдЧрдард┐рдд рдЧрд░реНрди 3 рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдХрд░рдгрд╣рд░реВ (рдирд┐рд░рдиреНрддрд░ рддреИрдирд╛рддреА)

рдкреНрд░рд╡рд╛рд╣ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди, рддрдкрд╛рдИрдВ рд╕рд╢реБрд▓реНрдХ рд░ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдирд┐рдГрд╢реБрд▓реНрдХ рджреБрд╡реИ рд╕рд╣рд┐рдд рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд╡рд┐рд╕реНрддреГрдд рджрд╛рдпрд░рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпрд╕ рд▓реЗрдЦрд▓реЗ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рдмреАрдЪрдХреЛ рддреАрди рд╕рдмреИрднрдиреНрджрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рд╡рд░реНрдгрди рдЧрд░реНрджрдЫ рдЬреБрди рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреЛрдЧреА рд╣реБрди рд╕рдХреНрдЫред

рдЬреЗрдирдХрд┐рдиреНрд╕

рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдЖрддреНрдо-рдирд┐рд╣рд┐рдд, рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╕реНрд╡рдЪрд╛рд▓рди рд╕рд░реНрднрд░ред рдирд┐рд░реНрдорд╛рдг, рдкрд░реАрдХреНрд╖рдг, рдвреБрд╡рд╛рдиреА, рд╡рд╛ рд╕рдлреНрдЯрд╡реЗрдпрд░ рдбрд┐рдкреНрд▓реЛрдЗрдЩрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╕рдмреИ рдкреНрд░рдХрд╛рд░рдХрд╛ рдХрд╛рд░реНрдпрд╣рд░реВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдпреЛ рдХрд╛рдо рдЧрд░реНрди рд▓рд╛рдпрдХ рдЫред

рдиреНрдпреВрдирддрдо рдкреАрд╕реА рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ:

  • 256 MB RAM, 1 GB рдлрд╛рдЗрд▓ рд╕реНрдкреЗрд╕ред

рдЗрд╖реНрдЯрддрдо:

  • 1 GB RAM, 50 GB рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ред

рдХрд╛рдо рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдлреНрдЯрд╡реЗрдпрд░ рдкрдирд┐ рдЪрд╛рд╣рд┐рдиреНрдЫ - Java Runtime Environment (JRE) рд╕рдВрд╕реНрдХрд░рдг 8ред

рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ (рд╡рд┐рддрд░рд┐рдд рдХрдореНрдкреНрдпреБрдЯрд┐рдЩ) рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:
рд▓рдЧрд╛рддрд╛рд░ рддреИрдирд╛рддреА рд╕рдВрдЧрдард┐рдд рдЧрд░реНрди 3 рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдХрд░рдгрд╣рд░реВ (рдирд┐рд░рдиреНрддрд░ рддреИрдирд╛рддреА)

рдЬреЗрдирдХрд┐рдиреНрд╕ рд╕рд░реНрднрд░ рдПрдХ рд╕реНрдерд╛рдкрдирд╛ рд╣реЛ рдЬреБрди GUI рд╣реЛрд╕реНрдЯрд┐рдВрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рдЫ, рд╕рд╛рдереИ рд╕рдореНрдкреВрд░реНрдг рдирд┐рд░реНрдорд╛рдгрд▓рд╛рдИ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреЗред

рдЬреЗрдирдХрд┐рдиреНрд╕ рдиреЛрдб/рд╕реНрд▓реЗрдн/рдмрд┐рд▓реНрдб рд╕рд░реНрднрд░ - рдорд╛рд╕реНрдЯрд░ (рдореБрдЦреНрдп рдиреЛрдб) рдХреЛ рддрд░реНрдлрдмрд╛рдЯ рдирд┐рд░реНрдорд╛рдг рдХрд╛рд░реНрдп рдЧрд░реНрди рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рд╕рдХрд┐рдиреЗ рдпрдиреНрддреНрд░рд╣рд░реВред

рд▓рд┐рдирдХреНрд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдерд╛рдкрдирд╛

рдкрд╣рд┐рд▓реЗ рддрдкрд╛рдИрдВрд▓реЗ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдЬреЗрдирдХрд┐рдиреНрд╕ рднрдгреНрдбрд╛рд░ рдердкреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:

cd /tmp && wget -q -O тАФ pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - echo 'deb pkg.jenkins.io/debian-stable рдмрд╛рдЗрдирд░реА/' | sudo tee -a /etc/apt/sources.list.d/je

рдкреНрдпрд╛рдХреЗрдЬ рднрдгреНрдбрд╛рд░ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

sudo apt update

Jenkins рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

sudo apt jenkins рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдпрд╕ рдкрдЫрд┐, рдЬреЗрдирдХрд┐рдиреНрд╕ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкреЛрд░реНрдЯ 8080 рдорд╛рд░реНрдлрдд рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдЙрдкрд▓рдмреНрдз рд╣реБрдиреЗрдЫред

рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ рдмреНрд░рд╛рдЙрдЬрд░рдорд╛ рдареЗрдЧрд╛рдирд╛ рдЦреЛрд▓реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ:реорежреорежред рддреНрдпрд╕рдкрдЫрд┐ рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд░реВрдЯ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрди рдкреНрд░реЛрдореНрдкреНрдЯ рдЧрд░реНрдиреЗрдЫред рдпреЛ рдкрд╛рд╕рд╡рд░реНрдб рдлрд╛рдЗрд▓рдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рдЫ /var/lib/jenkins/secrets/initialAdminPasswordред

рдЕрдм рд╕рдмреИ рддрдпрд╛рд░ рдЫ, рддрдкрд╛рдИрдВ CI/CD рдкреНрд░рд╡рд╛рд╣рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕реБрд░реБ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред workbench рдХреЛ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:

рд▓рдЧрд╛рддрд╛рд░ рддреИрдирд╛рддреА рд╕рдВрдЧрдард┐рдд рдЧрд░реНрди 3 рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдХрд░рдгрд╣рд░реВ (рдирд┐рд░рдиреНрддрд░ рддреИрдирд╛рддреА)

рд▓рдЧрд╛рддрд╛рд░ рддреИрдирд╛рддреА рд╕рдВрдЧрдард┐рдд рдЧрд░реНрди 3 рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдХрд░рдгрд╣рд░реВ (рдирд┐рд░рдиреНрддрд░ рддреИрдирд╛рддреА)

рдЬреЗрдирдХрд┐рдиреНрд╕рдХреЛ рд╢рдХреНрддрд┐:

  • рдорд╛рд╕реНрдЯрд░/рд╕реНрд▓реЗрдн рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА;
  • REST XML/JSON API рдХреЛ рдЙрдкрд▓рдмреНрдзрддрд╛;
  • рдкреНрд▓рдЧрдЗрдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдзрдиреНрдпрд╡рд╛рдж рд╡рд┐рд╕реНрддрд╛рд░рд╣рд░реВрдХреЛ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛ рдЬрдбрд╛рди рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛;
  • рд╕рдХреНрд░рд┐рдп рд░ рдирд┐рд░рдиреНрддрд░ рд╡рд┐рдХрд╕рд┐рдд рд╕рдореБрджрд╛рдпред

Cons:

  • рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдмреНрд▓рдХ рдЫреИрди;
  • рдзреЗрд░реИ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛-рдЕрдиреБрдХреВрд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдЫреИрдиред

TeamCity

JetBrains рдмрд╛рдЯ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╡рд┐рдХрд╛рд╕ред рд╕рд░реНрднрд░ рд╕рд░рд▓ рд╕реЗрдЯрдЕрдк рд░ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╕рдВрдЧ рд░рд╛рдореНрд░реЛ рдЫред рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛ рдЫ, рд░ рдЙрдкрд▓рдмреНрдз рдкреНрд▓рдЧрдЗрдирд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░рдиреНрддрд░ рдмрдврд┐рд░рд╣реЗрдХреЛ рдЫред

Java Runtime Environment (JRE) рд╕рдВрд╕реНрдХрд░рдг рео рдЖрд╡рд╢реНрдпрдХ рдЫред

рд╕рд░реНрднрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рдЧреИрд░-рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЫрдиреН:

  • рд░реНрдпрд╛рдо - 3,2 рдЬреАрдмреА;
  • рдкреНрд░реЛрд╕реЗрд╕рд░ - рдбреБрдЕрд▓-рдХреЛрд░, 3,2 GHz;
  • 1 Gb/s рдХреЛ рдХреНрд╖рдорддрд╛ рд╕рдВрдЧ рд╕рдВрдЪрд╛рд░ рдЪреНрдпрд╛рдирд▓ред

рд╕рд░реНрднрд░рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ:

  • 60 рдирд┐рд░реНрдорд╛рдг рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдХрд╛ рд╕рд╛рде 300 рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ;
  • рдирд┐рд░реНрдорд╛рдг рд▓рдЧ рдХреЛ рд▓рд╛рдЧреА 2 MB рдЖрд╡рдВрдЯрди;
  • 50 рдирд┐рд░реНрдорд╛рдг рдПрдЬреЗрдиреНрдЯрд╣рд░реВ;
  • рд╡реЗрдм рд╕рдВрд╕реНрдХрд░рдгрдорд╛ 50 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рд░ IDE рдорд╛ 30 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛;
  • рдмрд╛рд╣реНрдп VCS рдХреЛ 100 рдЬрдбрд╛рдирд╣рд░реВ, рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ Perforce рд░ Subversionред рдФрд╕рдд рдкрд░рд┐рд╡рд░реНрддрди рд╕рдордп 120 рд╕реЗрдХреЗрдиреНрдб рд╣реЛ;
  • рдкреНрд░рддрд┐ рджрд┐рди 150 рднрдиреНрджрд╛ рдмрдвреА рдкрд░рд┐рдорд╛рд░реНрдЬрдирд╣рд░реВ;
  • рдПрдХ рд╕рд░реНрднрд░ рдорд╛ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕рдВрдЧ рдХрд╛рдо рдЧрд░реНрджреИ;
  • JVM рд╕рд░реНрднрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ: -Xmx1100m -XX:MaxPermSize=120mред

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

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

рд▓рдЧрд╛рддрд╛рд░ рддреИрдирд╛рддреА рд╕рдВрдЧрдард┐рдд рдЧрд░реНрди 3 рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдХрд░рдгрд╣рд░реВ (рдирд┐рд░рдиреНрддрд░ рддреИрдирд╛рддреА)

рд▓рд┐рдирдХреНрд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдерд╛рдкрдирд╛

Tomcat servlet рдХрдиреНрдЯреЗрдирд░рдХреЛ рд╕рд╛рде рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ TeamCity рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ TeamCity рдЕрднрд┐рд▓реЗрдЦ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрдЫ: TeamCity .tar.gzред рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН рддрдкрд╛рдИрдВ рдпрд╕рд▓рд╛рдИ рдпрд╣рд╛рдБрдмрд╛рдЯ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ.

tar -xfz TeamCity.tar.gz

/рдмрд┐рди/рд░рди рд╕рдмреИред рд╢ [рд╕реНрдЯрд╛рд░реНрдЯ|рд╕реНрдЯрдк]

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

рд▓рдЧрд╛рддрд╛рд░ рддреИрдирд╛рддреА рд╕рдВрдЧрдард┐рдд рдЧрд░реНрди 3 рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдХрд░рдгрд╣рд░реВ (рдирд┐рд░рдиреНрддрд░ рддреИрдирд╛рддреА)

рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдЪрд▓реНрдЫ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ:8111/ рдПрдЙрдЯреИ рдкреАрд╕реАрдорд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдПрдХ рджрд░реНрддрд╛ рдмрд┐рд▓реНрдб рдПрдЬреЗрдиреНрдЯрдХреЛ рд╕рд╛рдеред

рдЯрд┐рдорд╕рд┐рдЯреАрдХреЛ рдмрд▓рд┐рдпреЛ рдкрдХреНрд╖:

  • рд╕рд░рд▓ рд╕реЗрдЯрдЕрдк;
  • рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдореИрддреНрд░реА рдИрдиреНрдЯрд░рдлреЗрд╕;
  • рдирд┐рд░реНрдорд┐рдд рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛;
  • рд╕рдорд░реНрдерди рд╕реЗрд╡рд╛;
  • рддреНрдпрд╣рд╛рдБ рдПрдХ RESTful API рдЫ;
  • рд░рд╛рдореНрд░реЛ рдХрд╛рдЧрдЬрд╛рдд;
  • рд░рд╛рдореНрд░реЛ рд╕реБрд░рдХреНрд╖рд╛ред

Cons:

  • рд╕реАрдорд┐рдд рдПрдХреАрдХрд░рдг;
  • рдпреЛ рд╕рд╢реБрд▓реНрдХ рдЙрдкрдХрд░рдг рд╣реЛ;
  • рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ рд╕рдореБрджрд╛рдп (рдЬреБрди, рддрдерд╛рдкрд┐, рдмрдвреНрджреИ рдЫ)ред

GoCD

рд╕реНрдерд╛рдкрдирд╛ рд░ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рд▓рд╛рдЧрд┐ Java Runtime Environment (JRE) рд╕рдВрд╕реНрдХрд░рдг рео рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ред

рдкреНрд░рдгрд╛рд▓реА рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ:

  • RAM - 1 GB рдиреНрдпреВрдирддрдо, рдЕрдзрд┐рдХ рд░рд╛рдореНрд░реЛ рдЫ;
  • рдкреНрд░реЛрд╕реЗрд╕рд░ - рдбреБрдЕрд▓-рдХреЛрд░, 2 GHz рдХреЛ рдХреЛрд░ рдЖрд╡реГрддреНрддрд┐ рд╕рдВрдЧ;
  • рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрдн - рдХрдореНрддрд┐рдорд╛ 1 GB рдЦрд╛рд▓реА рдард╛рдЙрдБред

рдПрдЬреЗрдиреНрдЯ:

  • RAM - рдХрдореНрддрд┐рдорд╛ 128 рдПрдордмреА, рдЕрдзрд┐рдХ рд░рд╛рдореНрд░реЛ рдЫ;
  • рдкреНрд░реЛрд╕реЗрд╕рд░ - рдХрдореНрддрд┐рдорд╛ 2 GHzред

рд╕рд░реНрднрд░рд▓реЗ рдПрдЬреЗрдиреНрдЯрд╣рд░реВрдХреЛ рд╕рдЮреНрдЪрд╛рд▓рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрджрдЫ рд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ:

рд▓рдЧрд╛рддрд╛рд░ рддреИрдирд╛рддреА рд╕рдВрдЧрдард┐рдд рдЧрд░реНрди 3 рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдХрд░рдгрд╣рд░реВ (рдирд┐рд░рдиреНрддрд░ рддреИрдирд╛рддреА)

рдЪрд░рдг/рдХрд╛рд░реНрдп/рдХрд╛рд░реНрдп:

рд▓рдЧрд╛рддрд╛рд░ рддреИрдирд╛рддреА рд╕рдВрдЧрдард┐рдд рдЧрд░реНрди 3 рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдХрд░рдгрд╣рд░реВ (рдирд┐рд░рдиреНрддрд░ рддреИрдирд╛рддреА)

рд▓рд┐рдирдХреНрд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдерд╛рдкрдирд╛

рдЗрдХреЛ "рдбреЗрдм download.gocd.org /" | sudo tee /etc/apt/sources.list.d/gocd.list

рджреЛрдмреНрд░реНрдпрд╛рдЗрдПрдХреЛ download.gocd.org/GOCD-GPG-KEY.asc | sudo apt-key add -
add-apt-repository ppa:openjdk-r/ppa

рдЕрдкрд╛рд░реНрдЯрдореЗрдиреНрдЯ-рдкреНрд░рд╛рдкреНрдд рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ

apt-get install -y openjdk-8-jre

apt-get рд╕реНрдерд╛рдкрдирд╛ рдЧреЛ-рд╕рд░реНрднрд░

apt-get рд╕реНрдерд╛рдкрдирд╛ рдЧреЛ-рдПрдЬреЗрдиреНрдЯ

/etc/init.d/go-server [start|stop|status|restart]

/etc/init.d/go-agent [start|stop|status|restart]

рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ GoCd рдЪрд▓реНрдЫ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ: 8153ред

GoCd рдХреЛ рдмрд▓рд╣рд░реВ:

  • рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд;
  • рд╕рд░рд▓ рд╕реНрдерд╛рдкрдирд╛ рд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди;
  • рд░рд╛рдореНрд░реЛ рдХрд╛рдЧрдЬрд╛рдд;

  • рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдиреНрдЯрд░рдлреЗрд╕:

рд▓рдЧрд╛рддрд╛рд░ рддреИрдирд╛рддреА рд╕рдВрдЧрдард┐рдд рдЧрд░реНрди 3 рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдХрд░рдгрд╣рд░реВ (рдирд┐рд░рдиреНрддрд░ рддреИрдирд╛рддреА)

  • рдПрдХ рджреГрд╢реНрдпрдорд╛ рдЪрд░рдг-рджрд░-рдЪрд░рдг GoCD рддреИрдирд╛рддреА рдорд╛рд░реНрдЧ рджреЗрдЦрд╛рдЙрдиреЗ рдХреНрд╖рдорддрд╛:

рд▓рдЧрд╛рддрд╛рд░ рддреИрдирд╛рддреА рд╕рдВрдЧрдард┐рдд рдЧрд░реНрди 3 рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдХрд░рдгрд╣рд░реВ (рдирд┐рд░рдиреНрддрд░ рддреИрдирд╛рддреА)

  • рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕рдВрд░рдЪрдирд╛рдХреЛ рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░рджрд░реНрд╢рди:

рд▓рдЧрд╛рддрд╛рд░ рддреИрдирд╛рддреА рд╕рдВрдЧрдард┐рдд рдЧрд░реНрди 3 рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдХрд░рдгрд╣рд░реВ (рдирд┐рд░рдиреНрддрд░ рддреИрдирд╛рддреА)

  • GoCD рд▓реЗ рдбрдХрд░, AWS рд╕рд╣рд┐рдд рд╕рдмреИрднрдиреНрджрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рдХреНрд▓рд╛рдЙрдб рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рд╕реАрдбреА рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣рд▓рд╛рдИ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрджрдЫ;
  • рдЙрдкрдХрд░рдгрд▓реЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдорд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдЪреНрдпрд╛рдЙрди рд╕рдореНрднрд╡ рдмрдирд╛рдЙрдБрдЫ, рдЬрд╕рдХреЛ рд▓рд╛рдЧрд┐ рддреНрдпрд╣рд╛рдБ рдХрдорд┐рдЯ рджреЗрдЦрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордпрдорд╛ рддреИрдирд╛рддреА рд╕рдореНрдо рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд░реНрддрдирдХреЛ рдЯреНрд░реНрдпрд╛рдХрд┐рдЩ рд╣реБрдиреНрдЫред

Cons:

  • рдХрдореНрддрд┐рдорд╛ рдПрдХ рдПрдЬреЗрдиреНрдЯ рдЖрд╡рд╢реНрдпрдХ рдЫ;
  • рд╕рдмреИ рд╕рдореНрдкрдиреНрди рдХрд╛рд░реНрдпрд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рдХреБрдиреИ рдХрдиреНрд╕реЛрд▓ рдЫреИрди;
  • рдкреНрд░рддреНрдпреЗрдХ рдЖрджреЗрд╢ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ;
  • рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рддрдкрд╛рдИрдВрд▓реЗ .jar рдлрд╛рдЗрд▓рд▓рд╛рдИ рд╕рд╛рд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ /plugins/рдмрд╛рд╣реНрдп рд░ рд╕рд░реНрднрд░ рдкреБрди: рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реН;
  • рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд╛рдиреЛ рд╕рдореБрджрд╛рдпред

рдирд┐рд╖реНрдХрд░реНрд╖рдХреЛ рд░реВрдкрдорд╛

рдпреА рдХреЗрд╡рд▓ рддреАрди рдЙрдкрдХрд░рдгрд╣рд░реВ рд╣реБрдиреН, рд╡рд╛рд╕реНрддрд╡рдорд╛ рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдЫрдиреНред рдпреЛ рдЫрдиреМрдЯ рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рдЫ, рддреНрдпрд╕реИрд▓реЗ рддрдкрд╛рдЗрдБ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрдХреНрд╖рд╣рд░реВрдорд╛ рдзреНрдпрд╛рди рджрд┐рди рдЖрд╡рд╢реНрдпрдХ рдЫред

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

рдпрджрд┐ рд╕реБрд░рдХреНрд╖рд╛ рддрдкрд╛рдИрдВрдХреЛ рд╢реАрд░реНрд╖ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реЛ рднрдиреЗ, рдпреЛ рд╕реНрдерд╛рдиреАрдп рдЙрдкрдХрд░рдгрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд▓рд╛рдпрдХ рдЫред рдпрджрд┐ рд╣реЛрдЗрди рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ SaaS рд╕рдорд╛рдзрд╛рди рдЫрдиреМрдЯ рдЧрд░реНрдиреБ рд░рд╛рдореНрд░реЛ рд╡рд┐рдХрд▓реНрдк рд╣реЛред

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

Skillbox рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджрдЫ:

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди