Analisis Penggunaan Waktu Pada Penerapan Aplikasi Dengan Menggunakan Single-Pipeline dan Parallel-Pipeline Pada Jenkins Klaster
ANANDA DWI RAHMAWATI, Dr. Ronald Adrian, S.T., M.Eng.
2023 | Tugas Akhir | D4 TEKNOLOGI REKAYASA PERANGKAT LUNAKContinouous Integration dan Continuous Deployment (CI/CD) merupakan sebuah solusi dari DevOps yang bertujuan agar kode yang dibangun oleh pengembang dapat saling terintegrasi, dapat langsung diuji, dan ketika pengujian berhasil nantinya akan menjalankan penerapan aplikasi ke berbagai lingkungan seperti development dan production dengan sedikit campur tangan manusia. Jenkins merupakan salah satu contoh alat yang dapat digunakan untuk melakukan implementasi CI/CD. Di dalam Jenkins, serangkaian pekerjaan untuk melakukan penerapan aplikasi akan dijalankan oleh sistem yang disebut pipeline. Secara default, pipeline akan melakukan pekerjaan secara berurut satu persatu dari atas ke bawah. Dalam satu proyek yang berisi lebih dari satu aplikasi berbentuk kontainer, maka akan mendapat tantangan terkait penggunaan waktu dikarenakan terdapat proses yang sama dikerjakan satu persatu untuk setiap aplikasi seperti proses build dan push. Berdasarkan permasalahan tersebut, dibutuhkan sebuah metode untuk mempersingkat penggunaan waktu. Jenkins memiliki metode yang disebut parallel-pipeline dimana pekerjaan yang memenuhi syarat tertentu dapat dieksekusi oleh pipeline secara bersamaan. Penelitian ini bertujuan untuk menguji dan membandingkan penggunaan waktu antara metode single-pipeline dan parallel-pipeline saat melakukan pekerjaan tahap build dan push. Hasil penelitian menujukkan penerapan aplikasi berbentuk kontainer pada tahap build dan push jauh lebih sedikit menggunakan waktu saat menggunakan metode parallel-pipeline dibandingkan dengan metode single-pipeline.
Continuous Integration and Continuous Deployment (CI/CD) is a solution from DevOps that aims to allow code built by developers to be integrated with each other, can be directly tested, and when the test is successful, it will later run application applications to various environments such as development and production with little human intervention. Jenkins is an example tool that can be used to implement CI/CD. In Jenkins, a series of jobs to implement an application will be executed by system called a pipeline. By default, the pipeline will perform work sequentially, one by one, from top to bottom. In a project with more than one application in the form of a container, there will be challenges regarding the use of time because the same processes are being carried out one by one for each application, such as the build and push processes. Based on these problems, we need a method to shorten time used. Jenkins has a method called parallel-pipeline where jobs that meet certain conditions can be executed by the pipeline concurrently. The results of the study show that the implementation of container-deployment applications at the build and push stages takes much less time when using the parallel-pipeline method compared to the single-pipeline method.
Kata Kunci : CI/CD, Continuous Integration, Automation, Pipeline, Parallel, Jenkins, Docker