Тасралтгүй байршуулалтыг зохион байгуулах 3 алдартай хэрэгсэл (Тасралтгүй байршуулалт)

Тасралтгүй байршуулалтыг зохион байгуулах 3 алдартай хэрэгсэл (Тасралтгүй байршуулалт)

Тасралтгүй байршуулалт нь програм хангамжийн төрөл бүрийн функцийг хурдан, аюулгүй, үр дүнтэй хэрэгжүүлэхэд ашигладаг програм хангамж хөгжүүлэх тусгай арга юм.

Гол санаа нь хөгжүүлэгчид бэлэн бүтээгдэхүүнийг хэрэглэгчдэд хурдан хүргэх найдвартай автомат процессыг бий болгох явдал юм. Үүний зэрэгцээ үйлдвэрлэлд байнгын өөрчлөлтүүд хийгддэг - үүнийг тасралтгүй дамжуулах хоолой (CD дамжуулах хоолой) гэж нэрлэдэг.

Skillbox зөвлөж байна: Практик курс "Мобайл хөгжүүлэгч PRO".

Бид танд сануулж байна: "Хабр" -ын бүх уншигчдад - "Habr" сурталчилгааны кодыг ашиглан Skillbox-ын аль ч курст бүртгүүлэхдээ 10 рублийн хөнгөлөлт.

Тасралтгүй байршуулалтыг зохион байгуулах 3 алдартай хэрэгсэл (Тасралтгүй байршуулалт)

Урсгалыг хянахын тулд та төлбөртэй болон бүрэн үнэ төлбөргүй гэх мэт өргөн хүрээний хэрэгслийг ашиглаж болно. Энэ нийтлэлд програмист бүрт хэрэгтэй байж болох хөгжүүлэгчдийн дунд хамгийн алдартай гурван шийдлийг тайлбарласан болно.

Jenkins

Бүрэн бие даасан нээлттэй эхийн автоматжуулалтын сервер. Програм хангамжийг бүтээх, турших, тээвэрлэх, байршуулахтай холбоотой бүх төрлийн ажлыг автоматжуулахын тулд хамтран ажиллах нь зүйтэй.

Компьютерийн хамгийн бага шаардлага:

  • 256 MB RAM, 1 ГБ файлын зай.

Хамгийн оновчтой:

  • 1 GB RAM, 50 GB хатуу диск.

Ажиллахын тулд танд нэмэлт програм хангамж хэрэгтэй болно - Java Runtime Environment (JRE) хувилбар 8.

Архитектур (тархсан тооцоолол) дараах байдалтай байна.
Тасралтгүй байршуулалтыг зохион байгуулах 3 алдартай хэрэгсэл (Тасралтгүй байршуулалт)

Jenkins Server нь GUI хостинг, мөн угсралтыг бүхэлд нь зохион байгуулж, гүйцэтгэх үүрэгтэй суурилуулалт юм.

Jenkins Node/Slave/Build Server - Мастер (үндсэн зангилаа)-ийн өмнөөс бүтээх ажлыг гүйцэтгэхээр тохируулж болох төхөөрөмжүүд.

Linux-д зориулсан суулгац

Эхлээд та 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

Женкинс суулгах:

sudo apt jenkins суулгана

Үүний дараа Женкинс нь анхдагч 8080 портоор дамжуулан системд ажиллах боломжтой болно.

Үйл ажиллагааг шалгахын тулд та хөтөч дээр хаягаа нээх хэрэгтэй тестлээрэй:8080. Дараа нь систем нь үндсэн хэрэглэгчийн анхны нууц үгийг оруулахыг танаас хүсэх болно. Энэ нууц үг нь /var/lib/jenkins/secrets/initialAdminPassword файлд байрладаг.

Одоо бүх зүйл ажиллахад бэлэн болсон тул та CI/CD урсгалыг үүсгэж эхлэх боломжтой. Ажлын ширээний график интерфэйс дараах байдалтай байна.

Тасралтгүй байршуулалтыг зохион байгуулах 3 алдартай хэрэгсэл (Тасралтгүй байршуулалт)

Тасралтгүй байршуулалтыг зохион байгуулах 3 алдартай хэрэгсэл (Тасралтгүй байршуулалт)

Женкинсийн давуу тал:

  • Master/Slave архитектураар хангагдсан өргөтгөх чадвар;
  • REST XML/JSON API-ийн бэлэн байдал;
  • залгаасуудын ачаар олон тооны өргөтгөлүүдийг холбох чадвар;
  • идэвхтэй, байнга хөгжиж буй нийгэмлэг.

Нөхцөл байдал:

  • аналитик блок байхгүй;
  • маш ээлтэй интерфэйс биш.

TeamCity

JetBrains-ийн арилжааны хөгжил. Сервер нь энгийн тохиргоо, маш сайн интерфейстэй сайн. Анхдагч тохиргоо нь олон тооны функцтэй бөгөөд боломжтой залгаасуудын тоо байнга нэмэгдэж байна.

Java Runtime Environment (JRE) хувилбар 8 шаардлагатай.

Серверийн техник хангамжийн шаардлага нь чухал биш юм:

  • RAM - 3,2 ГБ;
  • процессор - хоёр цөмт, 3,2 GHz;
  • 1 Гб/с хүчин чадалтай холбооны суваг.

Сервер нь өндөр гүйцэтгэлд хүрэх боломжийг танд олгоно:

  • 60 бүтээх тохиргоотой 300 төсөл;
  • Барилгын бүртгэлд 2 МБ хуваарилах;
  • 50 бүтээх агент;
  • вэб хувилбарт 50 хэрэглэгч, IDE дээр 30 хэрэглэгчтэй ажиллах чадвар;
  • Гадаад VCS-ийн 100 холболт, ихэвчлэн Perforce болон Subversion. Дундаж өөрчлөлтийн хугацаа 120 секунд;
  • өдөрт 150 гаруй өөрчлөлт;
  • нэг сервер дээр мэдээллийн сантай ажиллах;
  • JVM серверийн процессын тохиргоо: -Xmx1100m -XX:MaxPermSize=120m.

Агентын шаардлагууд нь ажиллаж байгаа угсралт дээр суурилдаг. Серверийн гол үүрэг бол бүх холбогдсон агентуудыг хянаж, нийцтэй байдлын шаардлагад үндэслэн дараалалд орсон угсралтыг эдгээр агентуудад тарааж, үр дүнг тайлагнах явдал юм. Агентууд нь янз бүрийн платформ, үйлдлийн систем, мөн урьдчилан тохируулсан орчинд ирдэг.

Барилгын үр дүнгийн талаархи бүх мэдээлэл мэдээллийн санд хадгалагдана. Энэ нь үндсэндээ түүх болон бусад ижил төстэй өгөгдөл, VCS-ийн өөрчлөлт, агентууд, бүтээх дараалал, хэрэглэгчийн бүртгэл, зөвшөөрөл юм. Мэдээллийн санд зөвхөн барилгын бүртгэл, эд өлгийн зүйлс ордоггүй.

Тасралтгүй байршуулалтыг зохион байгуулах 3 алдартай хэрэгсэл (Тасралтгүй байршуулалт)

Linux-д зориулсан суулгац

TeamCity-г Tomcat сервлет контейнерээр гараар суулгахын тулд TeamCity архивыг ашиглах хэрэгтэй: TeamCity .tar.gz. Татаж авах эндээс авч болно.

tar -xfz TeamCity.tar.gz

/bin/runAll. sh [эхлэх|зогсох]

Эхлээд та угсралтын өгөгдлийг хадгалах мэдээллийн сангийн төрлийг сонгох хэрэгтэй.

Тасралтгүй байршуулалтыг зохион байгуулах 3 алдартай хэрэгсэл (Тасралтгүй байршуулалт)

Өгөгдмөл тохиргоо нь ажиллана тестлээрэй:8111/ нэг компьютер дээр ажиллаж байгаа нэг бүртгэлтэй бүтээх агенттай.

TeamCity-ийн давуу тал:

  • энгийн тохиргоо;
  • хэрэглэгчийн ээлтэй интерфэйс;
  • олон тооны суурилуулсан функцууд;
  • Туслах үйлчилгээ;
  • RESTful API байдаг;
  • сайн баримт бичиг;
  • сайн хамгаалалт.

Нөхцөл байдал:

  • хязгаарлагдмал интеграци;
  • Энэ бол төлбөртэй хэрэгсэл юм;
  • жижиг нийгэмлэг (гэхдээ энэ нь өсч байна).

GoCD

Суулгах, ажиллуулахад Java Runtime Environment (JRE) 8 хувилбарыг шаарддаг нээлттэй эхийн төсөл.

Системийн шаардлага:

  • RAM - хамгийн багадаа 1 ГБ, илүү их байх нь дээр;
  • процессор - хоёр цөмт, үндсэн давтамж 2 GHz;
  • хатуу диск - дор хаяж 1 ГБ сул зай.

Агент:

  • RAM - дор хаяж 128 MB, илүү их байх нь дээр;
  • процессор - дор хаяж 2 GHz.

Сервер нь агентуудын ажиллагааг хангаж, хэрэглэгчдэд тохиромжтой интерфэйсийг хангадаг.

Тасралтгүй байршуулалтыг зохион байгуулах 3 алдартай хэрэгсэл (Тасралтгүй байршуулалт)

Үе шат/ажил/даалгавар:

Тасралтгүй байршуулалтыг зохион байгуулах 3 алдартай хэрэгсэл (Тасралтгүй байршуулалт)

Linux-д зориулсан суулгац

цуурай "деб download.gocd.org /” | sudo tee /etc/apt/sources.list.d/gocd.list

curl download.gocd.org/GOCD-GPG-KEY.asc | sudo apt товчлуур нэмэх -
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 ажиллаж байна тестлээрэй: 8153.

GoCd-ийн давуу талууд:

  • нээлттэй эх сурвалж;
  • энгийн суурилуулалт, тохиргоо;
  • сайн баримт бичиг;

  • Хэрэглэгчийн гайхалтай интерфэйс:

Тасралтгүй байршуулалтыг зохион байгуулах 3 алдартай хэрэгсэл (Тасралтгүй байршуулалт)

  • алхам алхмаар GoCD байршуулах замыг нэг харцаар харуулах чадвар:

Тасралтгүй байршуулалтыг зохион байгуулах 3 алдартай хэрэгсэл (Тасралтгүй байршуулалт)

  • Дамжуулах хоолойн бүтцийг маш сайн харуулсан:

Тасралтгүй байршуулалтыг зохион байгуулах 3 алдартай хэрэгсэл (Тасралтгүй байршуулалт)

  • GoCD нь Docker, AWS зэрэг хамгийн алдартай үүлэн орчинд CD-ийн ажлын урсгалыг оновчтой болгодог;
  • Энэхүү хэрэгсэл нь дамжуулах хоолойд гарсан асуудлуудыг засах боломжийг олгодог бөгөөд үүний тулд амлалтаас эхлээд байршуулах хүртэлх өөрчлөлт бүрийг бодит цаг хугацаанд хянаж байдаг.

Нөхцөл байдал:

  • дор хаяж нэг төлөөлөгч шаардлагатай;
  • бүх дууссан ажлуудыг харуулах консол байхгүй;
  • команд бүрийг гүйцэтгэхийн тулд дамжуулах хоолойн тохиргоонд зориулж нэг даалгавар үүсгэх хэрэгтэй;
  • Залгаасыг суулгахын тулд та .jar файлыг зөөх хэрэгтэй / залгаасууд / гадаад болон серверийг дахин эхлүүлэх;
  • харьцангуй жижиг нийгэмлэг.

Дүгнэж хэлэхэд

Эдгээр нь ердөө гурван хэрэгсэл, үнэндээ өөр олон хэрэгсэл байдаг. Сонгох нь хэцүү тул та нэмэлт зүйлд анхаарлаа хандуулах хэрэгтэй.

Хэрэгслийн нээлттэй эх код нь энэ нь юу болохыг ойлгох, шинэ функцуудыг илүү хурдан нэмэх боломжийг олгодог. Гэхдээ ямар нэг зүйл болохгүй бол та зөвхөн өөртөө болон олон нийтийн тусламжид найдах хэрэгтэй. Төлбөртэй хэрэгслүүд нь заримдаа маш чухал байж болох дэмжлэг үзүүлдэг.

Хэрэв аюулгүй байдал нь таны хамгийн чухал зүйл бол орон нутгийн хэрэгсэлтэй ажиллах нь зүйтэй. Хэрэв тийм биш бол SaaS шийдлийг сонгох нь сайн сонголт юм.

Эцэст нь, үнэхээр үр дүнтэй тасралтгүй байршуулах үйл явцыг хангахын тулд та боломжит хэрэгслүүдийн хүрээг багасгах шалгууруудыг бий болгох хэрэгтэй.

Skillbox зөвлөж байна:

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх