SlideShare a Scribd company logo
1 of 19
CI/CD
TABLE OF CONTENTS
Why CI/CD CI/CD Lifecycle
What is CI/CD ?
Implementing CI/CD dalam
Development Programs
02 03
01
05
Tools untuk CI/CD
06
Countinuous Delivery vs
Countinuous Deployment
04
INTRODUCTION
CI/CD adalah salah satu praktik DevOps yang digunakan
untuk pengembangan perangkat lunak menjadi lebih
terorganisir.
What is CI/CD?
01
What is CI/CD ?
• Continuous integration (CI) adalah
pengintegrasian kode ke dalam
repositori kode kemudian
menjalankan pengujian secara
otomatis, cepat, dan sering. Kamu
dapat melakukan CI ini dengan
menggunakan perintah commit.
• Sementara continuous
delivery atau continuous deployment
(CD) adalah praktik yang dilakukan
setelah proses CI selesai dan seluruh
kode berhasil terintegrasi, sehingga
aplikasi bisa dibangun lalu dirilis
secara otomatis.
PHASES
CI
⮚ Push the code to a VCS
⮚ The build server checks the code as soon
as it is pushed
⮚ Devs gets the feedback ( passed / failed )
⮚ Code get packaged and stored in a
repository
CD
⮚ Ensure that the software can be released
reliably
⮚ Deployments are quick and often
⮚ Helps in automated deployment
CI/CD pipeline ini sangat lazim digunakan dalam pengembangan
perangkat lunak. CI/CD pipeline ini menjadi penghubung antara
tim pengembang dengan tim operasional yang di dalamnya
terdapat tiga fase yang berupa continuous integration, continuous
delivery, dan continuous deployment.
CI/CD Pipeline
Why CI/CD?
02
Why CI/CD ?
• Smaller Code Changes
• Continuous Testing
• Early Fault Detections
• Faster Release Rate
• Smaller Backlog
• Customer Satisfaction
• Easy Maintenance and Updates
CI/CD Lifecyle
03
CI/CD Lifecyle
Countinuous Delivery vs
Countinuous Deployment
04
Countinuous Delivery vs Countinuous Deployment
Countinuous Delivery
● Ability to deploy often using automation
● Involves a manual step to " approve " a
deployment
● Deployment is still automated and
repeated
Countinuous Deployment
● Full automation
● Code Changes deployed all the way to
Production
● No manual intervention of approvals
Implementing CI/CD
dalam Development
Program
05
Impementing CI/CD dalam Development Program
Implementing CI/CD
● Version Control
● Build
● Unit Test
● Deploy
● Auto Test
● Deploy to Production
Tools untuk CI/CD
06
CI/CD adalah proses yang memerlukan beberapa tools untuk
menerapkannya. Berikut adalah tools yang dapat Anda gunakan untuk mulai
melakukan CI CD pipeline dalam proses pengembangan software Anda.
Tools untuk CI/CD
Jenkins
AWS
Codebuild
Azure
DevOps
Gitlab CI/CD
CREDITS: This presentation template was created by
Slidesgo, including icons by Flaticon, infographics &
images by Freepik
THANKS
YOU
Do you have any questions?

More Related Content

Similar to Presentation CI_CD.pptx

Rekayasa Perangkat Lunak JAMINAN KUALITAS PERANGKAT LUNAK
Rekayasa Perangkat Lunak JAMINAN KUALITAS PERANGKAT LUNAKRekayasa Perangkat Lunak JAMINAN KUALITAS PERANGKAT LUNAK
Rekayasa Perangkat Lunak JAMINAN KUALITAS PERANGKAT LUNAKListyowatik (Yanie)
 
Jaminan Kualitas Perangkat Lunak
Jaminan Kualitas Perangkat LunakJaminan Kualitas Perangkat Lunak
Jaminan Kualitas Perangkat LunakYunita Rainbow
 
Ch 02 - Hubungan Software Development Life Cycle (SDLC) dan Testing
Ch 02 - Hubungan Software Development Life Cycle (SDLC) dan TestingCh 02 - Hubungan Software Development Life Cycle (SDLC) dan Testing
Ch 02 - Hubungan Software Development Life Cycle (SDLC) dan TestingTri Sugihartono
 
06 Software Construction Fundamentals
06 Software Construction Fundamentals06 Software Construction Fundamentals
06 Software Construction FundamentalsAinul Yaqin
 
System software quality assurance for safety critical systems
System software quality assurance for safety critical systemsSystem software quality assurance for safety critical systems
System software quality assurance for safety critical systemsMuhammad Syafriansyah
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlcmistertugas
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlcmistertugas
 
DevOps Method Agile Software Development.docx - Presentation.pdf
DevOps Method Agile Software Development.docx - Presentation.pdfDevOps Method Agile Software Development.docx - Presentation.pdf
DevOps Method Agile Software Development.docx - Presentation.pdfregistrasitriTri
 
Jaminan kualitas pl
Jaminan kualitas plJaminan kualitas pl
Jaminan kualitas plSiti Rohani
 
Tugas (isfan fajar satria)1111504146
Tugas (isfan fajar satria)1111504146Tugas (isfan fajar satria)1111504146
Tugas (isfan fajar satria)1111504146isfanfajar
 
Code review and security audit in private cloud - Arief Karfianto
Code review and security audit in private cloud - Arief KarfiantoCode review and security audit in private cloud - Arief Karfianto
Code review and security audit in private cloud - Arief Karfiantoidsecconf
 
Mengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOpsMengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOpsTerabitKomputer
 
( kualitas source code).pptx
( kualitas source code).pptx( kualitas source code).pptx
( kualitas source code).pptxRainLovy
 
CI/CD Pipeline menggunakan Gitlab
CI/CD Pipeline menggunakan GitlabCI/CD Pipeline menggunakan Gitlab
CI/CD Pipeline menggunakan GitlabAhmad Arif
 
C7 Integrating SQA to PLC
C7 Integrating SQA to PLCC7 Integrating SQA to PLC
C7 Integrating SQA to PLCIka Nurkasanah
 

Similar to Presentation CI_CD.pptx (20)

Interpretasi sqa
Interpretasi sqaInterpretasi sqa
Interpretasi sqa
 
Rekayasa Perangkat Lunak JAMINAN KUALITAS PERANGKAT LUNAK
Rekayasa Perangkat Lunak JAMINAN KUALITAS PERANGKAT LUNAKRekayasa Perangkat Lunak JAMINAN KUALITAS PERANGKAT LUNAK
Rekayasa Perangkat Lunak JAMINAN KUALITAS PERANGKAT LUNAK
 
Jaminan Kualitas Perangkat Lunak
Jaminan Kualitas Perangkat LunakJaminan Kualitas Perangkat Lunak
Jaminan Kualitas Perangkat Lunak
 
Ch 02 - Hubungan Software Development Life Cycle (SDLC) dan Testing
Ch 02 - Hubungan Software Development Life Cycle (SDLC) dan TestingCh 02 - Hubungan Software Development Life Cycle (SDLC) dan Testing
Ch 02 - Hubungan Software Development Life Cycle (SDLC) dan Testing
 
06 Software Construction Fundamentals
06 Software Construction Fundamentals06 Software Construction Fundamentals
06 Software Construction Fundamentals
 
Rangkuman SDLC
Rangkuman SDLCRangkuman SDLC
Rangkuman SDLC
 
System software quality assurance for safety critical systems
System software quality assurance for safety critical systemsSystem software quality assurance for safety critical systems
System software quality assurance for safety critical systems
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlc
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlc
 
DevOps Method Agile Software Development.docx - Presentation.pdf
DevOps Method Agile Software Development.docx - Presentation.pdfDevOps Method Agile Software Development.docx - Presentation.pdf
DevOps Method Agile Software Development.docx - Presentation.pdf
 
Jaminan kualitas pl
Jaminan kualitas plJaminan kualitas pl
Jaminan kualitas pl
 
Rpl 2017 b_k02_t04_a
Rpl 2017 b_k02_t04_aRpl 2017 b_k02_t04_a
Rpl 2017 b_k02_t04_a
 
Tugas (isfan fajar satria)1111504146
Tugas (isfan fajar satria)1111504146Tugas (isfan fajar satria)1111504146
Tugas (isfan fajar satria)1111504146
 
Code review and security audit in private cloud - Arief Karfianto
Code review and security audit in private cloud - Arief KarfiantoCode review and security audit in private cloud - Arief Karfianto
Code review and security audit in private cloud - Arief Karfianto
 
Tugas MPPL
Tugas MPPLTugas MPPL
Tugas MPPL
 
Mengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOpsMengenal Lebih Jauh Tentang DevOps
Mengenal Lebih Jauh Tentang DevOps
 
( kualitas source code).pptx
( kualitas source code).pptx( kualitas source code).pptx
( kualitas source code).pptx
 
CI/CD Pipeline menggunakan Gitlab
CI/CD Pipeline menggunakan GitlabCI/CD Pipeline menggunakan Gitlab
CI/CD Pipeline menggunakan Gitlab
 
Perkuliahan 02 Model software engginer
Perkuliahan 02 Model software engginerPerkuliahan 02 Model software engginer
Perkuliahan 02 Model software engginer
 
C7 Integrating SQA to PLC
C7 Integrating SQA to PLCC7 Integrating SQA to PLC
C7 Integrating SQA to PLC
 

Presentation CI_CD.pptx

  • 2. TABLE OF CONTENTS Why CI/CD CI/CD Lifecycle What is CI/CD ? Implementing CI/CD dalam Development Programs 02 03 01 05 Tools untuk CI/CD 06 Countinuous Delivery vs Countinuous Deployment 04
  • 3. INTRODUCTION CI/CD adalah salah satu praktik DevOps yang digunakan untuk pengembangan perangkat lunak menjadi lebih terorganisir.
  • 5. What is CI/CD ? • Continuous integration (CI) adalah pengintegrasian kode ke dalam repositori kode kemudian menjalankan pengujian secara otomatis, cepat, dan sering. Kamu dapat melakukan CI ini dengan menggunakan perintah commit. • Sementara continuous delivery atau continuous deployment (CD) adalah praktik yang dilakukan setelah proses CI selesai dan seluruh kode berhasil terintegrasi, sehingga aplikasi bisa dibangun lalu dirilis secara otomatis.
  • 6. PHASES CI ⮚ Push the code to a VCS ⮚ The build server checks the code as soon as it is pushed ⮚ Devs gets the feedback ( passed / failed ) ⮚ Code get packaged and stored in a repository CD ⮚ Ensure that the software can be released reliably ⮚ Deployments are quick and often ⮚ Helps in automated deployment
  • 7. CI/CD pipeline ini sangat lazim digunakan dalam pengembangan perangkat lunak. CI/CD pipeline ini menjadi penghubung antara tim pengembang dengan tim operasional yang di dalamnya terdapat tiga fase yang berupa continuous integration, continuous delivery, dan continuous deployment. CI/CD Pipeline
  • 9. Why CI/CD ? • Smaller Code Changes • Continuous Testing • Early Fault Detections • Faster Release Rate • Smaller Backlog • Customer Satisfaction • Easy Maintenance and Updates
  • 13. Countinuous Delivery vs Countinuous Deployment Countinuous Delivery ● Ability to deploy often using automation ● Involves a manual step to " approve " a deployment ● Deployment is still automated and repeated Countinuous Deployment ● Full automation ● Code Changes deployed all the way to Production ● No manual intervention of approvals
  • 14.
  • 16. Impementing CI/CD dalam Development Program Implementing CI/CD ● Version Control ● Build ● Unit Test ● Deploy ● Auto Test ● Deploy to Production
  • 18. CI/CD adalah proses yang memerlukan beberapa tools untuk menerapkannya. Berikut adalah tools yang dapat Anda gunakan untuk mulai melakukan CI CD pipeline dalam proses pengembangan software Anda. Tools untuk CI/CD Jenkins AWS Codebuild Azure DevOps Gitlab CI/CD
  • 19. CREDITS: This presentation template was created by Slidesgo, including icons by Flaticon, infographics & images by Freepik THANKS YOU Do you have any questions?

Editor's Notes

  1. Penggunaan CI/CD pada pengembangan aplikasi memberikan banyak manfaat yang akan langsung terasa oleh tim pengembang. Selain itu, ada banyak pilihan tool atau alat yang dapat digunakan untuk mendukung berjalannya proses CI/CD ini secara otomatis dan aman.
  2. Apa itu CI/CD? Fase ● ● CD Pastikan perangkat lunak dapat dirilis dengan andal ● Penerapannya cepat dan sering Membantu dalam penyebaran otomatis Alat : Daftar Besar tapi apakah kita akan menggunakan Jenkins ● CI Dorong kode ke VCS (sebuah kumpulan perangkat lunak yang sudah terintegrasi dan digunakan untuk membantu software engineer mengelola perubahan dalam source code dari waktu ke waktu. .) Server build memeriksa kode segera setelah didorong Pengembang mendapat umpan balik (lulus/gagal) Kode dikemas dan disimpan dalam repositori ●
  3.  Ketiga fase tersebut akan dilakukan secara terus menerus dan otomatis untuk mendapatkan perangkat lunak yang andal dan bebas dari bug.
  4. Mengapa CI/CD? Perubahan Kode Lebih Kecil Pengujian Berkelanjutan Deteksi Kesalahan Dini Tingkat Rilis Lebih Cepat Backlog yang Lebih Kecil Kepuasan pelanggan Perawatan dan Pembaruan Mudah
  5. melakukan perubahan memicu membangun membangun beri tahu hasil build menjalankan tes beri tahu hasil tes mengirimkan bangunan ke lingkungan sebarkan jika perlu
  6. Pengiriman Berkelanjutan Kemampuan untuk menyebarkan sering menggunakan otomatisas iMelibatkan langkah manual untuk "menyetujui" penerapan Deployment masih otomatis dan berulang Penerapan Berkelanjutan Otomatisasi penuhPerubahan Kode diterapkan sampai ke Produksi Tidak ada intervensi manual persetujuan
  7. Gambar di atas adalah gambaran tentang arus dari pengembangan software menggunakan CI/CD Pipeline, dan bagaimana software akan bergerak dari tahap ke tahap hingga bisa diterbitkan atau digunakan customer. Berikut adalah penjelasan dari setiap proses CI/CD Pipeline. Developer akan menulis code yang akan dieksekusi melalui Version Control system (contohnya git, svn, dsb.) Setelah itu, software tersebut akan memasuki tahap Build. Pada tahap ini, developer akan melanjutkan codenya, code tersebut akan dikembalikan ke Version Control untuk pembaruan. Code baru dan yang mula ditulis akan digabungkan, dan akan di-compile menggunakan Compiler. Setelah tahap Build selesai, kamu akan memasuki tahap Testing. Pada tahap ini akan dilakukan berbagai jenis tes untuk menguji kelayakan dari software. Setelah tahap Testing selesai, akan dimulai tahap Deploy. Pada tahap Deploy, kamu akan menjalankan software ke staging server atau test server. Staging server atau test server berlaku sebagai simulasi dan kamu bisa melihat code atau software melalui simulator tersebut. Jika tahap Deploy berhasil, kamu akan berlanjut ke tahap Auto Test. Jika keseluruhan software yang dikembangkan sudah dapat berjalan baik, maka software kamu sudah dapat dijalankan ke produksi (Deploy to Production). Dalam setiap tahap, jika ada error dan semacamnya, kamu bisa menghubungi tim developer untuk membenarkan software tersebut, ini disebut sebagai Production Feedback. Developer akan memperbarui versi melalui Version Control, dan setiap tahap di atas akan berulang kembali. Siklus tersebut akan berulang sebanyak mungkin hingga diperoleh code yang dapat dijalankan ke server produksi, di mana kita dapat mengukur dan memvalidasi code. (Measure + Validate).
  8. 1. Jenkins Tools yang dapat Anda gunakan salah satunya adalah Jenkins. Jenkins merupakan salah satn tools open source yang menggunakan Java sebagai bahasa pemrogramannya. Ada banyak sistem operasi yang mendukung Jenkins, mulai dari Windows, macOS, hingga berbagai sistem operasi berbasis Linux. Jenkins memiliki banyak plugins yang dapat Anda gunakan untuk membuat, mendeploy, hingga melakukan optimasi dalam berbagai tahap untuk proses pengembangan software Anda. 2. AWS Codebuild Tools lain yang bisa Anda gunakan adalah AWS Codebuild. Tools ini dikembangkan oleh AWS dan berfungsi untuk membantu developer membangun serta menguji kode. Pengujian dapat Anda lakukan secara berkelanjutan. Selain itu, tools ini memiliki keamanan tingkat tinggi dan mendukung automasi dengan mudah. 3. Azure DevOps Azure DevOps dapat Anda jadikan salah satu pilihan untuk menerapkan CI/CD. Tools ini akan membantu developer untuk mengatur, testing, hingga mendeploy sebuah aplikasi. Microsoft merupakan perusahaan yang mengembangkan Azure DevOps. Namun, tools ini juga dapat Anda jalankan pada berbagai sistem operasi mulai dari Windows, macOS, hingga Linux. 4. GitLab CI/CD Tools lain yang bisa Anda manfaatkan untuk menerapkan CI/CD pipelines adalah GitLab CI/CD. Tools ini merupakan salah satu tools CI/CD yang paling populer saat ini. Alasan dari kepopuleran itu adalah karena GitLab sangat handal dan mampu Anda manfaatkan untuk mengembangan software dari awal hingga akhir. GitLab dapat menerapkan setiap fase CI/CD pipelines dalam cara kerjanya. Selain itu, GitLab juga memiliki banyak fitur seperti virtual machine, docker container, atau server yang dapat memudahkan Anda dalam mengerjakan proyek.