{"id":12680,"date":"2022-12-01T09:33:00","date_gmt":"2022-12-01T02:33:00","guid":{"rendered":"https:\/\/www.jetorbit.com\/blog\/?p=12680"},"modified":"2023-03-30T11:44:11","modified_gmt":"2023-03-30T04:44:11","slug":"pengertian-ci-cd-dan-tools-untuk-ci-cd","status":"publish","type":"post","link":"https:\/\/www.jetorbit.com\/blog\/pengertian-ci-cd-dan-tools-untuk-ci-cd\/","title":{"rendered":"Pengertian CI\/CD, Manfaat, dan Tools untuk CI\/CD"},"content":{"rendered":"\n<p>Kalian pernah merasa ribet gak sih saat membuat web app bersama rekan setim karena proses penyatuan kode, testing, dan deployment masih manual? Ribetnya bisa jadi karena belum pakai metode CI\/CD. Apa itu CI\/CD dan fungsinya untuk apa? Tanpa mengulur waktu, langsung simak saja <strong>Pengertian CI\/CD, Manfaat, dan Tools untuk CI\/CD<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Pengertian CI\/CD<\/strong><\/h2>\n\n\n\n<p>CI\/CD adalah metode pengembangan perangkat lunak dengan mengotomatisasi setiap proses yang dilakukan. Tujuan CI\/CD adalah website atau aplikasi yang dihasilkan punya performa yang handal dan minim <em><a href=\"https:\/\/www.jetorbit.com\/blog\/pengertian-bug-dan-penyebab-bug\/\">bug<\/a><\/em>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.jetorbit.com\/blog\/wp-content\/uploads\/2022\/11\/Pengertian-CI-CD-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"145\" src=\"https:\/\/www.jetorbit.com\/blog\/wp-content\/uploads\/2022\/11\/Pengertian-CI-CD-1.png\" alt=\"pengertian ci\/cd\" class=\"wp-image-12688\" \/><\/a><\/figure><\/div>\n\n\n<p>CI\/CD adalah singkatan dari Continuous Integration, Continuous Delivery, dan Continuous Deployment. Pada CI\/CD ini, semua pihak yang terlibat dalam <em>software development <\/em>harus berkolaborasi secara berkelanjutan.<\/p>\n\n\n\n<p>Dengan CI\/CD, otomatisasi berlangsung dari sejak penulisan kode (<em>coding<\/em>), pengujian (<em>testing<\/em>), hingga produksi (<em>deployment<\/em>).<\/p>\n\n\n\n<p>Contoh kasusnya ketika sebuah aplikasi hendak merilis versi terbarunya. Perubahan maupun penambahan kode yang dibuat para <em>developer <\/em>akan diintegrasikan lalu diuji. Nah, pengujian fungsional akan dilakukan otomatis. Jika sudah lolos uji, proses <em>deployment <\/em>akan berlangsung dengan hasil akhir aplikasi versi terbaru.<\/p>\n\n\n\n<p>FYI, CI\/CD banyak menitikberatkan pada kolaborasi maka ia jadi bagian dari <a href=\"https:\/\/www.jetorbit.com\/blog\/kenalan-dengan-devops-tugasnya-dan-skill-wajibnya\/\">DevOps<\/a>. DevOps adalah upaya integrasi antara tim development (Dev) yang berisi para <em>developer <\/em>dan tim <em>operations <\/em>(Ops) yang dihuni oleh<em> software engineer<\/em>.<\/p>\n\n\n\n<p>Fungsi CI\/CD di dalam DevOps dianggap mampu menjembatani aktivitas yang dilakukan tim Devs dan tim Ops. Makanya, CI\/CD dianggap sebagai tulang punggung dari budaya DevOps modern, yang dikenal dengan CI\/CD Pipeline.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Manfaat CI\/CD<\/strong><\/h2>\n\n\n\n<p>Ada +tiga manfaat CI\/CD, yaitu:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Mengetahui Error Lebih Awal<\/strong><\/h3>\n\n\n\n<p>Manfaat pertama adalah mampu mendeteksi program error sejak dini. Sebab, setiap kode yang disubmit oleh <em>developer <\/em>akan diuji terlebih dahulu. Jika lolos <em>testing<\/em> maka pengembangan <em>software <\/em>bisa berlanjut ke tahap selanjutnya.<\/p>\n\n\n\n<p>Jika masih ditemukan <em>error<\/em>, hasil <em>coding <\/em>tersebut akan dikembalikan untuk diperbaiki para <em>developer<\/em>. Intinya, CI\/CD dapat meminimalisir <em>error <\/em>atau <em>bug <\/em>baru ditemukan pada saat website atau aplikasi sudah diakses pengguna.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Meningkatkan Produktivitas Tim<\/strong><\/h3>\n\n\n\n<p>Manfaat selanjutnya adalah dapat meningkatkan produktivitas seluruh personil DevOps. Alasan pertama adalah proses <em>testing <\/em>akan dilakukan secara otomatis, alih-alih manual seperti yang biasa dilakukan.<\/p>\n\n\n\n<p>Alasan kedua adalah tim terlibat terhindar dari melakukan hal yang sama berulang-ulang.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Mempercepat Siklus Rilis Software<\/strong><\/h3>\n\n\n\n<p>Manfaat terakhir adalah sanggup mempercepat waktu perilisan <em>software<\/em>. Hal Ini dinikmati karena <em>error <\/em>bisa terdeteksi lebih awal, produktivitas tim yang tinggi, serta kolaborasi yang dilakukan terus menerus.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Proses CI\/CD<\/strong><\/h2>\n\n\n\n<p>Secara umum, proses CI\/CD untuk mengembangkan <em>software <\/em>harus melalui tiga tahapan, yaitu CI (<em>Continuous Integration<\/em>) dan CD (<em>Continuous Delivery<\/em> serta <em>Continuous Deployment<\/em>). Simak yuk tahapan masing-masing!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Continuous Integration (CI)<\/strong><\/h3>\n\n\n\n<p>Apakah kalian sudah tahu, apa saja sih proses yang terjadi di tahapan pertama ini?<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.jetorbit.com\/blog\/wp-content\/uploads\/2022\/11\/Pengertian-CI-CD-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"615\" src=\"https:\/\/www.jetorbit.com\/blog\/wp-content\/uploads\/2022\/11\/Pengertian-CI-CD-2.png\" alt=\"proses ci \/ cd\" class=\"wp-image-12689\" \/><\/a><\/figure><\/div>\n\n\n<p><em>Continuous Integration <\/em>bertujuan memudahkan para <em>developer <\/em>mengintegrasikan pekerjaannya secara berkesinambungan. Apalagi di zaman sekarang, banyak perusahaan yang mempekerjakan banyak <em>developer <\/em>sekaligus untuk efisiensi waktu.<\/p>\n\n\n\n<p>Contoh, A dan B berprofesi sebagai <em>web developer <\/em>di sebuah perusahaan. Suatu hari, A ditugaskan untuk membuat fitur X, sementara B di fitur Y. Nantinya akan ada satu hari untuk menggabungkan fitur yang mereka buat, dinamakan <em>merger day<\/em>.<\/p>\n\n\n\n<p>Dengan adanya CI, mereka bisa mensubmit hasil coding ke <em>tools <\/em>CI\/CD yang digunakan. Di <em>tools <\/em>inilah fitur X dan Y dimerger lalu diuji. Sebab, akan ada kemungkinan fitur X dan Y bentrok dan menyebabkan <em>error <\/em>website.<\/p>\n\n\n\n<p>Jika ada <em>error<\/em>, <em>tools <\/em>CI\/CD akan menunjukkan di mana letak kesalahannya lalu A dan B bisa langsung memperbaikinya. Jika semua lancar maka proses <em>development <\/em>bisa lanjut ke langkah selanjutnya, yaitu <em>Continuous Delivery<\/em>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Continuous Delivery (CD)<\/strong><\/h3>\n\n\n\n<p><em>Continuous Delivery <\/em>adalah kepanjangan CD yang pertama. Tahapan yang satu ini bertugas sebagai penghubung antara <em>Continuous Integration<\/em> dan <em>Continuous Deployment<\/em>, dengan menyediakan segala yang dibutuhkan secara otomatis.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.jetorbit.com\/blog\/wp-content\/uploads\/2022\/11\/Pengertian-CI-CD-3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"649\" src=\"https:\/\/www.jetorbit.com\/blog\/wp-content\/uploads\/2022\/11\/Pengertian-CI-CD-3.png\" alt=\"proses ci \/ cd\" class=\"wp-image-12690\" \/><\/a><\/figure><\/div>\n\n\n<p>Setelah semua proses <em>merger <\/em>dan <em>testing <\/em>kelar di tahapan CI maka CD selanjutnya akan membawa <em>software <\/em>tersebut ke sebuah <em>delivery environment<\/em>. Di <em>environment <\/em>inilah, CD mempersiapkan segala infrastruktur, database, dan file-file lain.<\/p>\n\n\n\n<p>Tujuannya adalah agar kapanpun <em>deployment <\/em>atau <em>testing <\/em>lanjutan akan dilakukan, semua yang dibutuhkan sudah dalam keadaan siap. Nah, keberadaan Continuous Delivery ini sangat memudahkan tim DevOps agar bisa men<em>deploy software<\/em> dengan lebih cepat.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Continuous Deployment (CD)<\/strong><\/h3>\n\n\n\n<p>Kepanjangan CD berikutnya yaitu <em>Continuous Deployment<\/em>. Tahap <em>deployment <\/em>ini sekaligus mengakhiri seluruh rangkaian proses CI\/CD, sebelum aplikasi pada akhirnya dirilis dan bisa dinikmati <em>user<\/em>.<\/p>\n\n\n\n<p>Layaknya proses sebelumnya yang punya <em>delivery environment<\/em>, <em>Continuous Deployment<\/em> ini juga memiliki <em>environment <\/em>yang ditujukan untuk <em>production<\/em>. Di sini juga terdapat serangkaian pengujian lanjutan.<\/p>\n\n\n\n<p>Nah, perbedaannya adalah <em>testing <\/em>di tahap <em>production <\/em>ini berfungsi untuk mengecek kompatibilitas <em>software <\/em>dengan server cloud hosting yang digunakan. Jika lolos pengujian, <em>software <\/em>tersebut bisa segera di<em>deploy<\/em> di server lalu diluncurkan ke <em>user<\/em>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Tools untuk CI\/CD<\/strong><\/h2>\n\n\n\n<p>Berikut ini rekomendasi untuk kalian dalam memilih <em>tools <\/em>yang tepat.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Jenkins<\/strong><\/h3>\n\n\n\n<p><a href=\"https:\/\/www.jenkins.io\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Jenkins <\/a>adalah <em>tools <\/em>CI\/CD yang mendukung otomatisasi pengembangan <em>software <\/em>dari mulai <em>code merging <\/em>hingga <em>deployment<\/em>. Selain itu, Jenkins juga menyediakan ratusan plugin tambahan serta mendukung berbagai jenis OS server, seperti <a href=\"https:\/\/www.jetorbit.com\/blog\/cara-install-composer-di-windows\/\">Windows<\/a>, <a href=\"https:\/\/www.jetorbit.com\/blog\/distro-linux-terbaik-dan-terpopuler\/\">Linux<\/a>, dan <a href=\"https:\/\/www.jetorbit.com\/blog\/5-distribusi-linux-yang-tampak-seperti-macos\/\">MacOS<\/a>.<\/p>\n\n\n\n<p>Jika kalian bekerja di perusahaan rintisan dengan jumlah tim yang terbatas maka menggunakan Jenkins sebagai <em>tools <\/em>CI\/CD adalah pilihan tepat. Sebab, ia merupakan <em>tools open source<\/em> gratisan yang bisa digunakan tanpa membayar lisensi sepeserpun.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. CircleCI<\/strong><\/h3>\n\n\n\n<p><em>Tools <\/em>CI\/CD rekomendasi selanjutnya adalah <a href=\"https:\/\/circleci.com\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">CircleCI<\/a>. Tools ini menawarkan otomatisasi CI\/CD dari sejak merging, <em>testing<\/em>, sampai <em>software <\/em>benar-benar dirilis. Menariknya lagi, ia mendukung banyak <em>production repository<\/em>, seperti Github dan Github Enterprise.<\/p>\n\n\n\n<p>Sayangnya, kompatibilitas OS server CircleCI agak kurang karena hanya mendukung Linux dan MacOS. Selain itu, versi gratisnya punya keterbatasan sumber daya. Alternatifnya adalah bisa mencoba versi berbayar CircleCI yang dibanderol mulai Rp 600 ribuan\/bulan.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. TeamCity<\/strong><\/h3>\n\n\n\n<p><em>Tools <\/em>CI\/CD lain untuk mempercepat pengembangan <em>software <\/em>adalah <a href=\"https:\/\/teamcity.com\/gotime\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">TeamCity<\/a>. Dengan <em>tools <\/em>ini bisa mengotomatisasi proses <em>coding <\/em>sampai <em>deployment <\/em>tak hanya untuk satu tapi banyak <em>project <\/em>sekaligus.<\/p>\n\n\n\n<p>Menariknya lagi, TeamCity bisa diintegrasikan dengan <em>tools <\/em>CI\/CD lain, yaitu Gitlab. Oia, TeamCity menyediakan dua opsi, yaitu gratisan dan berbayar. Nah, varian berbayar bisa didapatkan seharga Rp 4,7 jutaan dengan sistem sekali bayar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. GitLab<\/strong><\/h3>\n\n\n\n<p><a href=\"https:\/\/gitlab.com\/users\/sign_in\" target=\"_blank\" rel=\"noreferrer noopener\">GitLab <\/a>adalah <em>tools <\/em>untuk CI\/CD terakhir yang layak untuk dicoba. Layaknya <em>tools <\/em>sejenis, ia bisa mempercepat siklus perilisan <em>software <\/em>sekaligus memudahkan kolaborasi antartim dari sejak tahap integrasi hingga <em>deployment<\/em>.<\/p>\n\n\n\n<p>Yang membedakan adalah GitLab ini hanya kompatibel dengan server berbasis Linux dan turunannya. Sebut saja <a href=\"https:\/\/www.jetorbit.com\/blog\/mengenal-lebih-dekat-tentang-apa-itu-ubuntu\/\">Ubuntu<\/a>, <a href=\"https:\/\/www.jetorbit.com\/blog\/apa-itu-debian-kelebihan-dan-cara-menggunakannya\/\">Debian<\/a>, dan <a href=\"https:\/\/www.jetorbit.com\/blog\/centos-sejarah-centos-mengapa-menggunakan-centos-kelebihan-dan-kekurangan\/\">CentOS<\/a>. Untungnya, biaya langganan GitLab cukup terjangkau, mulai Rp 60 ribuan\/bulan saja untuk setiap pengguna.<\/p>\n\n\n\n<p>Gimana, kalian sudah paham kan terkait apa itu CI\/CD, manfaat dan rangkaian prosesnya, serta tools CI\/CD yang <em>recommended<\/em>.<\/p>\n\n\n\n<p>Oia, keunggulan aplikasi atau website kalian tidak hanya ditentukan oleh keberadaan CI\/CD semata, loh. Kehandalan server hosting yang digunakan juga berpengaruh terhadap performa website kalian ketika dipakai pengguna.<\/p>\n\n\n\n<p>Selamat mencoba dan tunggu info-info menarik lainnya dari kami, ya \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kalian pernah merasa ribet gak sih saat membuat web app bersama rekan setim karena proses penyatuan kode, testing, dan deployment masih manual? Ribetnya bisa jadi karena belum pakai metode CI\/CD. Apa itu CI\/CD dan fungsinya untuk apa? Tanpa mengulur waktu, langsung simak saja Pengertian CI\/CD, Manfaat, dan Tools untuk CI\/CD Pengertian CI\/CD CI\/CD adalah metode &#8230; <a title=\"Pengertian CI\/CD, Manfaat, dan Tools untuk CI\/CD\" class=\"read-more\" href=\"https:\/\/www.jetorbit.com\/blog\/pengertian-ci-cd-dan-tools-untuk-ci-cd\/\" aria-label=\"Read more about Pengertian CI\/CD, Manfaat, dan Tools untuk CI\/CD\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":12718,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"generate_page_header":"","footnotes":""},"categories":[25],"tags":[4041,283,7,4042,4040,4043,4044],"class_list":["post-12680","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-info","tag-ci-cd-adalah","tag-domain-murah","tag-hosting-murah","tag-manfaat-ci-cd","tag-pengertian-ci-cd","tag-proses-ci-cd","tag-tools-untuk-ci-cd","infinite-scroll-item","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-33"],"_links":{"self":[{"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/posts\/12680","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/comments?post=12680"}],"version-history":[{"count":2,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/posts\/12680\/revisions"}],"predecessor-version":[{"id":13595,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/posts\/12680\/revisions\/13595"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/media\/12718"}],"wp:attachment":[{"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/media?parent=12680"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/categories?post=12680"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/tags?post=12680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}