3 ืคืึธืœืงืก ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืึธืจื’ืึทื ื™ื™ื–ื™ื ื’ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ (ืงืึธื ื˜ื™ื ื•ืึธื•ืก ื“ื™ืคึผืœื•ื™ืžืึทื ื˜)

3 ืคืึธืœืงืก ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืึธืจื’ืึทื ื™ื™ื–ื™ื ื’ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ (ืงืึธื ื˜ื™ื ื•ืึธื•ืก ื“ื™ืคึผืœื•ื™ืžืึทื ื˜)

ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืื™ื– ืึท ืกืคึผืขืฆื™ืขืœ ืฆื•ื’ืึทื ื’ ืื™ืŸ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ื•ื•ืึธืก ืื™ื– ื’ืขื ื™ืฆื˜ ืฆื• ื’ืขืฉื•ื•ื™ื ื“, ื‘ืขืฉืึธืœืขื ืื•ืŸ ื™ืคื™ืฉืึทื ื˜ืœื™ ื™ื ืกื˜ืจื•ืžืขื ื˜ ืคืึทืจืฉื™ื“ืŸ ืคืึทื ื’ืงืฉืึทื ื– ืื™ืŸ ื•ื•ื™ื™ื›ื•ื•ืืจื’.

ื“ืขืจ ื”ื•ื™ืคึผื˜ ื’ืขื“ืึทื ืง ืื™ื– ืฆื• ืฉืึทืคึฟืŸ ืึท ืคืึทืจืœืึธื–ืœืขืš ืึธื˜ืึทืžื™ื™ื˜ื™ื“ ืคึผืจืึธืฆืขืก ื•ื•ืึธืก ืึทืœืึทื•ื– ื“ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจ ืฆื• ื’ืขืฉื•ื•ื™ื ื“ ืฆื•ืฉื˜ืขืœืŸ ื“ื™ ืคืึทืจื˜ื™ืง ืคึผืจืึธื“ื•ืงื˜ ืฆื• ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ. ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜, ืงืขืกื™ื™ื“ืขืจื“ื™ืง ืขื ื“ืขืจื•ื ื’ืขืŸ ื–ืขื ืขืŸ ื’ืขืžืื›ื˜ ืื™ืŸ ืคึผืจืึธื“ื•ืงืฆื™ืข - ื“ืึธืก ืื™ื– ื’ืขืจื•ืคืŸ ืึท ืงืขืกื™ื™ื“ืขืจื“ื™ืง ืขืงืกืคึผืจืขืก ืจืขืจื  - ืœื™ื ื™ืข (CD ืจืขืจื  - ืœื™ื ื™ืข).

Skillbox ืจืขืงืึทืžืขื ื“ื–: ืคึผืจืึทืงื˜ื™ืฉ ืงื•ืจืก "ืžืึธื‘ื™ืœ ื“ืขื•ื•ืขืœืึธืคึผืขืจ ืคึผืจืึธ".

ืžื™ืจ ื“ืขืจืžืึธื ืขืŸ ืื™ืจ: ืคึฟืึทืจ ืึทืœืข ืœื™ื™ืขื ืขืจ ืคื•ืŸ "ื”ื‘ืจ" - ืึท ืึทืจืึธืคึผืจืขื›ืขื ืขืŸ ืคื•ืŸ 10 ืจื•ื‘ืœ ื•ื•ืขืŸ ืื™ืจ ืคืึทืจืฉืจื™ื™ึทื‘ืŸ ืื™ืŸ ืงื™ื™ืŸ ืกืงื™ืœื‘ืึธืงืก ืงื•ืจืก ื ื™ืฆืŸ ื“ื™ ืคึผืขืจืžืึธื•ืฉืึทื ืึทืœ ืงืึธื“ "ื”ื‘ืจ".

3 ืคืึธืœืงืก ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืึธืจื’ืึทื ื™ื™ื–ื™ื ื’ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ (ืงืึธื ื˜ื™ื ื•ืึธื•ืก ื“ื™ืคึผืœื•ื™ืžืึทื ื˜)

ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืœื•ื™ืคืŸ, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ืึท ื‘ืจื™ื™ื˜ ืงื™ื™ื˜ ืคื•ืŸ ืžื›ืฉื™ืจื™ื, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื‘ืึทืฆืึธืœื˜ ืื•ืŸ ื’ืึธืจ ืคืจื™ื™. ื“ืขืจ ืึทืจื˜ื™ืงืœ ื‘ืืฉืจื™ื™ื‘ื˜ ื“ืจื™ื™ ืคื•ืŸ ื“ื™ ืžืขืจืกื˜ ืคืึธืœืงืก ืกืึทืœื•ืฉืึทื ื– ืฆื•ื•ื™ืฉืŸ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื ื•ืฆื™ืง ืคึฟืึทืจ ื™ืขื“ืขืจ ืคึผืจืึธื’ืจืึทืžื™ืกื˜.

ื“ื–ืฉืขื ืงื™ื ืก

ื’ืึธืจ ื–ื™ืš-ืงืึทื ื˜ื™ื™ื ื“ ืึธืคึฟืŸ ืžืงื•ืจ ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืกืขืจื•ื•ืขืจ. ืขืก ืื™ื– ื•ื•ืขืจื˜ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืฆื• ืึธื˜ืึทืžื™ื™ื˜ ืึทืœืข ืžื™ื ื™ื ืคื•ืŸ ื˜ืึทืกืงืก ืฉื™ื™ึทื›ื•ืช ืฆื• ื‘ื•ื™ืขืŸ, ื˜ืขืกื˜ื™ื ื’, ืฉื™ืคึผื™ื ื’ ืึธื“ืขืจ ื“ื™ืคึผืœื•ื™ื™ื ื’ ื•ื•ื™ื™ื›ื•ื•ืืจื’.

ืžื™ื ื™ืžื•ื ืคึผื™ืกื™ ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ:

  • 256 ืžืขื’ืื‘ื™ื™ื˜ืŸ ื‘ืึทืจืึทืŸ, 1 ื’ื™ื’ืื‘ื™ื™ื˜ ื˜ืขืงืข ืคึผืœืึทืฅ.

ืึธืคึผื˜ื™ืžืึทืœ:

  • 1 ื’ื™ื’ืื‘ื™ื™ื˜ ื‘ืึทืจืึทืŸ, 50 ื’ื™ื’ืื‘ื™ื™ื˜ ืฉื•ื•ืขืจ ืคืึธืจ.

ืฆื• ืึทืจื‘ืขื˜ืŸ, ืื™ืจ ื•ื•ืขื˜ ืื•ื™ืš ื“ืึทืจืคึฟืŸ ื ืึธืš ื•ื•ื™ื™ื›ื•ื•ืืจื’ - Java Runtime Environment (JRE) ื•ื•ืขืจืกื™ืข 8.

ื“ื™ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ (ืคืึทืจืฉืคึผืจื™ื™ื˜ืŸ ืงืึทืžืคึผื™ื•ื˜ื™ื ื’) ืงื•ืงื˜ ื•ื•ื™ ื“ืึธืก:
3 ืคืึธืœืงืก ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืึธืจื’ืึทื ื™ื™ื–ื™ื ื’ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ (ืงืึธื ื˜ื™ื ื•ืึธื•ืก ื“ื™ืคึผืœื•ื™ืžืึทื ื˜)

Jenkins Server ืื™ื– ืึท ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’ ื•ื•ืึธืก ืื™ื– ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ืคึฟืึทืจ GUI ื”ืึธืกื˜ื™ื ื’, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืึธืจื’ืึทื ื™ื™ื–ื™ื ื’ ืื•ืŸ ืขืงืกืึทืงื™ื•ื˜ื™ื ื’ ื“ื™ ื’ืื ืฆืข ื‘ื•ื™ืขืŸ.

Jenkins Node / Slave / Build Server - ื“ืขื•ื•ื™ืกืขืก ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืงืึทื ืคื™ื’ื™ืขืจื“ ืฆื• ื“ื•ืจื›ืคื™ืจืŸ ื‘ื•ื™ืขืŸ ืึทืจื‘ืขื˜ ืื™ืŸ ื‘ื™ื›ืึทืฃ ืคื•ืŸ ื“ื™ ื”ืืจ (ื”ื•ื™ืคึผื˜ ื ืึธื“ืข).

ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ืคึฟืึทืจ ืœื™ื ื•ืงืก

ืขืจืฉื˜ืขืจ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืœื™ื™ื’ืŸ ื“ื™ Jenkins ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืฆื• ื“ื™ ืกื™ืกื˜ืขื:

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.

ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืขืคึฟืขื ืขืŸ ื“ื™ ืึทื“ืจืขืก ืื™ืŸ ื“ืขื ื‘ืœืขื˜ืขืจืขืจ ืœืึธืงืึทืœื”ืึธืกื˜:8080. ื“ืขืจ ืกื™ืกื˜ืขื ื•ื•ืขื˜ ื“ืขืžืึธืœื˜ ืคึผื™ื ื˜ืœืขืš ืื™ืจ ืฆื• ืึทืจื™ื™ึทืŸ ื“ื™ ืขืจืฉื˜ ืคึผืึทืจืึธืœ ืคึฟืึทืจ ื“ืขืจ ื•ื•ืึธืจืฆืœ ื‘ืึทื ื™ืฆืขืจ. ื“ืขื ืคึผืึทืจืึธืœ ืื™ื– ืœื™ื’ืŸ ืื™ืŸ ื“ืขืจ ื˜ืขืงืข /var/lib/jenkins/secrets/initialAdminPassword.

ืื™ืฆื˜ ืึทืœืฅ ืื™ื– ื’ืจื™ื™ื˜ ืฆื• ื’ื™ื™ืŸ, ืื™ืจ ืงืขื ืขืŸ ืึธื ื”ื™ื™ื‘ืŸ ืงืจื™ื™ื™ื˜ื™ื ื’ ืกื™ / ืกื™ ืคืœืึธื•ื–. ื“ื™ ื’ืจืึทืคื™ืงืึทืœ ืฆื•ื‘ื™ื ื“ ืคื•ืŸ ื“ื™ ื•ื•ืึธืจืงื‘ืขื ื˜ืฉ ืงื•ืงื˜ ื•ื•ื™ ื“ืึธืก:

3 ืคืึธืœืงืก ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืึธืจื’ืึทื ื™ื™ื–ื™ื ื’ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ (ืงืึธื ื˜ื™ื ื•ืึธื•ืก ื“ื™ืคึผืœื•ื™ืžืึทื ื˜)

3 ืคืึธืœืงืก ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืึธืจื’ืึทื ื™ื™ื–ื™ื ื’ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ (ืงืึธื ื˜ื™ื ื•ืึธื•ืก ื“ื™ืคึผืœื•ื™ืžืึทื ื˜)

Jenkins Strengths:

  • ืกืงืึทืœืึทื‘ื™ืœื™ื˜ื™ ืฆื•ื’ืขืฉื˜ืขืœื˜ ื“ื•ืจืš ื“ื™ ื”ืืจ / ืฉืงืœืึทืฃ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ;
  • ืึทื•ื•ื™ื™ืœืึทื‘ื™ืœืึทื˜ื™ ืคื•ืŸ REST XML / JSON API;
  • ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ืึท ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ื™ืงืกื˜ืขื ืฉืึทื ื– ื“ืึทื ืง ืฆื• ืคึผืœื•ื’ื™ื ืก;
  • ืึทืงื˜ื™ื•ื• ืื•ืŸ ืงืขืกื™ื™ื“ืขืจ ื™ื•ื•ืึทืœื•ื•ื™ื ื’ ืงื”ืœ.

ืงืึธื ืก:

  • ืขืก ืื™ื– ืงื™ื™ืŸ ืึทื ืึทืœื™ื˜ื™ืงืึทืœ ื‘ืœืึธืง;
  • ื ื™ื˜ ื–ื™ื™ืขืจ ื‘ืึทื ื™ืฆืขืจ-ืคืจื™ื™ึทื ื“ืœืขืš ืฆื•ื‘ื™ื ื“.

TeamCity

ื’ืขืฉืขืคื˜ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคึฟื•ืŸ JetBrains. ื“ืขืจ ืกืขืจื•ื•ืขืจ ืื™ื– ื’ื•ื˜ ืžื™ื˜ ืคึผืฉื•ื˜ ืกืขื˜ืึทืคึผ ืื•ืŸ ืึท ื•ื™ืกื’ืขืฆื™ื™ื›ื ื˜ ืฆื•ื‘ื™ื ื“. ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื”ืื˜ ืึท ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ืคืึทื ื’ืงืฉืึทื ื–, ืื•ืŸ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ื‘ื ื™ืžืฆื ืคึผืœื•ื’ื™ื ืก ืื™ื– ืงืขืกื™ื™ื“ืขืจ ื™ื ืงืจื™ืกื™ื ื’.

ืจื™ืงื•ื•ื™ื™ืจื– Java Runtime Environment (JRE) ื•ื•ืขืจืกื™ืข 8.

ื“ื™ ืกืขืจื•ื•ืขืจ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ ื–ืขื ืขืŸ ื ื™ื˜-ืงืจื™ื˜ื™ืฉ:

  • ื‘ืึทืจืึทืŸ - 3,2 ื’ื™ื’ืื‘ื™ื™ื˜;
  • ืคึผืจืึทืกืขืกืขืจ - ืฆื•ื•ื™ื™ืขื ื“ื™ืง-ื”ืึทืจืฅ, 3,2 ื’ื”ื–;
  • ืงืึธืžื•ื ื™ืงืึทืฆื™ืข ืงืึทื ืึทืœ ืžื™ื˜ ืึท ืงืึทืคึผืึทืฆื™ื˜ืขื˜ ืคื•ืŸ 1 ื’ื‘ / s.

ื“ืขืจ ืกืขืจื•ื•ืขืจ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื“ืขืจื’ืจื™ื™ื›ืŸ ื”ื•ื™ืš ืคืึธืจืฉื˜ืขืœื•ื ื’:

  • 60 ืคึผืจืึทื“ื–ืฉืขืงืก ืžื™ื˜ 300 ื‘ื•ื™ืขืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื–;
  • 2 ืžื‘ ืึทืœืึทืงื™ื™ืฉืึทืŸ ืคึฟืึทืจ ื‘ื•ื™ืขืŸ ืงืœืึธืฅ;
  • 50 ื‘ื•ื™ืขืŸ ืื’ืขื ื˜ืŸ;
  • ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ 50 ื ื™ืฆืขืจืก ืื™ืŸ ื“ื™ ื•ื•ืขื‘ ื•ื•ืขืจืกื™ืข ืื•ืŸ 30 ื™ื•ื–ืขืจื– ืื™ืŸ ื“ื™ IDE;
  • 100 ืงืึทื ืขืงืฉืึทื ื– ืคื•ืŸ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ื•ื•ืงืก, ื™ื•ื–ืฉืึทื•ื•ืึทืœื™ ืคึผืขืจืคืึธืจืกืข ืื•ืŸ ืกื•ื‘ื•ื•ืขืจืกื™ืึธืŸ. ื“ื™ ื“ื•ืจื›ืฉื ื™ื˜ืœืขืš ื˜ื•ื™ืฉืŸ ืฆื™ื™ื˜ ืื™ื– 120 ืกืขืงื•ื ื“ืขืก;
  • ืžืขืจ ื•ื•ื™ 150 ืžืึธื“ื™ืคื™ืงืึทื˜ื™ืึธื ืก ืคึผืขืจ ื˜ืึธื’;
  • ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก ืื•ื™ืฃ ืื™ื™ืŸ ืกืขืจื•ื•ืขืจ;
  • JVM ืกืขืจื•ื•ืขืจ ืคึผืจืึธืฆืขืก ืกืขื˜ื˜ื™ื ื’ืก: -Xmx1100m -XX:MaxPermSize=120m.

ืึทื’ืขื ื˜ ื‘ืื“ืขืจืคืขื ื™ืฉืŸ ื–ืขื ืขืŸ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืคืœื™ืกื ื“ื™ืง ืึทืกืขืžื‘ืœื™ื–. ื“ื™ ื”ื•ื™ืคึผื˜ ืึทืจื‘ืขื˜ ืคื•ืŸ ื“ื™ ืกืขืจื•ื•ืขืจ ืื™ื– ืฆื• ืžืึธื ื™ื˜ืึธืจ ืึทืœืข ืงืึธื ื ืขืงื˜ืขื“ ืื’ืขื ื˜ืŸ ืื•ืŸ ืคืึทืจืฉืคึผืจื™ื™ื˜ืŸ ื“ื™ ืจื™ื™ ืึทืกืขืžื‘ืœื™ื– ืฆื• ื“ื™ ืื’ืขื ื˜ืŸ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ, ืจื™ืคึผืึธืจื˜ื™ื ื’ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ. ืึทื’ืขื ืฅ ืงื•ืžืขืŸ ืื™ืŸ ืึท ืคืึทืจืฉื™ื™ื“ื ืงื™ื™ึทื˜ ืคื•ืŸ ืคึผืœืึทื˜ืคืึธืจืžืก ืื•ืŸ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขืžืขืŸ, ืคึผืœื•ืก ืึท ืคืึทืจ-ืงืึทื ืคื™ื’ื™ืขืจื“ ืกื•ื•ื™ื•ื•ืข.

ื›ืœ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ื™ ื‘ื•ื™ืขืŸ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืื™ื– ืกื˜ืึธืจื“ ืื™ืŸ ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก. ื‘ืคึฟืจื˜, ื“ืึธืก ืื™ื– ื’ืขืฉื™ื›ื˜ืข ืื•ืŸ ืื ื“ืขืจืข ืขื ืœืขืš ื“ืึทื˜ืŸ, VCS ืขื ื“ืขืจื•ื ื’ืขืŸ, ืึทื’ืขื ืฅ, ื‘ื•ื™ืขืŸ ืงื™ื•ื–, ื‘ืึทื ื™ืฆืขืจ ืึทืงืึทื•ื ืฅ ืื•ืŸ ืคึผืขืจืžื™ืฉืึทื ื–. ื“ื™ ื“ืึทื˜ืึทื‘ืึทืกืข ื˜ื•ื˜ ื ื™ืฉื˜ ืึทืจื™ื™ึทื ื ืขืžืขืŸ ื‘ืœื•ื™ื– ื‘ื•ื™ืขืŸ ืœืึธื’ืก ืื•ืŸ ืึทืจื˜ืึทืคืึทืงืฅ.

3 ืคืึธืœืงืก ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืึธืจื’ืึทื ื™ื™ื–ื™ื ื’ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ (ืงืึธื ื˜ื™ื ื•ืึธื•ืก ื“ื™ืคึผืœื•ื™ืžืึทื ื˜)

ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ืคึฟืึทืจ ืœื™ื ื•ืงืก

ืฆื• ืžืึทื ื™ื•ืึทืœื™ ื™ื ืกื˜ืึทืœื™ืจืŸ TeamCity ืžื™ื˜ ืึท Tomcat ืกืขืจื•ื•ืœืขื˜ ืงืึทื ื˜ื™ื™ื ืขืจ, ืื™ืจ ื–ืึธืœ ื ื•ืฆืŸ ื“ื™ TeamCity ืึทืจืงื™ื™ื•ื•: TeamCity .tar.gz. ืืจืืคืงืืคื™ืข ืื™ืจ ืงืขื ืขืŸ ื‘ืึทืงื•ืžืขืŸ ืขืก ืคื•ืŸ ื“ืึธ.

tar -xfz TeamCity.tar.gz

/bin/runAll. ืฉ [ืึธื ื”ื™ื™ื‘|ื”ืึทืœื˜ืŸ]

ื•ื•ืขืŸ ืื™ืจ ืขืจืฉื˜ืขืจ ืึธื ื”ื™ื™ื‘, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ื“ืขื ื˜ื™ืคึผ ืคื•ืŸ ื“ืึทื˜ืึทื‘ื™ื™ืก ืื™ืŸ ื•ื•ืึธืก ื“ื™ ืคึฟืึทืจื–ืึทืžืœื•ื ื’ ื“ืึทื˜ืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืกื˜ืึธืจื“.

3 ืคืึธืœืงืก ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืึธืจื’ืึทื ื™ื™ื–ื™ื ื’ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ (ืงืึธื ื˜ื™ื ื•ืึธื•ืก ื“ื™ืคึผืœื•ื™ืžืึทื ื˜)

ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืœื•ื™ืคื˜ ืื•ื™ืฃ ืœืึธืงืึทืœื”ืึธืกื˜:8111/ ืžื™ื˜ ืื™ื™ืŸ ืจืขื’ื™ืกื˜ืจื™ืจื˜ ื‘ื•ื™ืขืŸ ืึทื’ืขื ื˜ ืคืœื™ืกื ื“ื™ืง ืื•ื™ืฃ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืคึผื™ืกื™.

ื“ื™ ืกื˜ืจืขื ื’ืงื˜ืก ืคื•ืŸ TeamCity:

  • ืคึผืฉื•ื˜ ืกืขื˜ืึทืคึผ;
  • ื‘ืึทื ื™ืฆืขืจ-ืคืจื™ื™ึทื ื“ืœืขืš ืฆื•ื‘ื™ื ื“;
  • ืึท ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืคืึทื ื’ืงืฉืึทื ื–;
  • ืฉื˜ื™ืฆืŸ ื“ื™ื ืกื˜;
  • ืขืก ืื™ื– ืึท RESTful API;
  • ื’ื•ื˜ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ;
  • ื’ื•ื˜ ื–ื™ื›ืขืจื”ื™ื™ึทื˜.

ืงืึธื ืก:

  • ืœื™ืžื™ื˜ืขื“ ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ;
  • ื“ืึธืก ืื™ื– ืึท ื‘ืึทืฆืึธืœื˜ ื’ืขืฆื™ื™ึทื’;
  • ื ืงืœื™ื™ื ืข ืงื”ื™ืœื” (ื•ื•ืึธืก, ืึธื‘ืขืจ, ื•ื•ืืงืกื˜).

GoCD

ืึทืŸ ืึธืคึฟืŸ ืžืงื•ืจ ืคึผืจื•ื™ืขืงื˜ ื•ื•ืึธืก ืจื™ืงื•ื•ื™ื™ืขืจื– Java Runtime Environment (JRE) ื•ื•ืขืจืกื™ืข 8 ืคึฟืึทืจ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ืื•ืŸ ืึธืคึผืขืจืึทืฆื™ืข.

ืกื™ืกื˜ืขื ื‘ืื“ืขืจืคืขื ื™ืฉืŸ:

  • ื‘ืึทืจืึทืŸ - 1 ื’ื™ื’ืื‘ื™ื™ื˜ ืžื™ื ื™ืžื•ื, ืžืขืจ ืื™ื– ื‘ืขืกืขืจ;
  • ืคึผืจืึทืกืขืกืขืจ - ืฆื•ื•ื™ื™ืขื ื“ื™ืง-ื”ืึทืจืฅ, ืžื™ื˜ ืึท ื”ืึทืจืฅ ืึธืคื˜ืงื™ื™ึทื˜ ืคื•ืŸ 2 ื’ื”ื–;
  • ืฉื•ื•ืขืจ ืคืึธืจ - ื‘ื™ื™ึท ืžื™ื ื“ืกื˜ืขืจ 1 ื’ื™ื’ืื‘ื™ื™ื˜ ืคื•ืŸ ืคืจื™ื™ ืคึผืœืึทืฅ.

ืึทื’ืขื ื˜:

  • ื‘ืึทืจืึทืŸ - ื‘ื™ื™ึท ืžื™ื ื“ืกื˜ืขืจ 128 ืžืขื’ืื‘ื™ื™ื˜ืŸ, ืคึผืจืขืคืขืจืึทื‘ืœื™ ืžืขืจ;
  • ืคึผืจืึทืกืขืกืขืจ - ื‘ื™ื™ึท ืžื™ื ื“ืกื˜ืขืจ ืงืกื ื•ืžืงืก ื’ื”ื–.

ื“ืขืจ ืกืขืจื•ื•ืขืจ ื™ื ืฉื•ืจื– ื“ื™ ืึธืคึผืขืจืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹ืื’ืขื ื˜ืŸ ืื•ืŸ ื’ื™ื˜ ืึท ื‘ืึทืงื•ื•ืขื ืฆื•ื‘ื™ื ื“ ืคึฟืึทืจ ื“ื™ ื‘ืึทื ื™ืฆืขืจ:

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 install go-server

apt-get install go-agent

/etc/init.d/go-server [ืึธื ื”ื™ื™ื‘|ื”ืึทืœื˜ืŸ|ืกื˜ืึทื˜ื•ืก|ืจื™ืกื˜ืึทืจื˜]

/etc/init.d/go-agent [ืึธื ื”ื™ื™ื‘|ื”ืึทืœื˜ืŸ|ืกื˜ืึทื˜ื•ืก|ืจื™ืกื˜ืึทืจื˜]

ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜, GoCd ืœื•ื™ืคื˜ ืื•ื™ืฃ ืœืึธืงืึทืœื”ืึธืกื˜: ืงืกื ื•ืžืงืก.

ื“ื™ ืกื˜ืจืขื ื’ืงื˜ืก ืคื•ืŸ GoCd:

  • ืึธืคึฟืŸ ืžืงื•ืจ;
  • ืคึผืฉื•ื˜ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ืื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ;
  • ื’ื•ื˜ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ;

  • ื’ืจื•ื™ืก ื‘ืึทื ื™ืฆืขืจ ืฆื•ื‘ื™ื ื“:

3 ืคืึธืœืงืก ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืึธืจื’ืึทื ื™ื™ื–ื™ื ื’ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ (ืงืึธื ื˜ื™ื ื•ืึธื•ืก ื“ื™ืคึผืœื•ื™ืžืึทื ื˜)

  • ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื•ื•ื™ื™ึทื–ืŸ ื“ื™ GoCD ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืคื•ืŸ ืฉืจื™ื˜-ื“ื•ืจืš-ืฉืจื™ื˜ ืื™ืŸ ืื™ื™ืŸ ืžื™ื™ื ื•ื ื’:

3 ืคืึธืœืงืก ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืึธืจื’ืึทื ื™ื™ื–ื™ื ื’ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ (ืงืึธื ื˜ื™ื ื•ืึธื•ืก ื“ื™ืคึผืœื•ื™ืžืึทื ื˜)

  • ื•ื™ืกื’ืขืฆื™ื™ื›ื ื˜ ืึทืจื•ื™ืกื•ื•ื™ื™ึทื–ืŸ ืคื•ืŸ ื“ื™ ืจืขืจื  - ืœื™ื ื™ืข ืกื˜ืจื•ืงื˜ื•ืจ:

3 ืคืึธืœืงืก ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืึธืจื’ืึทื ื™ื™ื–ื™ื ื’ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ (ืงืึธื ื˜ื™ื ื•ืึธื•ืก ื“ื™ืคึผืœื•ื™ืžืึทื ื˜)

  • GoCD ืึธืคึผื˜ื™ืžื™ื–ืขืก ื“ื™ ืงืึธืžืคึผืึทืงื˜ื“ื™ืกืง ื•ื•ืึธืจืงืคืœืึธื•ื• ืื™ืŸ ื“ื™ ืžืขืจืกื˜ ืคืึธืœืงืก ื•ื•ืึธืœืงืŸ ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ Docker, AWS;
  • ื“ื™ ื’ืขืฆื™ื™ึทื’ ืžืื›ื˜ ืขืก ืžืขื’ืœืขืš ืฆื• ืคืึทืจืจื™ื›ื˜ืŸ ืคึผืจืึธื‘ืœืขืžืก ืื™ืŸ ื“ื™ ืจืขืจื  - ืœื™ื ื™ืข, ืคึฟืึทืจ ื•ื•ืึธืก ืขืก ืื™ื– ื˜ืจืึทืงื™ื ื’ ื™ืขื“ืขืจ ืขื ื“ืขืจื•ื ื’ ืคื•ืŸ ื™ื‘ืขืจื’ืขื‘ืŸ ืฆื• ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืื™ืŸ ืคืึทืงื˜ื™ืฉ ืฆื™ื™ื˜.

ืงืึธื ืก:

  • ืื™ืŸ ืžื™ื ื“ืกื˜ืขืจ ืื™ื™ืŸ ืึทื’ืขื ื˜ ืื™ื– ื“ืืจืฃ;
  • ืขืก ืื™ื– ืงื™ื™ืŸ ืงืึทื ืกืึธื•ืœ ืฆื• ื•ื•ื™ื™ึทื–ืŸ ืึทืœืข ื’ืขืขื ื“ื™ืงื˜ ื˜ืึทืกืงืก;
  • ืฆื• ื•ื™ืกืคื™ืจืŸ ื™ืขื“ืขืจ ื‘ืึทืคึฟืขืœ, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฉืึทืคึฟืŸ ืื™ื™ืŸ ืึทืจื‘ืขื˜ ืคึฟืึทืจ ื“ื™ ืจืขืจื  - ืœื™ื ื™ืข ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ;
  • ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ืขื ืคึผืœื•ื’ื™ืŸ, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืžืึทืš ื“ื™ .jar ื˜ืขืงืข ืฆื• /plugins/external ืื•ืŸ ืจื™ืกื˜ืึทืจื˜ ื“ื™ ืกืขืจื•ื•ืขืจ;
  • ืœืขืคื™ืขืจืขืš ืงืœื™ื™ืŸ ืงื”ืœ.

ื•ื•ื™ ืึท ืžืกืงื ื

ื“ืึธืก ื–ืขื ืขืŸ ื‘ืœื•ื™ื– ื“ืจื™ื™ ืžื›ืฉื™ืจื™ื, ืื™ืŸ ืคืึทืงื˜ ืขืก ื–ืขื ืขืŸ ืคื™ืœืข ืžืขืจ. ืขืก ืื™ื– ืฉื•ื•ืขืจ ืฆื• ืงืœื™ื™ึทื‘ืŸ, ืึทื–ื•ื™ ืื™ืจ ื‘ืืฉื˜ื™ืžื˜ ื“ืึทืจืคึฟืŸ ืฆื• ื‘ืึทืฆืึธืœืŸ ื•ืคืžืขืจืงื–ืึทืžืงื™ื™ึทื˜ ืฆื• ื ืึธืš ืึทืกืคึผืขืงืฅ.

ื“ืขืจ ืขืคึฟืขื ืขืŸ ืžืงื•ืจ ืงืึธื“ ืคื•ืŸ ื“ื™ ื’ืขืฆื™ื™ึทื’ ืžืื›ื˜ ืขืก ืžืขื’ืœืขืš ืฆื• ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื•ื•ืึธืก ืขืก ืื™ื–, ืคึผืœื•ืก ืœื™ื™ื’ืŸ ื ื™ื™ึท ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืคืึทืกื˜ืขืจ. ืื‘ืขืจ ืื•ื™ื‘ ืขืคึผืขืก ื˜ื•ื˜ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ, ืื™ืจ ืžื•ื–ืŸ ืคืึทืจืœืึธื–ื  ื‘ืœื•ื™ื– ืื•ื™ืฃ ื–ื™ืš ืื•ืŸ ื“ื™ ื”ื™ืœืฃ ืคื•ืŸ ื“ื™ ืงื”ืœ. ื‘ืึทืฆืึธืœื˜ ืžื›ืฉื™ืจื™ื ืฆื•ืฉื˜ืขืœืŸ ืฉื˜ื™ืฆืŸ ื•ื•ืึธืก ืงืขืŸ ืžืืœ ื–ื™ื™ืŸ ืงืจื™ื˜ื™ืฉ.

ืื•ื™ื‘ ื–ื™ื›ืขืจื”ื™ื™ื˜ ืื™ื– ื“ื™ื™ืŸ ืฉืคึผื™ืฅ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜, ืขืก ืื™ื– ื•ื•ืขืจื˜ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืึท ื”ื™ื’ืข ื’ืขืฆื™ื™ึทื’. ืื•ื™ื‘ ื ื™ื˜, ื˜ืฉื•ื–ื™ื ื’ ืึท ืกืึทืึทืก ืœื™ื™ื–ื•ื ื’ ืื™ื– ืึท ื’ื•ื˜ ืึธืคึผืฆื™ืข.

ืื•ืŸ ืœืขืกืึธืฃ, ืื™ืŸ ืกื“ืจ ืฆื• ืขื ืฉื•ืจ ืึท ื‘ืืžืช ืขืคืขืงื˜ื™ื•ื• ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืคึผืจืึธืฆืขืก, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืคืึธืจืžื•ืœื™ืจืŸ ืงืจื™ื™ื˜ื™ืจื™ืึท ื•ื•ืขืžืขื ืก ืกืคึผืขืกื™ืคื™ืงืก ื•ื•ืขื˜ ืœืึธื–ืŸ ืื™ืจ ืฆื• ืฉืžืึธืœ ื“ื™ ืงื™ื™ื˜ ืคื•ืŸ ืคืึทืจืึทื ืขืŸ ืžื›ืฉื™ืจื™ื.

Skillbox ืจืขืงืึทืžืขื ื“ื–:

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’