Женкинсийн тулаан ба GitLab CI/CD

Сүүлийн арван жилийн хугацаанд тасралтгүй интеграци (CI) болон тасралтгүй байршуулах (CD) хэрэгслүүдийг хөгжүүлэхэд ихээхэн ахиц дэвшил гарсан. Програм хангамжийн хөгжүүлэлт, үйл ажиллагааг нэгтгэх технологи (Development Operations, DevOps) нь CI/CD хэрэгслийн эрэлт хэрэгцээг хурдацтай нэмэгдүүлэхэд хүргэсэн. Одоо байгаа шийдлүүдийг байнга сайжруулж, цаг үетэйгээ хөл нийлүүлэн алхаж, шинэ хувилбарууд гарч, олон шинэ бүтээгдэхүүнүүд програм хангамжийн чанарын баталгаа (QA) ертөнцөд байнга гарч ирдэг. Ийм баялаг сонголттой тул зөв хэрэгсэл сонгох нь тийм ч амар ажил биш юм.

Женкинсийн тулаан ба GitLab CI/CD

Одоо байгаа бүх CI/CD хэрэглүүрүүдийн дунд энэ чиглэлээр ямар нэгэн зүйл хайж байгаа хүмүүст анхаарах ёстой хоёр төсөл бий. Бид Женкинс болон GitLab платформын нэг хэсэг болох GitLab CI/CD хэрэгслийн тухай ярьж байна. Женкинс илүү их зүйлтэй 16000 GitHub дээрх одууд. gitlab.com дээрх GitLab репозитор бага зэрэг нэмэгдсэн 2000 одод Хэрэв бид репозиторуудын алдар нэрийг харьцуулж үзвэл Женкинс GitLab CI/CD агуулсан платформоос 8 дахин илүү од авсан нь харагдаж байна. Гэхдээ CI/CD хэрэгслийг сонгохдоо энэ нь анхаарах ёстой цорын ганц үзүүлэлт биш юм. Өөр олон зүйл байдаг бөгөөд энэ нь яагаад Женкинс болон GitLab CI/CD хоёр хоорондоо маш ойрхон байгааг тайлбарлаж байна.

Жишээлбэл, G2 платформын өгөгдлийг авч үзье, үүнд олон төрлийн бүтээгдэхүүний тойм, хэрэглэгчдийн өгсөн үнэлгээг цуглуулдаг. Энд дундаж үнэлгээ байна Jenkins288 тоймоос авсан 4,3 одтой. Өө GitLab Энд 270 тойм байгаа бөгөөд энэ хэрэгслийн дундаж үнэлгээ 4,4 од байна. Женкинс болон GitLab CI/CD нар хоорондоо ижил нөхцөлөөр өрсөлддөг гэвэл бид буруудахгүй байх. Женкинсийн төсөл 2011 онд гарч ирсэн бөгөөд тэр цагаас хойш тестерүүдийн дуртай хэрэгсэл болсон нь сонирхолтой юм. Гэхдээ үүнтэй зэрэгцэн 2014 онд эхлүүлсэн GitLab CI/CD төсөл нь энэхүү платформын санал болгож буй дэвшилтэт чадавхийн ачаар маш өндөр байр сууриа эзэлжээ.

Хэрэв бид бусад ижил төстэй платформуудтай харьцуулахад Женкинсийн алдартай байдлын талаар ярих юм бол Travis CI болон Jenkins платформуудыг харьцуулсан нийтлэлийг нийтлэсний дараа бид судалгаа зохион байгуулсныг тэмдэглэж байна. Үүнд 85 хэрэглэгч оролцсон. Судалгаанд оролцогчдоос хамгийн их таалагдсан CI/CD хэрэгслийг сонгохыг хүссэн. 79% нь Женкинс, 5% нь Travis CI, 16% нь бусад хэрэгслийг илүүд үздэг гэжээ.

Женкинсийн тулаан ба GitLab CI/CD
Судалгааны үр дүн

Бусад CI/CD хэрэгслүүдийн дотроос GitLab CI/CD-ийг ихэвчлэн дурддаг байсан.

Хэрэв та DevOps-ийн талаар нухацтай хандаж байгаа бол төслийн онцлог, төсөв болон бусад шаардлагыг харгалзан тохирох хэрэгслийг сайтар сонгох хэрэгтэй. Зөв сонголт хийхэд тань туслахын тулд бид Женкинс болон GitLab CI/CD-д дүн шинжилгээ хийх гэж байна. Энэ нь танд зөв сонголт хийхэд тусална гэж найдаж байна.

Женкинсийг танилцуулж байна

Женкинсийн тулаан ба GitLab CI/CD
Jenkins нь програм хангамжийн төслүүдтэй холбоотой олон ажлыг автоматжуулахад зориулагдсан алдартай, уян хатан CI/CD хэрэгсэл юм. Женкинс нь бүхэлдээ Java хэл дээр бичигдсэн бөгөөд MIT лицензийн дагуу гаргасан. Энэ нь програм хангамжийг бүтээх, турших, нэвтрүүлэх, нэгтгэх, гаргахтай холбоотой ажлуудыг автоматжуулахад чиглэсэн хүчирхэг чадамжтай. Энэ хэрэгслийг янз бүрийн үйлдлийн системд ашиглаж болно. Тэдгээрийн дотор macOS, Windows болон OpenSUSE, Ubuntu, Red Hat зэрэг олон Linux түгээлтүүд багтдаг. Төрөл бүрийн үйлдлийн системд зориулагдсан Jenkins суулгах багцууд байдаг бөгөөд энэ хэрэгслийг Docker болон JRE (Java Runtime Environment) бүхий ямар ч системд суулгаж болно.

Женкинсийн хөгжүүлэгчид Kubernetes орчинд ажиллахад зориулагдсан Jenkins X хэмээх өөр төслийг бүтээжээ. Jenkins X нь Helm, Jenkins CI/CD Server, Kubernetes болон DevOps-ийн шилдэг туршлагыг дагаж мөрддөг CI/CD дамжуулах шугамыг бүтээхэд зориулагдсан бусад хэрэгслүүдийг нэгтгэдэг. Жишээлбэл, GitOps програмыг энд ашигладаг.

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

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

Женкинсийн онцлог шинж чанарууд

Женкинсийн алдартай шинж чанаруудын нэг нь тохиргооны хялбар байдал, янз бүрийн үйл ажиллагааны өндөр түвшний автоматжуулалт, маш сайн баримт бичиг юм. Хэрэв бид DevOps-ийн асуудлыг шийдэх талаар ярих юм бол Женкинс нь маш найдвартай хэрэгсэл гэж тооцогддог бөгөөд үүнийг ашиглах нь дүрмээр бол төслийн боловсруулалтын үйл явцыг бүхэлд нь хянах нь утгагүй юм. Бусад CI/CD хэрэгслүүдийн хувьд энэ нь тийм биш юм. Женкинсийн хамгийн чухал шинж чанаруудын талаар ярилцъя.

▍1. Үнэгүй, нээлттэй эх сурвалж, олон платформ дэмждэг

Женкинс macOS, Windows болон Linux платформ дээр ажиллах боломжтой. Энэ нь мөн Docker орчинд ажиллах боломжтой бөгөөд энэ нь танд автоматжуулсан ажлуудыг жигд, хурдан зохион байгуулах боломжийг олгодог. Энэхүү хэрэгсэл нь Apache Tomcat, GlassFish зэрэг Java-г идэвхжүүлсэн контейнерт сервлет хэлбэрээр ажиллах боломжтой. Женкинсийг үр дүнтэй суулгаарай баримтжуулсан.

▍2. Хөгжүүлсэн залгаасуудын экосистем

Jenkins залгаасын экосистем нь бусад CI/CD хэрэгслүүдийн залгаасын экосистемтэй харьцуулахад илүү боловсронгуй болсон бололтой. Одоогоор Jenkins-д зориулсан 1500 гаруй залгаасууд байна. Эдгээр залгаасууд нь өргөн хүрээний асуудлыг шийдвэрлэхэд чиглэгддэг бөгөөд тэдгээрийн тусламжтайгаар та олон төрлийн төслүүдийг автоматжуулах боломжтой. Сонгох боломжтой үнэгүй залгаасуудын баялаг нь Jenkins-ийг ашигладаг хэн бүхэнд үнэтэй төлбөртэй залгаас худалдаж авах шаардлагагүй гэсэн үг юм. Боломж бий интеграци Женкинс олон DevOps хэрэгслүүдтэй.

▍3. Суурилуулах, тохируулахад хялбар

Женкинсийг суулгах, тохируулахад маш хялбар байдаг. Үүний зэрэгцээ системийг шинэчлэх үйл явц нь бас маш тохиромжтой. Женкинсийг суулгах, тохируулахтай холбоотой янз бүрийн асуултуудад хариулах боломжтой тул баримт бичгийн чанарыг энд дахин дурдах нь зүйтэй болов уу.

▍4. Найрсаг хамт олон

Өмнө дурьдсанчлан, Женкинс бол экосистемд асар олон тооны залгаасуудыг багтаасан нээлттэй эхийн төсөл юм. Женкинсийн эргэн тойронд төслийг хөгжүүлэхэд тусалдаг олон тооны хэрэглэгчид болон хөгжүүлэгчдийн нийгэмлэг байдаг. Олон нийт бол Женкинсийн хөгжлийг хөдөлгөдөг хүчин зүйлүүдийн нэг юм.

▍5. REST API ашиглах боломжтой

Женкинстэй ажиллахдаа та REST API-г ашиглаж болох бөгөөд энэ нь системийн чадавхийг өргөжүүлдэг. Системд алсаас хандах API-г XML, JSONP дэмжлэгтэй JSON, Python гэсэн гурван хувилбараар танилцуулж байна. энд Jenkins REST API-тай ажиллах талаарх дэлгэрэнгүй мэдээллийг агуулсан баримт бичгийн хуудас.

▍6. Зэрэгцээ даалгаврын дэмжлэг

Женкинс нь DevOps даалгавруудыг параллель болгохыг дэмждэг. Үүнийг холбогдох хэрэгслүүдтэй хялбархан нэгтгэж, ажлын үр дүнгийн талаар мэдэгдэл хүлээн авах боломжтой. Янз бүрийн виртуал машин ашиглан зэрэгцээ төслийн бүтээн байгуулалтыг зохион байгуулснаар кодын туршилтыг хурдасгаж болно.

▍7. Түгээмэл орчинд ажиллахад дэмжлэг үзүүлэх

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

GitLab-ийг танилцуулж байна

Женкинсийн тулаан ба GitLab CI/CD
GitLab CI/CD DevOps инженерүүдийн хамгийн шинэ, хамгийн дуртай хэрэгслүүдийн нэг гэж нэрлэж болно. Энэхүү үнэгүй, нээлттэй эхийн хэрэгсэл нь GitLab хувилбарын хяналтын системд суурилагдсан. GitLab платформ нь олон нийтийн хувилбартай бөгөөд энэ нь репозиторын менежмент, асуудлыг хянах хэрэгсэл, кодын тоймыг зохион байгуулах, баримт бичиг үүсгэхэд чиглэсэн механизмуудыг дэмждэг. Компаниуд GitLab-г газар дээрээ суулгаж, Active Directory болон LDAP серверүүдтэй холбож хэрэглэгчийн зөвшөөрөл, баталгаажуулалтыг хийх боломжтой.

энд GitLab CI/CD чадавхийг ашиглан CI/CD дамжуулах шугамыг хэрхэн бүтээх талаар сурахад туслах видео заавар.

GitLab CI/CD нь анх бие даасан төсөл хэлбэрээр гарсан боловч 2015 онд уг багажийг GitLab 8.0-д нэгтгэсэн. Ганц GitLab CI/CD сервер нь 25000 гаруй хэрэглэгчийг дэмжих боломжтой. Ийм серверүүд дээр үндэслэн та өндөр хүртээмжтэй системийг үүсгэж болно.

GitLab CI/CD болон үндсэн GitLab төсөл нь Ruby болон Go дээр бичигдсэн. Тэд MIT лицензийн дагуу суллагдсан. GitLab CI/CD нь CI/CD хэрэгслүүдийн ердийн боломжуудаас гадна ажлын төлөвлөлттэй холбоотой нэмэлт боломжуудыг дэмждэг.

GitLab CI/CD-г төсөлдөө нэгтгэх нь маш хялбар. GitLab CI/CD-г ашиглах үед төслийн кодыг боловсруулах үйл явц нь тодорхой дарааллаар гүйцэтгэсэн хэд хэдэн ажлуудаас бүрдэх үе шатуудад хуваагддаг. Даалгавруудыг нарийн тохируулж болно.

Даалгавруудыг зэрэгцүүлэн гүйцэтгэж болно. Үе шат, даалгаврын дарааллыг тохируулсны дараа CI/CD дамжуулах хоолой ажиллахад бэлэн боллоо. Та даалгаврын статусыг хянах замаар түүний явцыг хянах боломжтой. Үүний үр дүнд GitLab CI/CD ашиглах нь маш тохиромжтой, магадгүй бусад ижил төстэй хэрэгслүүдээс илүү тохиромжтой.

GitLab CI/CD болон GitLab-ийн онцлогууд

GitLab CI/CD бол хамгийн алдартай DevOps хэрэгслүүдийн нэг юм. Төсөл нь өндөр чанартай баримт бичгүүдээр ялгагдана, түүний чадавхи нь ашиглахад хялбар, тохиромжтой. Хэрэв та GitLab CI/CD-г шинээр ашиглаж байгаа бол уг хэрэгслийн дараах жагсаалт нь үүнээс юу хүлээж болох талаар ерөнхий ойлголт өгөх болно. Эдгээр функцуудын ихэнх нь GitLab CI/CD-г нэгтгэсэн GitLab платформтой холбоотой гэдгийг тэмдэглэх нь зүйтэй.

▍1. Алдартай байдал

GitLab CI/CD нь өргөн хэрэглээг олсон харьцангуй шинэ хэрэгсэл юм. GitLab CI/CD нь аажмаар программ хангамжийг автоматжуулсан туршилт, байршуулалтад ашигладаг маш алдартай CI/CD хэрэгсэл болсон. Тохируулахад хялбар. Энэ нь мөн GitLab платформд суурилуулсан үнэгүй CI/CD хэрэгсэл юм.

▍2. GitLab хуудас болон Jekyll-ийн дэмжлэг

Jekyll бол GitLab хуудасны системд GitLab репозиторууд дээр суурилсан сайтуудыг үүсгэхэд ашиглаж болох статик сайт үүсгэгч юм. Систем нь эх материалыг авч, тэдгээрт тулгуурлан бэлэн статик вэбсайт үүсгэдэг. Та файлыг засварлах замаар ийм сайтуудын гадаад байдал, чадварыг хянах боломжтой _config.yml, Жекилл ашигласан.

▍3. Төсөл төлөвлөх чадвар

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

▍4. CI гүйгчдийг автоматаар масштаблах

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

▍5. Асуудлыг хянах хэрэгсэл

GitLab-ийн хүчирхэг асуудлуудыг хянах чадвар нь платформыг ашиглан олон нээлттэй эхийн төслийг хэрэгжүүлэхэд хүргэсэн. GitLab CI/CD нь өөр өөр кодын салбаруудыг зэрэгцүүлэн шалгах боломжийг олгодог. Туршилтын үр дүнг системийн интерфейс дээр хялбархан шинжлэх боломжтой. Энэ нь GitLab CI/CD-г Женкинсээс ялгаж өгдөг.

▍6. Хадгалах газарт хандах хандалтыг хязгаарлаж байна

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

▍7. Олон нийтийн идэвхтэй дэмжлэг

GitLab-ийн эргэн тойронд идэвхтэй нийгэмлэг бий болсон бөгөөд энэ нь энэхүү платформ болон түүний хэрэгслүүд, ялангуяа GitLab CI/CD-ийг хөгжүүлэхэд хувь нэмэр оруулдаг. GitLab CI/CD болон GitLab-ийн хооронд гүнзгий интеграцчилал, бусад зүйлсийн дотор GitLab CI/CD-тэй ажиллахад гарч буй асуултын хариултыг олоход хялбар болгодог.

▍8. Төрөл бүрийн хувилбарын хяналтын системтэй ажиллахад дэмжлэг үзүүлэх

GitLab CI/CD нь зөвхөн GitLab репозиторуудад байршуулсан кодтой ажиллах боломжгүй систем юм. Жишээлбэл, кодыг GitHub репозиторид хадгалах боломжтой ба CI/CD дамжуулах шугамыг GitLab CI/CD ашиглан GitLab дээр үндэслэн зохион байгуулж болно.

Женкинс ба GitLab CI/CD-ийн харьцуулалт

Женкинс болон GitLab CI/CD нь маш сайн хэрэгсэл бөгөөд тус бүр нь CI/CD дамжуулах хоолойн хэвийн ажиллагааг хангах чадвартай. Гэхдээ хэрэв та тэдгээрийг харьцуулж үзвэл тэдгээр нь олон талаараа ижил төстэй боловч зарим талаараа бие биенээсээ ялгаатай байдаг.

Характеристика
Jenkins
GitLab CI/CD

Нээлттэй эсвэл хаалттай эх сурвалж
Нээлттэй эх сурвалж
Нээлттэй эх сурвалж

тохиргоо
Шаардлагатай.
Энэ нь GitLab платформын суурилагдсан функц учраас шаардлагагүй.

Өвөрмөц онцлог шинж чанарууд
Plugin дэмжлэг.
Хувилбарын хяналтын системд гүнзгий нэгтгэх.

тусламж
Байхгүй.
Боломжтой.

Суулгалт ба тохиргоо
Ямар ч хүндрэл учруулахгүй
Ямар ч хүндрэл учруулахгүй

Системийг өөрөө байрлуулах
Энэ бол системийг ашиглах цорын ганц сонголт юм.
Дэмжигдсэн.

CI/CD дамжуулах хоолой үүсгэх
Jenkins Pipeline компани дэмжиж ашигладаг.
Дэмжигдсэн.

Хэрэглээний гүйцэтгэлийн хяналт
Байхгүй.
Боломжтой.

Экосистем
1000 гаруй залгаасууд байдаг.
Системийг GitLab-д хөгжүүлж байна.

API
Дэвшилтэт API системийг дэмждэг.
Төсөлд илүү гүнзгий нэгтгэх API-г санал болгодог.

JavaScript дэмжлэг
Боломжтой.
Боломжтой.

Бусад хэрэгслүүдтэй нэгтгэх
Бусад хэрэгсэл, платформтой (Slack, GitHub) нэгтгэх нь дэмжигддэг.
Гуравдагч талын системүүд, ялангуяа GitHub болон Kubernetes-тэй нэгтгэх олон хэрэгсэл.

Кодын чанарын хяналт
Дэмжигдсэн - SonarQube залгаас болон бусад залгаасуудыг ашиглан.
Дэмжигдсэн.

Женкинс ба GitLab CI/CD хоёрын ялгаа

Женкинс болон GitLab CI/CD-г тайлбарлаж, харьцуулсны дараа эдгээр DevOps хэрэгслүүдийн ялгаан дээр анхаарлаа хандуулцгаая. Эдгээр ялгааг мэдэх нь эдгээр хэрэгслүүдийн аль нэгийг нөгөөгөөсөө илүүд үздэг хүмүүст ойлголт өгөх болно.

  • GitLab CI/CD нь Git репозиторуудыг бүрэн хянах боломжтой. Бид репозиторын салбарууд болон бусад зарим функцуудыг удирдах талаар ярьж байна. Гэхдээ Женкинс хэдийгээр репозитортой ажиллах боломжтой ч GitLab CI/CD-тэй ижил түвшний хяналтыг өгдөггүй.
  • Женкинс бол үнэгүй, нээлттэй эхийн төсөл юм. Үүнийг сонгосон хүн өөрөө задалдаг. Мөн GitLab CI/CD нь GitLab платформд багтсан бөгөөд энэ нь бэлэн шийдэл юм.
  • GitLab CI/CD нь төслийн түвшинд ажилладаг дэвшилтэт асуудлын менежментийн хэрэгслүүдийг дэмждэг. Женкинсийн энэ тал нь бага хөгжсөн.

Женкинс ба GitLab CI/CD: давуу болон сул талууд

Одоо танд Женкинс болон GitLab CI/CD-ийн талаар ямар нэгэн санаа байна. Одоо эдгээр хэрэгслүүдтэй илүү сайн танилцахын тулд тэдний давуу болон сул талуудыг харцгаая. Та аль хэрэгсэл хэрэгтэй болохоо аль хэдийн шийдсэн гэдэгт бид итгэж байна. Энэ хэсэг танд өөрийгөө сорих боломжийг олгоно гэж найдаж байна.

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

  • Олон тооны залгаасууд.
  • Багаж суурилуулах бүрэн хяналт.
  • Гүйгчдийн дибаг хийхэд хялбар.
  • Зангилааны хялбар тохиргоо.
  • Хялбар код байршуулах.
  • Маш сайн итгэмжлэлийн удирдлагын систем.
  • Уян хатан байдал, олон талт байдал.
  • Төрөл бүрийн програмчлалын хэлийг дэмжих.
  • Систем нь зөн совингийн түвшинд ойлгомжтой.

▍Женкинсийн сул тал

  • Plugins ашиглах үед хүндрэл гарч болзошгүй.
  • Женкинсийг жижиг төслүүдэд ашиглах үед үүнийг өөрөө тохируулахад шаардагдах хугацаа нь үндэслэлгүй их байж болно.
  • CI/CD гинжин хэлхээний ерөнхий аналитик мэдээлэл дутмаг.

▍GitLab CI/CD-ийн давуу тал

  • Docker-тэй сайн интеграцчилал.
  • Гүйгчдийг хялбархан хуваах.
  • CI/CD дамжуулах хоолойн үе шатуудад багтсан ажлуудын зэрэгцээ гүйцэтгэл.
  • Даалгаврын харилцааг тохируулахдаа чиглэгдсэн цикл бус график загварыг ашиглах.
  • Гүйгчдийг зэрэгцүүлэн гүйцэтгэх боломжтой тул өргөтгөх чадвар өндөр.
  • Даалгавар нэмэхэд хялбар.
  • Зөрчилдөөнийг шийдвэрлэх энгийн арга.
  • Найдвартай хамгаалалтын систем.

▍GitLab CI/CD-ийн сул талууд

  • Даалгавар бүрийн хувьд та олдворуудыг тайлбарлах, байршуулах/буулгах шаардлагатай.
  • Та салбаруудыг нэгтгэхээсээ өмнө нэгтгэх үр дүнг шалгах боломжгүй.
  • CI/CD дамжуулах хоолойн үе шатуудыг тайлбарлахдаа бие даасан үе шатуудыг ялгах боломжгүй байна.

Үр дүн

Женкинс болон GitLab CI/CD хоёулаа давуу болон сул талуудтай. Юу сонгох вэ гэсэн асуултын хариулт нь тухайн төслийн хэрэгцээ, онцлогоос хамаарна. Өнөөдөр хэлэлцэж буй CI/CD хэрэгсэл бүр нь тодорхой онцлог шинжээрээ ялгаатай боловч эдгээр хэрэгслүүд нь ижил асуудлыг шийдвэрлэх зорилгоор бүтээгдсэн. Үүний зэрэгцээ Женкинс нь бие даасан хэрэгсэл бөгөөд GitLab CI/CD нь код дээр хамтран ажиллах зориулалттай платформын нэг хэсэг юм.

CI/CD системийг сонгохдоо түүний чадавхиас гадна үүнтэй холбоотой байж болох зардал, төслийг дэмжиж буй DevOps инженерүүд яг юутай ажиллахад ашигладаг болохыг харгалзан үзэх нь зүйтэй.

Та ямар CI/CD хэрэгслийг ашигладаг вэ?

Женкинсийн тулаан ба GitLab CI/CD

Женкинсийн тулаан ба GitLab CI/CD

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

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