3 ื›ืœื™ื ืคื•ืคื•ืœืจื™ื™ื ืœืืจื’ื•ืŸ ืคืจื™ืกื” ืจืฆื™ืคื” (ืคืจื™ืกื” ืจืฆื™ืคื”)

3 ื›ืœื™ื ืคื•ืคื•ืœืจื™ื™ื ืœืืจื’ื•ืŸ ืคืจื™ืกื” ืจืฆื™ืคื” (ืคืจื™ืกื” ืจืฆื™ืคื”)

Continuous Deployment ื”ื™ื ื’ื™ืฉื” ืžื™ื•ื—ื“ืช ื‘ืคื™ืชื•ื— ืชื•ื›ื ื” ื”ืžืฉืžืฉืช ืœื™ื™ืฉื•ื ืžื”ื™ืจ, ื‘ื˜ื•ื— ื•ื™ืขื™ืœ ืฉืœ ืคื•ื ืงืฆื™ื•ืช ืฉื•ื ื•ืช ื‘ืชื•ื›ื ื”.

ื”ืจืขื™ื•ืŸ ื”ืžืจื›ื–ื™ ื”ื•ื ืœื™ืฆื•ืจ ืชื”ืœื™ืš ืื•ื˜ื•ืžื˜ื™ ืืžื™ืŸ ื”ืžืืคืฉืจ ืœืžืคืชื— ืœืกืคืง ื‘ืžื”ื™ืจื•ืช ืืช ื”ืžื•ืฆืจ ื”ืžื•ื’ืžืจ ืœืžืฉืชืžืฉ. ื‘ืžืงื‘ื™ืœ, ืžืชื‘ืฆืขื™ื ืฉื™ื ื•ื™ื™ื ืžืชืžื™ื“ื™ื ื‘ื™ื™ืฆื•ืจ - ื–ื” ื ืงืจื ืฆื™ื ื•ืจ ืžืฉืœื•ื— ืจืฆื™ืฃ (CD Pipeline).

Skillbox ืžืžืœื™ืฆื”: ืงื•ืจืก ืžืขืฉื™ "Mobile Developer PRO".

ืื ื• ืžื–ื›ื™ืจื™ื: ืœื›ืœ ืงื•ืจืื™ Habr - ื”ื ื—ื” ืฉืœ 10 ืจื•ื‘ืœ ื‘ืขืช ื”ืจืฉืžื” ืœื›ืœ ืงื•ืจืก Skillbox ื‘ืืžืฆืขื•ืช ืงื•ื“ ื”ื”ื˜ื‘ื” ืฉืœ Habr.

3 ื›ืœื™ื ืคื•ืคื•ืœืจื™ื™ื ืœืืจื’ื•ืŸ ืคืจื™ืกื” ืจืฆื™ืคื” (ืคืจื™ืกื” ืจืฆื™ืคื”)

ื›ื“ื™ ืœืฉืœื•ื˜ ื‘ื–ืจื™ืžื”, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืžื’ื•ื•ืŸ ืจื—ื‘ ืฉืœ ื›ืœื™ื, ื›ื•ืœืœ ื‘ืชืฉืœื•ื ื•ื—ื™ื ืžื™ ืœื—ืœื•ื˜ื™ืŸ. ืžืืžืจ ื–ื” ืžืชืืจ ืฉืœื•ืฉื” ืžื”ืคืชืจื•ื ื•ืช ื”ืคื•ืคื•ืœืจื™ื™ื ื‘ื™ื•ืชืจ ื‘ืงืจื‘ ืžืคืชื—ื™ื ืฉื™ื›ื•ืœื™ื ืœื”ื™ื•ืช ืฉื™ืžื•ืฉื™ื™ื ืœื›ืœ ืžืชื›ื ืช.

ื’'ื ืงื™ื ืก

ืฉืจืช ืื•ื˜ื•ืžืฆื™ื” ืขืฆืžืื™ ืœื—ืœื•ื˜ื™ืŸ ื‘ืงื•ื“ ืคืชื•ื—. ื›ื“ืื™ ืœืขื‘ื•ื“ ืื™ืชื• ื›ื“ื™ ืœื‘ืฆืข ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื›ืœ ืžื™ื ื™ ืžืฉื™ืžื•ืช ื”ืงืฉื•ืจื•ืช ืœื‘ื ื™ื™ื”, ื‘ื“ื™ืงื”, ืžืฉืœื•ื— ืื• ืคืจื™ืกื” ืฉืœ ืชื•ื›ื ื”.

ื“ืจื™ืฉื•ืช ืžื™ื ื™ืžื•ื ืœืžื—ืฉื‘:

  • 256 MB RAM, 1 GB ืฉื˜ื— ืงื•ื‘ืฅ.

ืื•ึนืคึผึฐื˜ึดื™ืžึธืœึดื™:

  • 1 GB RAM, 50 GB ื›ื•ื ืŸ ืงืฉื™ื—.

ื›ื“ื™ ืœืขื‘ื•ื“, ืชื–ื“ืงืง ื’ื ืœืชื•ื›ื ื” ื ื•ืกืคืช - Java Runtime Environment (JRE) ื’ืจืกื” 8.

ื”ืืจื›ื™ื˜ืงื˜ื•ืจื” (ืžื—ืฉื•ื‘ ืžื‘ื•ื–ืจ) ื ืจืื™ืช ื›ืš:
3 ื›ืœื™ื ืคื•ืคื•ืœืจื™ื™ื ืœืืจื’ื•ืŸ ืคืจื™ืกื” ืจืฆื™ืคื” (ืคืจื™ืกื” ืจืฆื™ืคื”)

Jenkins Server ื”ื™ื ื”ืชืงื ื” ืฉืื—ืจืื™ืช ืขืœ ืื™ืจื•ื— GUI, ื›ืžื• ื’ื ืขืœ ืืจื’ื•ืŸ ื•ื‘ื™ืฆื•ืข ื”-build ื›ื•ืœื•.

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

ื”ืชืงืŸ ืืช ื’'ื ืงื™ื ืก:

sudo apt ืœื”ืชืงื™ืŸ ืืช ื’'ื ืงื™ื ืก

ืœืื—ืจ ืžื›ืŸ, Jenkins ื™ื”ื™ื” ื–ืžื™ืŸ ื‘ืžืขืจื›ืช ื“ืจืš ื™ืฆื™ืืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ 8080.

ื›ื“ื™ ืœื‘ื“ื•ืง ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช, ืขืœื™ืš ืœืคืชื•ื— ืืช ื”ื›ืชื•ื‘ืช ื‘ื“ืคื“ืคืŸ localhost:8080. ืœืื—ืจ ืžื›ืŸ ื”ืžืขืจื›ืช ืชื‘ืงืฉ ืžืžืš ืœื”ื–ื™ืŸ ืืช ื”ืกื™ืกืžื” ื”ืจืืฉื•ื ื™ืช ืขื‘ื•ืจ ืžืฉืชืžืฉ ื”ืฉื•ืจืฉ. ืกื™ืกืžื” ื–ื• ืžืžื•ืงืžืช ื‘ืงื•ื‘ืฅ /var/lib/jenkins/secrets/initialAdminPassword.

ืขื›ืฉื™ื• ื”ื›ืœ ืžื•ื›ืŸ ืœืคืขื•ืœื”, ืืชื” ื™ื›ื•ืœ ืœื”ืชื—ื™ืœ ืœื™ืฆื•ืจ ื–ืจื™ืžื•ืช CI/CD. ื”ืžืžืฉืง ื”ื’ืจืคื™ ืฉืœ ืฉื•ืœื—ืŸ ื”ืขื‘ื•ื“ื” ื ืจืื” ื›ืš:

3 ื›ืœื™ื ืคื•ืคื•ืœืจื™ื™ื ืœืืจื’ื•ืŸ ืคืจื™ืกื” ืจืฆื™ืคื” (ืคืจื™ืกื” ืจืฆื™ืคื”)

3 ื›ืœื™ื ืคื•ืคื•ืœืจื™ื™ื ืœืืจื’ื•ืŸ ืคืจื™ืกื” ืจืฆื™ืคื” (ืคืจื™ืกื” ืจืฆื™ืคื”)

ื—ื•ื–ืงื•ืช ื’'ื ืงื™ื ืก:

  • ืžื“ืจื’ื™ื•ืช ื”ืžืกื•ืคืงืช ืขืœ ื™ื“ื™ ืืจื›ื™ื˜ืงื˜ื•ืจืช ื”ืžืืกื˜ืจ/ืขื‘ื“;
  • ื–ืžื™ื ื•ืช ืฉืœ REST XML/JSON API;
  • ื”ื™ื›ื•ืœืช ืœื—ื‘ืจ ืžืกืคืจ ืจื‘ ืฉืœ ื”ืจื—ื‘ื•ืช ื”ื•ื“ื•ืช ืœืชื•ืกืคื™ื;
  • ืงื”ื™ืœื” ืคืขื™ืœื” ื•ืžืชืคืชื—ืช ื›ืœ ื”ื–ืžืŸ.

ื—ืกืจื•ื ื•ืช:

  • ืื™ืŸ ื—ืกื™ืžื” ืื ืœื™ื˜ื™ืช;
  • ืžืžืฉืง ืœื ื™ื“ื™ื“ื•ืชื™ ื‘ืžื™ื•ื—ื“.

TeamCity

ืคื™ืชื•ื— ืžืกื—ืจื™ ืžื‘ื™ืช JetBrains. ื”ืฉืจืช ื˜ื•ื‘ ืขื ื”ื’ื“ืจื” ืคืฉื•ื˜ื” ื•ืžืžืฉืง ืžืขื•ืœื”. ืชืฆื•ืจืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ื›ื•ืœืœืช ืžืกืคืจ ืจื‘ ืฉืœ ืคื•ื ืงืฆื™ื•ืช, ื•ืžืกืคืจ ื”ืชื•ืกืคื™ื ื”ื–ืžื™ื ื™ื ื’ื“ืœ ื›ืœ ื”ื–ืžืŸ.

ื“ื•ืจืฉ Java Runtime Environment (JRE) ื’ืจืกื” 8.

ื“ืจื™ืฉื•ืช ื”ื—ื•ืžืจื” ืฉืœ ื”ืฉืจืช ืื™ื ืŸ ืงืจื™ื˜ื™ื•ืช:

  • ื–ื™ื›ืจื•ืŸ RAM - 3,2 ื’'ื™ื’ื”-ื‘ื™ื™ื˜;
  • ืžืขื‘ื“ - ื›ืคื•ืœ ืœื™ื‘ื”, 3,2 ื’ื™ื’ื”-ื”ืจืฅ;
  • ืขืจื•ืฅ ืชืงืฉื•ืจืช ื‘ืงื™ื‘ื•ืœืช 1 Gb/s.

ื”ืฉืจืช ืžืืคืฉืจ ืœืš ืœื”ืฉื™ื’ ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื:

  • 60 ืคืจื•ื™ืงื˜ื™ื ืขื 300 ืชืฆื•ืจื•ืช ื‘ื ื™ื™ื”;
  • ืœื”ืงืฆื•ืช 2 MB ืขื‘ื•ืจ ื™ื•ืžืŸ ื”ื‘ื ื™ื™ื”;
  • 50 ืกื•ื›ื ื™ ื‘ื ื™ื™ื”;
  • ื”ื™ื›ื•ืœืช ืœืขื‘ื•ื“ ืขื 50 ืžืฉืชืžืฉื™ื ื‘ื’ืจืกืช ื”ืื™ื ื˜ืจื ื˜ ื•-30 ืžืฉืชืžืฉื™ื ื‘-IDE;
  • 100 ื—ื™ื‘ื•ืจื™ื ืฉืœ VCS ื—ื™ืฆื•ื ื™, ื‘ื“ืจืš ื›ืœืœ Perforce ื•-Subversion. ื–ืžืŸ ื”ืฉื™ื ื•ื™ ื”ืžืžื•ืฆืข ื”ื•ื 120 ืฉื ื™ื•ืช;
  • ื™ื•ืชืจ ืž-150 ืฉื™ื ื•ื™ื™ื ื‘ื™ื•ื;
  • ืขื‘ื•ื“ื” ืขื ืžืกื“ ื”ื ืชื•ื ื™ื ืขืœ ืฉืจืช ืื—ื“;
  • ื”ื’ื“ืจื•ืช ืชื”ืœื™ืš ืฉืจืช JVM: -Xmx1100m -XX:MaxPermSize=120m.

ื“ืจื™ืฉื•ืช ื”ืกื•ื›ืŸ ืžื‘ื•ืกืกื•ืช ืขืœ ื”ืจื›ื‘ื•ืช ืคื•ืขืœื•ืช. ื”ืžืฉื™ืžื” ื”ืขื™ืงืจื™ืช ืฉืœ ื”ืฉืจืช ื”ื™ื ืœืคืงื— ืขืœ ื›ืœ ื”ืกื•ื›ื ื™ื ื”ืžื—ื•ื‘ืจื™ื ื•ืœื”ืคื™ืฅ ืืกื™ืคื•ืช ื‘ืชื•ืจ ืœืกื•ื›ื ื™ื ืืœื” ืขืœ ืกืžืš ื“ืจื™ืฉื•ืช ืชืื™ืžื•ืช, ืชื•ืš ื“ื™ื•ื•ื— ืขืœ ื”ืชื•ืฆืื•ืช. ืกื•ื›ื ื™ื ืžื’ื™ืขื™ื ื‘ืžื’ื•ื•ืŸ ืคืœื˜ืคื•ืจืžื•ืช ื•ืžืขืจื›ื•ืช ื”ืคืขืœื”, ื‘ืชื•ืกืคืช ืกื‘ื™ื‘ื” ืžื•ื’ื“ืจืช ืžืจืืฉ.

ื›ืœ ื”ืžื™ื“ืข ืขืœ ืชื•ืฆืื•ืช ื”ื‘ื ื™ื™ื” ืžืื•ื—ืกืŸ ื‘ืžืกื“ ื”ื ืชื•ื ื™ื. ื‘ืขื™ืงืจ ืžื“ื•ื‘ืจ ื‘ื”ื™ืกื˜ื•ืจื™ื” ื•ื ืชื•ื ื™ื ื“ื•ืžื™ื ืื—ืจื™ื, ืฉื™ื ื•ื™ื™ื ื‘-VCS, ืกื•ื›ื ื™ื, ืชื•ืจื™ ื‘ื ื™ื™ื”, ื—ืฉื‘ื•ื ื•ืช ืžืฉืชืžืฉ ื•ื”ืจืฉืื•ืช. ืžืกื“ ื”ื ืชื•ื ื™ื ืื™ื ื• ื›ื•ืœืœ ืจืง ื™ื•ืžื ื™ ื‘ื ื™ื™ื” ื•ื—ืคืฆื™ื.

3 ื›ืœื™ื ืคื•ืคื•ืœืจื™ื™ื ืœืืจื’ื•ืŸ ืคืจื™ืกื” ืจืฆื™ืคื” (ืคืจื™ืกื” ืจืฆื™ืคื”)

ื”ืชืงื ื” ืขื‘ื•ืจ ืœื™ื ื•ืงืก

ื›ื“ื™ ืœื”ืชืงื™ืŸ ื‘ืื•ืคืŸ ื™ื“ื ื™ ืืช TeamCity ืขื ืžื™ื›ืœ servlet ืฉืœ Tomcat, ืขืœื™ืš ืœื”ืฉืชืžืฉ ื‘ืืจื›ื™ื•ืŸ TeamCity: TeamCity .tar.gz. ื”ื•ืจื“ ืืชื” ื™ื›ื•ืœ ืœืงื‘ืœ ืืช ื–ื” ืžื›ืืŸ.

tar -xfz TeamCity.tar.gz

/bin/runAll. ืฉ [ื”ืชื—ืœ|ืขืฆื•ืจ]

ื›ืืฉืจ ืืชื” ืžืชื—ื™ืœ ืœืจืืฉื•ื ื”, ืขืœื™ืš ืœื‘ื—ื•ืจ ืืช ืกื•ื’ ืžืกื“ ื”ื ืชื•ื ื™ื ืฉื‘ื• ื™ืื•ื—ืกื ื• ื ืชื•ื ื™ ื”ื”ืจื›ื‘ื”.

3 ื›ืœื™ื ืคื•ืคื•ืœืจื™ื™ื ืœืืจื’ื•ืŸ ืคืจื™ืกื” ืจืฆื™ืคื” (ืคืจื™ืกื” ืจืฆื™ืคื”)

ืชืฆื•ืจืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืคื•ืขืœืช ืขืœ localhost:8111/ ืขื ืกื•ื›ืŸ ื‘ื ื™ื™ื” ืจืฉื•ื ืื—ื“ ื”ืคื•ืขืœ ืขืœ ืื•ืชื• ืžื—ืฉื‘.

ื”ื—ื•ื–ืงื•ืช ืฉืœ TeamCity:

  • ื”ืชืงื ื” ืงืœื”;
  • ืžืžืฉืง ื™ื“ื™ื“ื•ืชื™ ืœืžืฉืชืžืฉ;
  • ืžืกืคืจ ืจื‘ ืฉืœ ืคื•ื ืงืฆื™ื•ืช ืžื•ื‘ื ื•ืช;
  • ืฉื™ืจื•ืช ืชืžื™ื›ื”;
  • ื™ืฉ RESTful API;
  • ืชื™ืขื•ื“ ื˜ื•ื‘;
  • ืื‘ื˜ื—ื” ื˜ื•ื‘ื”.

ื—ืกืจื•ื ื•ืช:

  • ืื™ื ื˜ื’ืจืฆื™ื” ืžื•ื’ื‘ืœืช;
  • ื–ื”ื• ื›ืœื™ ื‘ืชืฉืœื•ื;
  • ืงื”ื™ืœื” ืงื˜ื ื” (ืฉืขื ื–ืืช, ื”ื•ืœื›ืช ื•ื’ื“ืœื”).

GoCD

ืคืจื•ื™ืงื˜ ืงื•ื“ ืคืชื•ื— ื”ื“ื•ืจืฉ Java Runtime Environment (JRE) ื’ืจืกื” 8 ืœื”ืชืงื ื” ื•ืชืคืขื•ืœ.

ะกะธัั‚ะตะผะฝั‹ะต ั‚ั€ะตะฑะพะฒะฐะฝะธั:

  • ื–ื™ื›ืจื•ืŸ 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 ืขื“ื›ื•ืŸ

apt-get install -y openjdk-8-jre

apt-get install go-server

apt-get install go-agent

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

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

ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, GoCd ืคื•ืขืœ localhost: 8153.

ื”ื—ื•ื–ืงื•ืช ืฉืœ GoCd:

  • ืงื•ื“ ืคืชื•ื—;
  • ื”ืชืงื ื” ื•ืชืฆื•ืจื” ืคืฉื•ื˜ื”;
  • ืชื™ืขื•ื“ ื˜ื•ื‘;

  • ืžืžืฉืง ืžืฉืชืžืฉ ืžืขื•ืœื”:

3 ื›ืœื™ื ืคื•ืคื•ืœืจื™ื™ื ืœืืจื’ื•ืŸ ืคืจื™ืกื” ืจืฆื™ืคื” (ืคืจื™ืกื” ืจืฆื™ืคื”)

  • ื™ื›ื•ืœืช ืœื”ืจืื•ืช ืฉืœื‘ ืื—ืจ ืฉืœื‘ ื ืชื™ื‘ ืคืจื™ืกืช GoCD ื‘ืชืฆื•ื’ื” ืื—ืช:

3 ื›ืœื™ื ืคื•ืคื•ืœืจื™ื™ื ืœืืจื’ื•ืŸ ืคืจื™ืกื” ืจืฆื™ืคื” (ืคืจื™ืกื” ืจืฆื™ืคื”)

  • ืชืฆื•ื’ื” ืžืฆื•ื™ื ืช ืฉืœ ืžื‘ื ื” ื”ืฆื™ื ื•ืจ:

3 ื›ืœื™ื ืคื•ืคื•ืœืจื™ื™ื ืœืืจื’ื•ืŸ ืคืจื™ืกื” ืจืฆื™ืคื” (ืคืจื™ืกื” ืจืฆื™ืคื”)

  • GoCD ืžื™ื™ืขืœ ืืช ื–ืจื™ืžืช ื”ืขื‘ื•ื“ื” ืฉืœ ื”ืชืงืœื™ื˜ื•ืจื™ื ื‘ืกื‘ื™ื‘ื•ืช ื”ืขื ืŸ ื”ืคื•ืคื•ืœืจื™ื•ืช ื‘ื™ื•ืชืจ ื›ื•ืœืœ Docker, AWS;
  • ื”ื›ืœื™ ืžืืคืฉืจ ืœืชืงืŸ ื‘ืขื™ื•ืช ื‘ืฆื ืจืช, ืฉืœื’ื‘ื™ื”ืŸ ื™ืฉ ืžืขืงื‘ ืื—ืจ ื›ืœ ืฉื™ื ื•ื™ ืžื”ืชื—ื™ื™ื‘ื•ืช ืœืคืจื™ืกื” ื‘ื–ืžืŸ ืืžืช.

ื—ืกืจื•ื ื•ืช:

  • ื™ืฉ ืฆื•ืจืš ื‘ืกื•ื›ืŸ ืื—ื“ ืœืคื—ื•ืช;
  • ืื™ืŸ ืžืกื•ืฃ ืœื”ืฆื’ืช ื›ืœ ื”ืžืฉื™ืžื•ืช ืฉื”ื•ืฉืœืžื•;
  • ื›ื“ื™ ืœื‘ืฆืข ื›ืœ ืคืงื•ื“ื”, ืขืœื™ืš ืœื™ืฆื•ืจ ืžืฉื™ืžื” ืื—ืช ืขื‘ื•ืจ ืชืฆื•ืจืช ื”ืฆื™ื ื•ืจ;
  • ื›ื“ื™ ืœื”ืชืงื™ืŸ ืืช ื”ืคืœืื’ื™ืŸ ืขืœื™ืš ืœื”ืขื‘ื™ืจ ืืช ืงื•ื‘ืฅ ื”-.jar ืืœ /plugins/external ื•ื”ืคืขืœ ืžื—ื“ืฉ ืืช ื”ืฉืจืช;
  • ืงื”ื™ืœื” ืงื˜ื ื” ื™ื—ืกื™ืช.

ื›ืžืกืงื ื”

ืืœื• ืจืง ืฉืœื•ืฉื” ื›ืœื™ื, ืœืžืขืฉื” ื™ืฉ ืขื•ื“ ืจื‘ื™ื. ืงืฉื” ืœื‘ื—ื•ืจ, ืื– ืืชื” ื‘ื”ื—ืœื˜ ืฆืจื™ืš ืœืฉื™ื ืœื‘ ืœื”ื™ื‘ื˜ื™ื ื ื•ืกืคื™ื.

ืงื•ื“ ื”ืžืงื•ืจ ื”ืคืชื•ื— ืฉืœ ื”ื›ืœื™ ืžืืคืฉืจ ืœื”ื‘ื™ืŸ ืžื” ื–ื”, ื‘ื ื•ืกืฃ ืœื”ื•ืกื™ืฃ ืชื›ื•ื ื•ืช ื—ื“ืฉื•ืช ืžื”ืจ ื™ื•ืชืจ. ืื‘ืœ ืื ืžืฉื”ื• ืœื ืขื•ื‘ื“, ืื– ืืชื” ืฆืจื™ืš ืœืกืžื•ืš ืจืง ืขืœ ืขืฆืžืš ื•ืขืœ ื”ืขื–ืจื” ืฉืœ ื”ืงื”ื™ืœื”. ื›ืœื™ื ื‘ืชืฉืœื•ื ืžืกืคืงื™ื ืชืžื™ื›ื” ืฉืœืขื™ืชื™ื ื™ื›ื•ืœื” ืœื”ื™ื•ืช ืงืจื™ื˜ื™ืช.

ืื ื”ืื‘ื˜ื—ื” ื”ื™ื ื‘ืจืืฉ ืกื“ืจ ื”ืขื“ื™ืคื•ื™ื•ืช ืฉืœืš, ื›ื“ืื™ ืœืขื‘ื•ื“ ืขื ื›ืœื™ ืžืงื•ืžื™. ืื ืœื, ืื– ื‘ื—ื™ืจืช ืคืชืจื•ืŸ SaaS ื”ื™ื ืืคืฉืจื•ืช ื˜ื•ื‘ื”.

ื•ืœื‘ืกื•ืฃ, ืขืœ ืžื ืช ืœื”ื‘ื˜ื™ื— ืชื”ืœื™ืš ืคืจื™ืกื” ืžืชืžืฉืš ื™ืขื™ืœ ื‘ืืžืช, ืขืœื™ืš ืœื’ื‘ืฉ ืงืจื™ื˜ืจื™ื•ื ื™ื ืฉื”ืคืจื˜ื™ื ืฉืœื”ื ื™ืืคืฉืจื• ืœืš ืœืฆืžืฆื ืืช ืžื’ื•ื•ืŸ ื”ื›ืœื™ื ื”ื–ืžื™ื ื™ื.

Skillbox ืžืžืœื™ืฆื”:

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

ื”ื•ืกืคืช ืชื’ื•ื‘ื”