แฃแฌแงแแแขแ แแแแแแแแแ แแ แแก แกแแแชแแแแฃแ แ แแแแแแแ แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แจแแแฃแจแแแแแแจแ, แ แแแแแแช แแแแแแงแแแแแ แแ แแแ แแแฃแ แฃแแ แฃแแแแแงแแคแแจแ แกแฎแแแแแกแฎแแ แคแฃแแฅแชแแแแแก แกแฌแ แแคแแ, แฃแกแแคแ แแฎแแ แแ แแคแแฅแขแฃแ แแ แแแแกแแฎแแ แชแแแแแแแแ.
แแแแแแ แ แแแแ แแ แแก แกแแแแแแ แแแขแแแแขแฃแ แ แแ แแชแแกแแก แจแแฅแแแ, แ แแแแแแช แกแแจแฃแแแแแแก แแแกแชแแแก แแแแแแแแแ แก แกแฌแ แแคแแ แแแแฌแแแแก แแแ แแ แแแฃแฅแขแ แแแแฎแแแ แแแแแก. แแแแแแ แแฃแแแ, แแฃแแแแแ แชแแแแแแแแแ แฎแแแแ แฌแแ แแแแแแจแ - แแแแก แแฌแแแแแ แฃแฌแงแแแขแ แแแฌแแแแแแก แแแแกแแแแแ (CD Pipeline).
Skillbox แแแ แฉแแแ: แแ แแฅแขแแแฃแแ แแฃแ แกแ
"Mobile Developer PRO" .แจแแแแฎแกแแแแแ: "Habr"-แแก แงแแแแ แแแแแฎแแแแแกแแแแก - แคแแกแแแแแแแ 10 แ แฃแแแแแแ Skillbox-แแก แแแแแกแแแแ แแฃแ แกแแ แฉแแ แแชแฎแแแกแแก "Habr" แกแแ แแแแแแ แแแแแก แแแแแงแแแแแแ.
แแแแแแแก แแแกแแแแแขแ แแแแแแแ แจแแแแซแแแแ แแแแแแงแแแแ แแแกแขแ แฃแแแแขแแแแก แคแแ แแ แกแแแฅแขแ แ, แแแ แจแแ แแก แคแแกแแแแ แแ แกแ แฃแแแแ แฃแคแแกแ. แแก แกแขแแขแแ แแฆแฌแแ แก แกแแ แงแแแแแแ แแแแฃแแแ แฃแ แแแแแฌแงแแแขแแแแแแก แแแแแแแแแ แแแก แจแแ แแก, แ แแแแแแแช แจแแแซแแแแ แกแแกแแ แแแแแ แแงแแก แงแแแแ แแ แแแ แแแแกแขแแกแแแแก.
Jenkins
แกแ แฃแแแ แแแแแฃแแแแแแแแ แฆแแ แแแแแก แแแขแแแแขแแแแชแแแก แกแแ แแแ แ. แฆแแ แก แแฃแจแแแแ แงแแแแ แกแแฎแแก แแแแชแแแแก แแแขแแแแขแแแแชแแแกแแแแก, แ แแแแแแช แแแแแแจแแ แแแฃแแแ แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แแจแแแแแแแแแกแแแ, แขแแกแขแแ แแแแกแแแ, แแแฌแแแแแแกแแแ แแ แแแแแ แแแแกแแแ.
แแแแแแฃแขแแ แแก แแแแแแแแฃแ แ แแแแฎแแแแแแ:
- 256 MB แแแแ แแขแแฃแแ แแแฎแกแแแ แแแ, 1 GB แคแแแแแก แกแแแ แชแ.
แแแขแแแแแฃแ แ:
- 1 GB แแแแ แแขแแฃแแ แแแฎแกแแแ แแแ, 50 GB แแงแแ แ แแแกแแ.
แกแแแฃแจแแแ, แแกแแแ แแแแญแแ แแแแแ แแแแแขแแแแแ แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแ - Java Runtime Environment (JRE) แแแ แกแแ 8.
แแ แฅแแขแแฅแขแฃแ แ (แแแแแฌแแแแแฃแแ แแแแแแแแแแ) แแกแ แแแแแแงแฃแ แแแ:
Jenkins แกแแ แแแ แ แแ แแก แแแกแขแแแแชแแ, แ แแแแแแช แแแกแฃแฎแแกแแแแแแแแ GUI แฐแแกแขแแแแแ, แแกแแแ แแแแแ แแแแกแขแ แฃแฅแชแแแก แแ แแแแแแแแแกแ แแ แจแแกแ แฃแแแแแแ.
Jenkins Node/Slave/Build Server - แแแฌแงแแแแแแแแแ, แ แแแแแแ แแแแคแแแฃแ แแชแแ แจแแกแแซแแแแแแแ Master-แแก (แแแกแขแแ แแแแแซแแก) แกแแฎแแแแ build-แแก แจแแกแแกแ แฃแแแแแแ.
แแแกแขแแแแชแแ Linux-แแกแแแแก
แฏแแ แกแแกแขแแแแจแ แฃแแแ แแแแแแขแแ แฏแแแแแแกแแก แกแแชแแแ:
cd /tmp && wget -q -O โ
แแแแแแฎแแแ แแแแแขแแก แกแแชแแแ:
sudo apt แแแแแฎแแแแ
แแแแแแกแขแแแแ แแ Jenkins:
sudo apt แแแแแแกแขแแแแ แ jenkins
แแแแก แจแแแแแ, Jenkins แฎแแแแแกแแฌแแแแแ แแฅแแแแ แกแแกแขแแแแจแ แแแแฃแแแกแฎแแแแ แแแ แขแแ 8080.
แคแฃแแฅแชแแแแแ แแแแก แจแแกแแแแฌแแแแแแ, แแฅแแแ แฃแแแ แแแฎแกแแแ แแแกแแแแ แแ แแ แแฃแแแ แจแ
แแฎแแ แงแแแแแคแแ แ แแแแ แแ แแก แฌแแกแแกแแแแแแ, แจแแแแซแแแแ แแแแฌแงแแ CI/CD แแแแแแแแแก แจแแฅแแแ. แกแแแฃแจแแ แแแแแแแก แแ แแคแแแฃแแ แแแขแแ แคแแแกแ แแกแ แแแแแแงแฃแ แแแ:
แฏแแแแแแกแแก แซแแแแ แ แแฎแแ แแแแ:
- แแแกแจแขแแแฃแ แแแ แแแแแแแแกแฌแแแแแฃแแ Master/Slave แแ แฅแแขแแฅแขแฃแ แแ;
- REST XML/JSON API-แแก แฎแแแแแกแแฌแแแแแแแ;
- แแแแแแแขแแแแก แฌแงแแแแแแ แแแแ แ แแแแแแแแแ แแแคแแ แแแแแแก แแแแแแจแแ แแแแก แจแแกแแซแแแแแแแ;
- แแฅแขแแฃแ แ แแ แแฃแแแแแแ แแแแแแแแ แแแแแ แกแแแแแแแแแแ.
Cons:
- แแ แแ แแก แแแแแแขแแแฃแ แ แแแแแ;
- แแ แแ แแก แซแแแแแ แแแกแแฎแแ แฎแแแแแ แแแขแแ แคแแแกแ.
TeamCity
แแแแแ แชแแฃแแ แแแแแแแแ แแแ JetBrains-แแกแแแ. แกแแ แแแ แ แแแ แแแ แแแ แขแแแ แแแงแแแแแแ แแ แจแแกแแแแจแแแแ แแแขแแ แคแแแกแแ. แแแแฃแแแกแฎแแแแ แแแแคแแแฃแ แแชแแ แแฅแแก แคแฃแแฅแชแแแแแก แแแแ แ แแแแแแแแ แแ แฎแแแแแกแแฌแแแแแ แแแแแแแขแแแแก แ แแแแแแแแ แแฃแแแแแแ แแแ แแแแ.
แแแแแฎแแแก Java Runtime Environment (JRE) แแแ แกแแ 8.
แกแแ แแแ แแก แขแแฅแแแแแก แแแแฎแแแแแแ แแ แแ แแก แแ แแขแแแฃแแ:
- แแแแ แแขแแฃแแ แแแฎแกแแแ แแแ - 3,2 GB;
- แแ แแชแแกแแ แ - แแ แแแ แแแแแแ, 3,2 แแฐแช;
- แกแแแแแฃแแแแแชแแ แแ แฎแ 1 แแ/แฌแ แกแแแซแแแแ แแ.
แกแแ แแแ แ แกแแจแฃแแแแแแก แแแซแแแแ แแแแฆแฌแแแ แแแฆแแ แจแแกแ แฃแแแแแก:
- 60 แแ แแแฅแขแ 300 build แแแแคแแแฃแ แแชแแแ;
- 2 MB แแแแแงแแคแ build แแฃแ แแแแแกแแแแก;
- 50 แกแแแจแแแแแแ แแแแแขแ;
- แแแ แแแ แกแแแจแ 50 แแแแฎแแแ แแแแแแแ แแ IDE-แจแ 30 แแแแฎแแแ แแแแแแแ แแฃแจแแแแแก แจแแกแแซแแแแแแแ;
- แแแ แ VCS-แแก 100 แแแแจแแ แ, แฉแแแฃแแแแ แแ Perforce แแ Subversion. แชแแแแแแแแก แกแแจแฃแแแ แแ แแ 120 แฌแแแ;
- แแฆแแจแ 150-แแ แแแขแ แแแแแคแแแแชแแ;
- แแแแแชแแแแ แแแแแกแแแ แแฃแจแแแแ แแ แ แกแแ แแแ แแ;
- JVM แกแแ แแแ แแก แแ แแชแแกแแก แแแ แแแแขแ แแแ: -Xmx1100m -XX:MaxPermSize=120m.
แแแแแขแแก แแแแฎแแแแแแ แแคแฃแซแแแแ แแแจแแแแฃแ แจแแแ แแแแแก. แกแแ แแแ แแก แแแแแแ แ แแแแชแแแแ แงแแแแ แแแแแแจแแ แแแฃแแ แแแแแขแแก แแแแแขแแ แแแแ แแ แแ แแแแแขแแแแ แ แแแแ แจแแแ แแแแก แแแแแฌแแแแแ แแแแกแแแแแแแแก แแแแฎแแแแแแแก แกแแคแฃแซแแแแแ, แจแแแแแแแแก แแแฎแกแแแแแแ. แแแแแขแแแ แแแแแก แกแฎแแแแแกแฎแแ แแแแขแคแแ แแแแจแ แแ แแแแ แแชแแฃแ แกแแกแขแแแแแจแ, แแแฃแก แฌแแแแกแฌแแ แแแแคแแแฃแ แแ แแแฃแแ แแแ แแแ.
แงแแแแ แแแคแแ แแแชแแ แแจแแแแแแแแแก แจแแแแแแแแก แจแแกแแฎแแ แแแแฎแแแ แแแแแชแแแแ แแแแแจแ. แฃแแแ แแแแแก แงแแแแแกแ, แแก แแ แแก แแกแขแแ แแ แแ แกแฎแแ แแกแแแแกแ แแแแแชแแแแแ, VCS แชแแแแแแแแแ, แแแแแขแแแ, Build แ แแแแแ, แแแแฎแแแ แแแแแก แแแแแ แแจแแแ แแ แแแแแ แแแแแ. แแแแแชแแแแ แแแแ แแ แจแแแชแแแก แแฎแแแแ build แแฃแ แแแแแแก แแ แแ แขแแคแแฅแขแแแก.
แแแกแขแแแแชแแ Linux-แแกแแแแก
แแแแกแแแแแก, แ แแ แฎแแแแ แแแแแแกแขแแแแ แแ TeamCity Tomcat servlet แแแแขแแแแแ แแ, แแฅแแแ แฃแแแ แแแแแแงแแแแ TeamCity แแ แฅแแแ: TeamCity .tar.gz. แฉแแแแขแแแ แแแ
tar -xfz TeamCity.tar.gz
/bin/runAll. แจ [แแแฌแงแแแ|แแแฉแแ แแแ]
แ แแแแกแแช แแแ แแแแแ แแแแฌแงแแแ, แแฅแแแ แฃแแแ แแแ แฉแแแ แแแแแชแแแแ แแแแแก แขแแแ, แ แแแแแจแแช แจแแแแแฎแแแ แแกแแแแแแแก แแแแแชแแแแแ.
แแแแฃแแแกแฎแแแแ แแแแคแแแฃแ แแชแแ แแฃแจแแแแก
TeamCity-แก แซแแแแ แ แแฎแแ แแแแ:
- แแแ แขแแแ แแแแคแแแฃแ แแชแแ;
- แแแกแแฎแแ แฎแแแแแ แแแขแแ แคแแแกแ;
- แฉแแจแแแแแฃแแ แคแฃแแฅแชแแแแแก แแแแ แ แแแแแแแแ;
- แแฎแแ แแแญแแ แแก แกแแ แแแกแ;
- แแ แแก RESTful API;
- แแแ แแ แแแแฃแแแแขแแชแแ;
- แแแ แแ แฃแกแแคแ แแฎแแแแ.
Cons:
- แจแแแฆแฃแแฃแแ แแแขแแแ แแชแแ;
- แแก แแ แแก แคแแกแแแแ แแแกแขแ แฃแแแแขแ;
- แแชแแ แ แกแแแแแแแแแแ (แ แแแแแแช, แแฃแแชแ, แแแ แแแแ).
GoCD
แฆแแ แแแแแก แแ แแแฅแขแ, แ แแแแแแช แแแแแฎแแแก Java Runtime Environment (JRE) 8 แแแ แกแแแก แแแกแขแแแแชแแแกแ แแ แแฃแจแแแแแกแแแแก.
ะกะธััะตะผะฝัะต ััะตะฑะพะฒะฐะฝะธั:
- แแแแ แแขแแฃแแ แแแฎแกแแแ แแแ - แแแแแแฃแ 1 แแ, แแแขแ แฃแแแแแกแแ;
- แแ แแชแแกแแ แ - แแ แแแ แแแแแแ, แแแ แแแแก แกแแฎแจแแ แแ 2 แแฐแช;
- แแงแแ แ แแแกแแ - แแแแแแฃแ 1 แแ แแแแแกแฃแคแแแ แแแแแแ.
แแแแแขแ:
- แแแแ แแขแแฃแแ แแแฎแกแแแ แแแ - แแแแแแฃแ 128 แแ, แกแแกแฃแ แแแแแ แแแขแ;
- แแ แแชแแกแแ แ - แแแแแแฃแ 2 แแฐแช.
แกแแ แแแ แ แฃแแ แฃแแแแแงแแคแก แแแแแขแแแแก แแฃแจแแแแแก แแ แฃแแ แฃแแแแแงแแคแก แแแแฎแแแ แแแแแกแแแแก แแแกแแฎแแ แฎแแแแ แแแขแแ แคแแแกแก:
แแขแแแแแ / แกแแแฃแจแแแแแ / แแแแชแแแแแ:
แแแกแขแแแแชแแ Linux-แแกแแแแก
แแฅแ "แแแ
curl
add-apt-repository ppa:openjdk-r/ppa
apt-get update
apt-get install -y openjdk-8-jre
apt-get แแแแแแกแขแแแแ แ go-server
apt-get install go-agent
/etc/init.d/go-server [แแแฌแงแแแ|แจแแฉแแ แแแ|แกแขแแขแฃแกแแแ|แแแแแขแแแ แแแ]
/etc/init.d/go-agent [แแแฌแงแแแ|แจแแฉแแ แแแ|แกแขแแขแฃแกแแแ|แแแแแขแแแ แแแ]
แแแแฃแแแกแฎแแแแแ GoCd แแฃแจแแแแก
GoCd-แแก แซแแแแ แ แแฎแแ แแแแ:
- แกแแฏแแ แ แฌแงแแ แ;
- แแแ แขแแแ แแแกแขแแแแชแแ แแ แแแแคแแแฃแ แแชแแ;
- แแแ แแ แแแแฃแแแแขแแชแแ;
- แจแแกแแแแจแแแแ แแแแฎแแแ แแแแแก แแแขแแ แคแแแกแ:
- แแขแแแแแ แแแ GoCD แแแแแแแแแแก แแแแก แฉแแแแแแแก แจแแกแแซแแแแแแแ แแ แแ แฎแแแแ:
- แแแแกแแแแแแก แกแขแ แฃแฅแขแฃแ แแก แจแแกแแแแจแแแแ แฉแแแแแแ:
- GoCD แแแขแแแแแแแก CD แกแแแฃแจแแ แแ แแชแแกแก แงแแแแแแ แแแแฃแแแ แฃแ แฆแ แฃแแแแแแ แแแ แแแแจแ, แแแ แจแแ แแก Docker, AWS;
- แแแกแขแ แฃแแแแขแ แจแแกแแซแแแแแแก แฎแแแก แแแแกแแแแแจแ แแ แกแแแฃแแ แแ แแแแแแแแแก แแแแแกแฌแแ แแแแก, แ แแกแแแแกแแช แฎแแแแ แงแแแแ แชแแแแแแแแก แแแแแงแฃแ แแก แแแแแแแ แแแกแ แฃแแแแแแแ แแแแแแแแแแแแ แ แแแแฃแ แแ แแจแ.
Cons:
- แกแแญแแ แแ แแแแแแฃแ แแ แแ แแแแแขแ;
- แแ แแ แแก แแแแกแแแ แงแแแแ แแแกแ แฃแแแแฃแแ แแแแแแแแแก แฉแแแแแแแกแแแแก;
- แแแแแแฃแแ แแ แซแแแแแแก แจแแกแแกแ แฃแแแแแแ, แแฅแแแ แฃแแแ แจแแฅแแแแ แแ แแ แแแแแแแแ แแแแกแแแแแแก แแแแคแแแฃแ แแชแแแกแแแแก;
- แแแแฃแแแก แแแกแแแแกแขแแแแ แแแแแ แแฅแแแ แฃแแแ แแแแแแขแแแแ .jar แคแแแแ /plugins/external แแ แแแแแขแแแ แแแ แกแแ แแแ แ;
- แจแแแแ แแแแ แแชแแ แ แกแแแแแแแแแแ.
แ แแแแ แช แแแกแแแแ
แแก แแฎแแแแ แกแแแ แแแกแขแ แฃแแแแขแแ, แกแแแแแแแแแแจแ แแแแแ แแแแ แแ. แซแแแแแ แแ แฉแแแ, แแแแขแแ แแฃแชแแแแแแแ แฃแแแ แแแแฅแชแแแ แงแฃแ แแแฆแแแ แแแแแขแแแแ แแกแแแฅแขแแแก.
แฎแแแกแแฌแงแแก แฆแแ แแแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแ แ แ แแ แแก แแก, แแแฃแก แแฎแแแ แคแฃแแฅแชแแแแแก แฃแคแ แ แกแฌแ แแคแแ แแแแแขแแแ. แแแแ แแ แแฃ แ แแแ แแ แแฃแจแแแแก, แแแจแแ แแฅแแแ แฃแแแ แแแแงแ แแแแ แแฎแแแแ แกแแแฃแแแ แแแแก แแ แกแแแแแแแแแแแก แแแฎแแแ แแแแก. แคแแกแแแแ แฎแแแกแแฌแงแแแแ แฃแแ แฃแแแแแงแแคแแ แแฎแแ แแแญแแ แแก, แ แแแแแแช แแแแฏแแ แจแแแซแแแแ แแงแแก แแ แแขแแแฃแแ.
แแฃ แฃแกแแคแ แแฎแแแแ แแฅแแแแ แแแแแแ แ แแ แแแ แแขแแขแแ, แฆแแ แก แแแแแแแแ แแ แแแกแขแ แฃแแแแขแแแ แแฃแจแแแแ. แแฃ แแ แ, แแแจแแ SaaS แแแแแฌแงแแแขแแก แแ แฉแแแ แแแ แแ แแแ แแแแขแแ.
แแ แแแแแก, แแแ แแแแช แแคแแฅแขแฃแ แ แฃแฌแงแแแขแ แแแแแแแแแแก แแ แแชแแกแแก แฃแแ แฃแแแแแกแแงแแคแแ, แแฅแแแ แฃแแแ แฉแแแแแงแแแแแแ แแ แแขแแ แแฃแแแแ, แ แแแแแแ แกแแแชแแคแแแ แกแแจแฃแแแแแแก แแแแชแแแ แจแแแแชแแ แแ แฎแแแแแกแแฌแแแแแ แแแกแขแ แฃแแแแขแแแแก แกแแแฅแขแ แ.
Skillbox แแแ แฉแแแ:
- แแ แฌแแแแแ แแ แแฅแขแแแฃแแ แแฃแ แกแ
"แแ แแแ แแแ แแแแแแแแแ แ PRO" .- แแแแแแ แแฃแ แกแ
"C# แแแแแแแแแ แ" .- แแ แแฅแขแแแฃแแ แฌแแแก แแฃแ แกแ
"PHP แแแแแแแแแ แ 0-แแแ PRO-แแแ" .
แฌแงแแ แ: www.habr.com