პროგრამული უზრუნველყოფის ხარისხისა და დანერგვის სიჩქარის  გაზრდა CI/CD - ის საშუალებით DevOps-ში
Authors: Kavtaradze, Zurab, kuchava, giorgi
Type: Thesis
Published: 2024
Keywords: DevOps, Continuous Integration, Continuous Delivery, CI/CD, Pipeline, Jenkins, Gitlab CI/CD, CircleCI, Travis CI, Azure CI/CD, DORA, Software Quality, Software Delivery Performance

<p>პროგრამული უზრუნველყოფის განვითარების თანამედროვე გარემოში<br>DevOps-ის პრაქტიკის გამოყენება აუცილებელი გახდა ორგანიზაციებისთვის,<br>რომელთა მიზანი განვითარების სწრაფი ტემპი და მომხმარებლების მზარდი<br>მოთხოვნების მყისიერი დაკმაყოფილებაა. წარმოდგენილი კვლევის მიზანი კი<br>სწორედ იმის ჩვენებაა, თუ როგორ შეიძლება მსგავსი გამოწვევების DevOps - ის<br>უწყვეტი ინტეგრაციისა და უწყვეტი მიწოდების პრაქტიკით გადაჭრა.<br>ნაშრომში ნაჩვენებია პროგრამული უზრუნველყოფის განვითარების<br>სტანდარტული და DevOps მიდგომების შედარება, ხაზგასმულია DevOps - ის<br>უპირატესობა და განხილულია ამ უკანასკნელის განსახორციელებლად საჭირო<br>პრაქტიკები / მიდგომები, განსაკუთრებული ფოკუსი კი მიმართულია უწყვეტ<br>ინტეგრაციასა და მიწოდებაზე (Continuous Integration / Continuous Delivery – CI / CD).<br>გაანალიზებულია თანამედროვე CI/CD ინსტრუმენტები - Jenkins, GitLab CI/CD, Circle<br>CI, TravisCI, Azure DevOps, მათი ფუნქციები, კონკურენტული უპირატესობები და<br>სისუსტეები. მოხსენიებულია საზომებიც - მიწოდების სიხშირე, ცვლილებების<br>განხორციელების დრო, აღდგენის საშუალო დრო, ხარვეზიანი ცვლილებების<br>პროპორცია - რომელთა დახმარებითაც ორგანიზაციებს მუშაობის ეფექტურობის<br>შეფასება შეუძლიათ.</p>
<p>კვლევის დასკვნით ეტაპზე, ჩვენს მიერ შემუშავებული პროგრამული<br>უზრუნველყოფისა და CI/CD pipeline - ის დახმარებით ნაჩვენებია თუ როგორ<br>შეიძლება ხარისხისა და უსაფრთხოების შემოწმების თანამედროვე ინსტრუმენტების<br>CI/CD pipeline - ში ინტეგრირებით ხარვეზების ადრეულ ეტაპზე აღმოჩენა და<br>პროგრამული უზრუნველყოფის ხარისხის გაზრდა. ხაზგასმულია, რომ CI/CD<br>პრაქტიკის დანერგვითა და ავტომატიზირებული პროცესების გამართვით,<br>ორგანიზაციებს შეუძლიათ ადამიანური რესურსების დაზოგვა და პროდუქტის<br>მომხმარებლამდე უფრო სწრაფად მიტანა.</p>
<p> </p>
<p> </p>
<p>In today's software development environment, the use of DevOps practices has become<br>a must for organizations whose goal is a fast pace of development and immediate satisfaction<br>of the growing demands of users. The purpose of the presented research is to show how such<br>challenges can be solved by the practice of continuous integration and continuous delivery of<br>DevOps.<br>The paper shows a comparison of standard and DevOps approaches to software<br>development, highlights the advantages of DevOps and discusses the practices/approaches<br>needed to implement the latter, with a special focus on continuous integration and delivery<br>(Continuous Integration/Continuous Delivery – CI/CD). Modern CI/CD tools - Jenkins, GitLab<br>CI/CD, Circle CI, TravisCI, Azure DevOps, their functions, competitive advantages and<br>weaknesses are analyzed. Metrics – deployment frequency, lead time for changes, mean time<br>to recovery, change failure rate - are also mentioned, with the help of which organizations can<br>evaluate the effectiveness of work.<br>At the final stage of the research, with the help of our developed software and CI/CD<br>pipeline, it is shown how by integrating modern quality and security inspection tools into the<br>CI/CD pipeline, defects can be detected at an early stage and software quality can be increased.<br>It is emphasized that by implementing CI/CD practices and running automated processes,<br>organizations can save human resources and deliver products to customers faster.</p>