Continuous Deployment ืืื ืืืฉื ืืืืืืช ืืคืืชืื ืชืืื ื ืืืฉืืฉืช ืืืืฉืื ืืืืจ, ืืืื ืืืขืื ืฉื ืคืื ืงืฆืืืช ืฉืื ืืช ืืชืืื ื.
ืืจืขืืื ืืืจืืื ืืื ืืืฆืืจ ืชืืืื ืืืืืืื ืืืื ืืืืคืฉืจ ืืืคืชื ืืกืคืง ืืืืืจืืช ืืช ืืืืฆืจ ืืืืืืจ ืืืฉืชืืฉ. ืืืงืืื, ืืชืืฆืขืื ืฉืื ืืืื ืืชืืืืื ืืืืฆืืจ - ืื ื ืงืจื ืฆืื ืืจ ืืฉืืื ืจืฆืืฃ (CD Pipeline).
Skillbox ืืืืืฆื: ืงืืจืก ืืขืฉื
"Mobile Developer PRO" .ืื ื ืืืืืจืื: ืืื ืงืืจืื Habr - ืื ืื ืฉื 10 ืจืืื ืืขืช ืืจืฉืื ืืื ืงืืจืก Skillbox ืืืืฆืขืืช ืงืื ืืืืื ืฉื Habr.
ืืื ืืฉืืื ืืืจืืื, ืืชื ืืืื ืืืฉืชืืฉ ืืืืืื ืจืื ืฉื ืืืื, ืืืื ืืชืฉืืื ืืืื ืื ืืืืืืื. ืืืืจ ืื ืืชืืจ ืฉืืืฉื ืืืคืชืจืื ืืช ืืคืืคืืืจืืื ืืืืชืจ ืืงืจื ืืคืชืืื ืฉืืืืืื ืืืืืช ืฉืืืืฉืืื ืืื ืืชืื ืช.
ื'ื ืงืื ืก
ืฉืจืช ืืืืืืฆืื ืขืฆืืื ืืืืืืื ืืงืื ืคืชืื. ืืืื ืืขืืื ืืืชื ืืื ืืืฆืข ืืืืืืฆืื ืฉื ืื ืืื ื ืืฉืืืืช ืืงืฉืืจืืช ืืื ืืื, ืืืืงื, ืืฉืืื ืื ืคืจืืกื ืฉื ืชืืื ื.
ืืจืืฉืืช ืืื ืืืื ืืืืฉื:
- 256 MB RAM, 1 GB ืฉืื ืงืืืฅ.
ืืึนืคึผึฐืึดืืึธืึดื:
- 1 GB RAM, 50 GB ืืื ื ืงืฉืื.
ืืื ืืขืืื, ืชืืืงืง ืื ืืชืืื ื ื ืืกืคืช - Java Runtime Environment (JRE) ืืจืกื 8.
ืืืจืืืืงืืืจื (ืืืฉืื ืืืืืจ) ื ืจืืืช ืื:
Jenkins Server ืืื ืืชืงื ื ืฉืืืจืืืช ืขื ืืืจืื GUI, ืืื ืื ืขื ืืจืืื ืืืืฆืืข ื-build ืืืื.
Jenkins Node/Slave/Build Server - ืืืฉืืจืื ืฉื ืืชื ืืืืืืจ ืืืฆืข ืขืืืืช ืื ืืื ืืืขื ืืืืกืืจ (ืฆืืืช ืจืืฉื).
ืืชืงื ื ืขืืืจ ืืื ืืงืก
ืจืืฉืืช ืขืืื ืืืืกืืฃ ืืช ืืืืจ Jenkins ืืืขืจืืช:
cd /tmp && wget -q -O โ
ืขืืื ืืช ืืืืจ ืืืืืืืช:
ืขืืืื sudo
ืืชืงื ืืช ื'ื ืงืื ืก:
sudo apt ืืืชืงืื ืืช ื'ื ืงืื ืก
ืืืืจ ืืื, Jenkins ืืืื ืืืื ืืืขืจืืช ืืจื ืืฆืืืช ืืจืืจืช ืืืืื 8080.
ืืื ืืืืืง ืคืื ืงืฆืืื ืืืืช, ืขืืื ืืคืชืื ืืช ืืืชืืืช ืืืคืืคื
ืขืืฉืื ืืื ืืืื ืืคืขืืื, ืืชื ืืืื ืืืชืืื ืืืฆืืจ ืืจืืืืช CI/CD. ืืืืฉืง ืืืจืคื ืฉื ืฉืืืื ืืขืืืื ื ืจืื ืื:
ืืืืงืืช ื'ื ืงืื ืก:
- ืืืจืืืืช ืืืกืืคืงืช ืขื ืืื ืืจืืืืงืืืจืช ืืืืกืืจ/ืขืื;
- ืืืื ืืช ืฉื 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, ืกืืื ืื, ืชืืจื ืื ืืื, ืืฉืืื ืืช ืืฉืชืืฉ ืืืจืฉืืืช. ืืกื ืื ืชืื ืื ืืื ื ืืืื ืจืง ืืืื ื ืื ืืื ืืืคืฆืื.
ืืชืงื ื ืขืืืจ ืืื ืืงืก
ืืื ืืืชืงืื ืืืืคื ืืื ื ืืช TeamCity ืขื ืืืื servlet ืฉื Tomcat, ืขืืื ืืืฉืชืืฉ ืืืจืืืื TeamCity: TeamCity .tar.gz. ืืืจื
tar -xfz TeamCity.tar.gz
/bin/runAll. ืฉ [ืืชืื|ืขืฆืืจ]
ืืืฉืจ ืืชื ืืชืืื ืืจืืฉืื ื, ืขืืื ืืืืืจ ืืช ืกืื ืืกื ืื ืชืื ืื ืฉืื ืืืืืกื ื ื ืชืื ื ืืืจืืื.
ืชืฆืืจืช ืืจืืจืช ืืืืื ืคืืขืืช ืขื
ืืืืืงืืช ืฉื TeamCity:
- ืืชืงื ื ืงืื;
- ืืืฉืง ืืืืืืชื ืืืฉืชืืฉ;
- ืืกืคืจ ืจื ืฉื ืคืื ืงืฆืืืช ืืืื ืืช;
- ืฉืืจืืช ืชืืืื;
- ืืฉ RESTful API;
- ืชืืขืื ืืื;
- ืืืืื ืืืื.
ืืกืจืื ืืช:
- ืืื ืืืจืฆืื ืืืืืืช;
- ืืื ืืื ืืชืฉืืื;
- ืงืืืื ืงืื ื (ืฉืขื ืืืช, ืืืืืช ืืืืื).
GoCD
ืคืจืืืงื ืงืื ืคืชืื ืืืืจืฉ Java Runtime Environment (JRE) ืืจืกื 8 ืืืชืงื ื ืืชืคืขืื.
ะกะธััะตะผะฝัะต ััะตะฑะพะฒะฐะฝะธั:
- ืืืืจืื RAM - ืืื ืืืื 1 GB, ืืืชืจ ืืื ืืืชืจ;
- ืืขืื - ืืคืื ืืืื, ืขื ืชืืจ ืืืื ืฉื 2 GHz;
- ืืื ื ืงืฉืื - ืืคืืืช 1 GB ืฉื ืืงืื ืคื ืื.
ืกืึนืึตื:
- ืืืืจืื RAM - ืืคืืืช 128 ืืื-ืืืื, ืืืชืจ ืขืืืฃ;
- ืืขืื - ืืคืืืช 2 GHz.
ืืฉืจืช ืืืืื ืืช ืคืขืืืช ืืกืืื ืื ืืืกืคืง ืืืฉืง ื ืื ืืืฉืชืืฉ:
ืฉืืืื/ืขืืืืืช/ืืฉืืืืช:
ืืชืงื ื ืขืืืจ ืืื ืืงืก
ืื "ืื
ืชืืชื
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 ืคืืขื
ืืืืืงืืช ืฉื GoCd:
- ืงืื ืคืชืื;
- ืืชืงื ื ืืชืฆืืจื ืคืฉืืื;
- ืชืืขืื ืืื;
- ืืืฉืง ืืฉืชืืฉ ืืขืืื:
- ืืืืืช ืืืจืืืช ืฉืื ืืืจ ืฉืื ื ืชืื ืคืจืืกืช GoCD ืืชืฆืืื ืืืช:
- ืชืฆืืื ืืฆืืื ืช ืฉื ืืื ื ืืฆืื ืืจ:
- GoCD ืืืืขื ืืช ืืจืืืช ืืขืืืื ืฉื ืืชืงืืืืืจืื ืืกืืืืืช ืืขื ื ืืคืืคืืืจืืืช ืืืืชืจ ืืืื Docker, AWS;
- ืืืื ืืืคืฉืจ ืืชืงื ืืขืืืช ืืฆื ืจืช, ืฉืืืืืื ืืฉ ืืขืงื ืืืจ ืื ืฉืื ืื ืืืชืืืืืืช ืืคืจืืกื ืืืื ืืืช.
ืืกืจืื ืืช:
- ืืฉ ืฆืืจื ืืกืืื ืืื ืืคืืืช;
- ืืื ืืกืืฃ ืืืฆืืช ืื ืืืฉืืืืช ืฉืืืฉืืื;
- ืืื ืืืฆืข ืื ืคืงืืื, ืขืืื ืืืฆืืจ ืืฉืืื ืืืช ืขืืืจ ืชืฆืืจืช ืืฆืื ืืจ;
- ืืื ืืืชืงืื ืืช ืืคืืืืื ืขืืื ืืืขืืืจ ืืช ืงืืืฅ ื-.jar ืื /plugins/external ืืืคืขื ืืืืฉ ืืช ืืฉืจืช;
- ืงืืืื ืงืื ื ืืืกืืช.
ืืืกืงื ื
ืืื ืจืง ืฉืืืฉื ืืืื, ืืืขืฉื ืืฉ ืขืื ืจืืื. ืงืฉื ืืืืืจ, ืื ืืชื ืืืืื ืฆืจืื ืืฉืื ืื ืืืืืืื ื ืืกืคืื.
ืงืื ืืืงืืจ ืืคืชืื ืฉื ืืืื ืืืคืฉืจ ืืืืื ืื ืื, ืื ืืกืฃ ืืืืกืืฃ ืชืืื ืืช ืืืฉืืช ืืืจ ืืืชืจ. ืืื ืื ืืฉืื ืื ืขืืื, ืื ืืชื ืฆืจืื ืืกืืื ืจืง ืขื ืขืฆืื ืืขื ืืขืืจื ืฉื ืืงืืืื. ืืืื ืืชืฉืืื ืืกืคืงืื ืชืืืื ืฉืืขืืชืื ืืืืื ืืืืืช ืงืจืืืืช.
ืื ืืืืืื ืืื ืืจืืฉ ืกืืจ ืืขืืืคืืืืช ืฉืื, ืืืื ืืขืืื ืขื ืืื ืืงืืื. ืื ืื, ืื ืืืืจืช ืคืชืจืื SaaS ืืื ืืคืฉืจืืช ืืืื.
ืืืืกืืฃ, ืขื ืื ืช ืืืืืื ืชืืืื ืคืจืืกื ืืชืืฉื ืืขืื ืืืืช, ืขืืื ืืืืฉ ืงืจืืืจืืื ืื ืฉืืคืจืืื ืฉืืื ืืืคืฉืจื ืื ืืฆืืฆื ืืช ืืืืื ืืืืื ืืืืื ืื.
Skillbox ืืืืืฆื:
- ืงืืจืก ืืขืฉื ืฉื ืชืืื
"ืื ื ืืคืชื ืืชืจืื PRO" .- ืงืืจืก ืืงืืื
"ืืคืชื C#" .- ืงืืจืก ืืขืฉื ืื ืฉื ื
"ืืคืชื PHP ื-0 ื-PRO" .
ืืงืืจ: www.habr.com