Awọn irinṣẹ olokiki 3 fun siseto imuṣiṣẹ lemọlemọfún (Ilọsiwaju Ilọsiwaju)

Awọn irinṣẹ olokiki 3 fun siseto imuṣiṣẹ lemọlemọfún (Ilọsiwaju Ilọsiwaju)

Ilọsiwaju Ilọsiwaju jẹ ọna pataki ni idagbasoke sọfitiwia ti o lo lati yara, lailewu ati ni imunadoko awọn iṣẹ lọpọlọpọ ninu sọfitiwia.

Ero akọkọ ni lati ṣẹda ilana adaṣe adaṣe ti o ni igbẹkẹle ti o fun laaye olupilẹṣẹ lati firanṣẹ ọja ti o pari ni iyara si olumulo. Ni akoko kanna, awọn ayipada igbagbogbo ni a ṣe si iṣelọpọ - eyi ni a pe ni opo gigun ti ifijiṣẹ lemọlemọfún (Paipu CD).

Skillbox ṣe iṣeduro: Ilana ti o wulo "Olugbese Alagbeka PRO".

A leti: fun gbogbo awọn oluka ti "Habr" - ẹdinwo ti 10 rubles nigbati o forukọsilẹ ni eyikeyi iṣẹ-ẹkọ Skillbox nipa lilo koodu ipolowo “Habr”.

Awọn irinṣẹ olokiki 3 fun siseto imuṣiṣẹ lemọlemọfún (Ilọsiwaju Ilọsiwaju)

Lati ṣakoso ṣiṣan naa, o le lo ọpọlọpọ awọn irinṣẹ, pẹlu isanwo mejeeji ati ọfẹ patapata. Nkan yii ṣe apejuwe mẹta ti awọn solusan olokiki julọ laarin awọn olupilẹṣẹ ti o le wulo fun gbogbo olupilẹṣẹ.

Jenkins

Olupin adaṣiṣẹ orisun ṣiṣi ti ara ẹni ni kikun. O tọ lati ṣiṣẹ pẹlu adaṣe adaṣe gbogbo iru awọn iṣẹ ṣiṣe ti o ni ibatan si kikọ, idanwo, sowo, tabi imuṣiṣẹ sọfitiwia.

Awọn ibeere PC ti o kere julọ:

  • 256 MB Ramu, 1 GB faili aaye.

Ti o dara julọ:

  • 1 GB Ramu, 50 GB dirafu lile.

Lati ṣiṣẹ, iwọ yoo tun nilo sọfitiwia afikun - Java Runtime Environment (JRE) version 8.

Awọn faaji (iṣiro pinpin) dabi eyi:
Awọn irinṣẹ olokiki 3 fun siseto imuṣiṣẹ lemọlemọfún (Ilọsiwaju Ilọsiwaju)

Jenkins Server jẹ fifi sori ẹrọ ti o jẹ iduro fun alejo gbigba GUI, bakanna bi siseto ati ṣiṣe gbogbo kikọ.

Jenkins Node/Ẹrú/ Kọ Server - awọn ẹrọ ti o le wa ni tunto lati a ṣe iṣẹ ikole lori dípò ti Titunto (titunto si ipade).

Fifi sori ẹrọ fun Linux

Ni akọkọ o nilo lati ṣafikun ibi ipamọ Jenkins si eto naa:

cd /tmp && wget -q -O — pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - iwoyi 'deb pkg.jenkins.io/debian-idurosinsin alakomeji/' | sudo tee -a /etc/apt/sources.list.d/je

Ṣe imudojuiwọn ibi ipamọ package:

imudojuiwọn imudojuiwọn

Fi Jenkins sori ẹrọ:

sudo apt fi sori ẹrọ jenkins

Lẹhin eyi, Jenkins yoo wa ninu eto nipasẹ ibudo aiyipada 8080.

Lati ṣayẹwo iṣẹ ṣiṣe, o nilo lati ṣii adirẹsi ninu ẹrọ aṣawakiri localhost:8080. Awọn eto yoo ki o si tọ ọ lati tẹ awọn ni ibẹrẹ ọrọigbaniwọle fun awọn root olumulo. Ọrọigbaniwọle yii wa ninu faili /var/lib/jenkins/secrets/initialAdminPassword.

Bayi ohun gbogbo ti ṣetan lati lọ, o le bẹrẹ ṣiṣẹda awọn ṣiṣan CI / CD. Ni wiwo ayaworan ti workbench dabi eyi:

Awọn irinṣẹ olokiki 3 fun siseto imuṣiṣẹ lemọlemọfún (Ilọsiwaju Ilọsiwaju)

Awọn irinṣẹ olokiki 3 fun siseto imuṣiṣẹ lemọlemọfún (Ilọsiwaju Ilọsiwaju)

Awọn Agbara Jenkins:

  • scalability ti a pese nipasẹ Titunto si / Ẹrú faaji;
  • wiwa REST XML/JSON API;
  • agbara lati sopọ nọmba nla ti awọn amugbooro ọpẹ si awọn afikun;
  • ti nṣiṣe lọwọ ati ki o nigbagbogbo dagbasi awujo.

Konsi:

  • ko si analitikali Àkọsílẹ;
  • ko gan olumulo ore-ni wiwo.

TeamCity

Idagbasoke iṣowo lati JetBrains. Olupin naa dara pẹlu iṣeto ti o rọrun ati wiwo ti o dara julọ. Iṣeto aiyipada ni nọmba nla ti awọn iṣẹ, ati nọmba awọn afikun ti o wa ti n pọ si nigbagbogbo.

Nilo Java Runtime Environment (JRE) ẹya 8.

Awọn ibeere ohun elo olupin ko ṣe pataki:

  • Ramu - 3,2 GB;
  • isise - meji-mojuto, 3,2 GHz;
  • ikanni ibaraẹnisọrọ pẹlu agbara ti 1 Gb / s.

Olupin naa gba ọ laaye lati ṣaṣeyọri iṣẹ ṣiṣe giga:

  • Awọn iṣẹ akanṣe 60 pẹlu awọn atunto kọ 300;
  • 2 MB ipin fun Kọ log;
  • 50 kọ awọn aṣoju;
  • agbara lati ṣiṣẹ pẹlu awọn olumulo 50 ni ẹya wẹẹbu ati awọn olumulo 30 ni IDE;
  • Awọn asopọ 100 ti VCS ita, nigbagbogbo Perforce ati Subversion. Akoko iyipada apapọ jẹ awọn aaya 120;
  • diẹ ẹ sii ju awọn iyipada 150 fun ọjọ kan;
  • ṣiṣẹ pẹlu ibi ipamọ data lori olupin kan;
  • Awọn eto ilana olupin JVM: -Xmx1100m -XX: MaxPermSize=120m.

Awọn ibeere aṣoju da lori ṣiṣe awọn apejọ. Iṣẹ akọkọ ti olupin ni lati ṣe atẹle gbogbo awọn aṣoju ti o ni asopọ ati pinpin awọn apejọ ti ila si awọn aṣoju wọnyi ti o da lori awọn ibeere ibamu, jijabọ awọn abajade. Awọn aṣoju wa ni ọpọlọpọ awọn iru ẹrọ ati awọn ọna ṣiṣe, pẹlu agbegbe ti a tunto tẹlẹ.

Gbogbo alaye nipa awọn abajade kikọ ti wa ni ipamọ ni ibi ipamọ data. Ni akọkọ eyi jẹ itan-akọọlẹ ati data miiran ti o jọra, awọn iyipada VCS, awọn aṣoju, awọn ila ti o kọ, awọn akọọlẹ olumulo ati awọn igbanilaaye. Ibi-ipamọ data ko pẹlu awọn akọọlẹ kikọ ati awọn ohun-ọṣọ nikan.

Awọn irinṣẹ olokiki 3 fun siseto imuṣiṣẹ lemọlemọfún (Ilọsiwaju Ilọsiwaju)

Fifi sori ẹrọ fun Linux

Lati fi sori ẹrọ TeamCity pẹlu ọwọ pẹlu apoti servlet Tomcat, o yẹ ki o lo ile-ipamọ TeamCity: TeamCity .tar.gz. Gba lati ayelujara o le gba lati ibi.

tar -xfz TeamCity.tar.gz

/bin/runGbogbo. sh [ibẹrẹ|duro]

Nigbati o ba bẹrẹ akọkọ, o nilo lati yan iru data data ninu eyiti data apejọ yoo wa ni ipamọ.

Awọn irinṣẹ olokiki 3 fun siseto imuṣiṣẹ lemọlemọfún (Ilọsiwaju Ilọsiwaju)

Awọn aiyipada iṣeto ni nṣiṣẹ lori localhost: 8111 / pẹlu ọkan ti a forukọsilẹ ti o forukọsilẹ ti o nṣiṣẹ lori PC kanna.

Awọn agbara TeamCity:

  • iṣeto ti o rọrun;
  • ni wiwo olumulo;
  • nọmba nla ti awọn iṣẹ ti a ṣe sinu;
  • Iṣẹ atilẹyin;
  • API RESTful kan wa;
  • iwe ti o dara;
  • ti o dara aabo.

Konsi:

  • lopin Integration;
  • Eleyi jẹ a san ọpa;
  • agbegbe kekere kan (eyiti, sibẹsibẹ, n dagba).

GoCD

Ise agbese orisun ṣiṣi ti o nilo Java Runtime Environment (JRE) ẹya 8 fun fifi sori ẹrọ ati iṣẹ.

Awọn ibeere eto:

  • Ramu - o kere ju 1 GB, diẹ sii dara julọ;
  • isise - meji-mojuto, pẹlu kan mojuto igbohunsafẹfẹ ti 2 GHz;
  • dirafu lile - o kere ju 1 GB ti aaye ọfẹ.

Aṣoju:

  • Ramu - o kere ju 128 MB, diẹ sii dara julọ;
  • isise - o kere 2 GHz.

Olupin naa ṣe idaniloju iṣẹ ti awọn aṣoju ati pese wiwo irọrun fun olumulo:

Awọn irinṣẹ olokiki 3 fun siseto imuṣiṣẹ lemọlemọfún (Ilọsiwaju Ilọsiwaju)

Awọn ipele/Awọn iṣẹ/Awọn iṣẹ-ṣiṣe:

Awọn irinṣẹ olokiki 3 fun siseto imuṣiṣẹ lemọlemọfún (Ilọsiwaju Ilọsiwaju)

Fifi sori ẹrọ fun Linux

iwoyi "deb download.gocd.org /" | sudo tee /etc/apt/sources.list.d/gocd.list

ọmọ-iwe download.gocd.org/GOCD-GPG-KEY.asc | sudo apt-key fikun-
add-apt-ibi ipamọ ppa: openjdk-r/ppa

apt-gba imudojuiwọn

apt-gba fi sori ẹrọ -y openjdk-8-jre

apt-gba fi sori ẹrọ go-server

apt-gba fi sori ẹrọ go-aṣoju

/etc/init.d/go-server [ibẹrẹ|duro|ipo|tun bẹ̀rẹ̀]

/etc/init.d/go-agent [ibẹrẹ|duro|ipo|tun bẹ̀rẹ̀]

Nipa aiyipada GoCd nṣiṣẹ lori localhost: 8153.

Awọn agbara GoCd:

  • ìmọ orisun;
  • o rọrun fifi sori ati iṣeto ni;
  • iwe ti o dara;

  • Ni wiwo olumulo nla:

Awọn irinṣẹ olokiki 3 fun siseto imuṣiṣẹ lemọlemọfún (Ilọsiwaju Ilọsiwaju)

  • agbara lati ṣafihan ọna imuṣiṣẹ GoCD ni igbese-nipasẹ-igbesẹ ni wiwo kan:

Awọn irinṣẹ olokiki 3 fun siseto imuṣiṣẹ lemọlemọfún (Ilọsiwaju Ilọsiwaju)

  • ifihan ti o dara julọ ti ọna opo gigun ti epo:

Awọn irinṣẹ olokiki 3 fun siseto imuṣiṣẹ lemọlemọfún (Ilọsiwaju Ilọsiwaju)

  • GoCD ṣe iṣapeye iṣan-iṣẹ CD ni awọn agbegbe awọsanma olokiki julọ pẹlu Docker, AWS;
  • ọpa jẹ ki o ṣee ṣe lati ṣe atunṣe awọn iṣoro ni opo gigun ti epo, eyiti o wa ni ipasẹ gbogbo iyipada lati ifaramọ si imuṣiṣẹ ni akoko gidi.

Konsi:

  • o kere ju aṣoju kan nilo;
  • ko si console lati ṣafihan gbogbo awọn iṣẹ ṣiṣe ti o pari;
  • lati ṣiṣẹ aṣẹ kọọkan, o nilo lati ṣẹda iṣẹ-ṣiṣe kan fun iṣeto opo gigun ti epo;
  • Lati fi ohun itanna sii o nilo lati gbe faili .jar si / afikun / ita ati tun olupin naa bẹrẹ;
  • jo kekere awujo.

Bi ipari

Iwọnyi jẹ awọn irinṣẹ mẹta, ni otitọ ọpọlọpọ diẹ sii wa. O nira lati yan, nitorinaa o nilo lati fiyesi si awọn aaye afikun.

Koodu orisun ṣiṣi ti ọpa jẹ ki o ṣee ṣe lati loye kini o jẹ, pẹlu ṣafikun awọn ẹya tuntun ni iyara. Ṣugbọn ti nkan ko ba ṣiṣẹ, lẹhinna o ni lati gbẹkẹle ararẹ nikan ati iranlọwọ ti agbegbe. Awọn irinṣẹ isanwo pese atilẹyin ti o le ṣe pataki nigbakan.

Ti aabo ba jẹ pataki akọkọ rẹ, o tọ lati ṣiṣẹ pẹlu ohun elo agbegbe kan. Ti kii ba ṣe bẹ, lẹhinna yiyan ojutu SaaS jẹ aṣayan ti o dara.

Ati nikẹhin, lati rii daju ilana imuṣiṣẹ lemọlemọfún ti o munadoko nitootọ, o nilo lati ṣe agbekalẹ awọn agbekalẹ eyiti awọn pato yoo gba ọ laaye lati dín iwọn awọn irinṣẹ to wa.

Skillbox ṣe iṣeduro:

orisun: www.habr.com

Fi ọrọìwòye kun