Kelompok: Journey Voyagers
Anggota:
1. Selvi Debi Anita 21.11.4124
2. Khofifah 21.11.4120
3. Adetiya Putri Kusumawati 21.11.4166
4. Deri Rihi Hina 21.11.4174
5. Asyrafi Madani 21.11.4254
6. Brian Bintang Chahya 21.11.4195
TUGAS 10
1. Jelaskan Continuous integration (CI) & Continuous Delivery/Continuous Deployment
(CD)!
Jawab: CI/CD adalah suatu proses yang menggabungkan dua konsep utama, CI dan CD,
untuk memastikan kualitas software dan pengiriman kode berjalan dengan baik.
Continuous Integration (CI) adalah pengintegrasian kode ke dalam repositori kode
kemudian menjalankan pengujian secara otomatis, cepat, dan sering. Sedangkan
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.
2. Jelaskan mekanisme CI/CD!
Jawab:
• Source
Pada tahap ini, developer akan melakukan perubahan kode di dalam repositori
bersama. Selanjutnya, mereka akan mengunggah perubahan tersebut ke sistem
control version, seperti GIT CI/CD. Setiap kali terdapat perubahan kode yang
diunggah, sisten CI/CD akan melakukan tindakan lanjutan, seperti integrasi secara
otomatis.
• Build
Setelah perubahan kode diunggah, sistem CI/CD akan memulai tahap build. Tahap
build pada CI/CD adalah proses menggabungkan kode dan dependensinya untuk
membangun produk yang dijalankan. Dalam tahapan ini, dibutuhkan bahas
apemrograman, seperti Java, C/C++, atau Go untuk melakukan kompilasi kode.
• Test
Tahap test pada CI/CD adalah tindakan pengujian yang dilakukan secara otomatis.
Tes ini dilakukan dengan mencakup pengujian unit, integrasi, fungsionalitas,
performa, dan lain-lain. Melalui tahap ini, brainware bisa mendeteksi bug atau
potensi masalah lain yang mungkin terjadi akibat perubahan kode.
• Deploy
Dalam tahap ini, software akan dimasukkan ke dalam sistem yang ditentukan, baik
itu sistem pengujian atau produksi. Dalam implementasinya, proses deploy dimulai
dari pengunggahan software ke server dan integrasi dengan infrastruktur yang
tersedia dilakukan secara otomatis oleh sistem CI/CD.
a. Pemantauan dan Rollback: Setelah penyebaran, CD akan terus memantau
kinerja aplikasi di lingkungan produksi. Jika terjadi masalah atau kegagalan,
CD dapat secara otomatis melakukan rollback ke versi sebelumnya untuk
memperbaiki masalah tersebut.
b. Pelaporan dan Monitoring: CD juga akan melaporkan hasil penyebaran kepada
tim pengembangan dan tim operasi. Ini termasuk pelaporan tentang status
penyebaran dan hasil pengujian.
3. Sebutkan jenis-jenis platform CI/CD!
Jawab:
• Jenkins: Platform CI/CD yang bersifat open source dan menggunakan bahasa
pemrograman Java.
• AWS Codebuild: Tools ini memungkinkan pengembang untuk mem-build dan
menguji kode secara berkelanjutan.
• Azure DevOps: Dapat diandalkan untuk mengatur, testing, hingga melakukan
deploy untuk aplikasi.
• Gitlab CI/CD: Tools ini dapat dimanfaatkan untuk pengembangan perangkat lunak
mulai dari awal hingga akhir. Menggunakan 3 metode, yaitu Continuous
Integration, Continuous Delivery, dan Continuous Deployment.
• GitHub Actions: Layanan CI/CD yang terintegrasi langsung dengan repositori
GitHub.
4. Jelaskan rancangan implementasi CI/CD pada proyek pemrograman tim anda!
Jawab:
• Plan
a. Pahami kebutuhan pengguna, seperti jenis tempat wisata yang diminati (wisata
alam, sejarah, kuliner, dll).
b. Preferensi makanan dan minuman pengguna.
c. Minat dalam paket wisata di Yogyakarta (wisata budaya, petualangan, dll).
• Build
a. Membuat repositori Git untuk menyimpan sumber proyek.
b. Proses build akan menghasilkan file-file statis seperti, HTML, CSS, dan
JavaScript yang akan digunakan untuk menyajikan atau menampilkan halaman
web. Pastikan setiap komponen website terintegrasi dengan baik agar pengguna
dapat menggunakannya dengan mudah dan efisien.
• Test
a. Melakukan uji performa untuk memastikan kestabilan dan reponsivitas website
saat diakses.
b. Otomatisasi tes unit dan integrasi untuk memastikan bahwa perubahan baru
tidak memengaruhi fungsionalitas yang sudah ada.
• Release
a. Setelah lolos pengujian web, kode akan di release ke lingkungan produksi.
b. Pastikan kode yang di release selalu dapat diidentifikasi dan dapat dirollback
jika diperlukan.
• Deploy
Implementasikan otomatisasi dalam proses deployment untuk mempercepat rilis ke
lingkungan produksi.
• Operate
a. Memonitor kinerja website destinasi ini secara terus menerus.
b. Atur sistem peringatan (alerting) untuk memberi tahu jika terjadi masalah.
c. Pastikan pemantauan keamanan secara berkala dan tindakan pencegahan yang
sesuai.
• Measure
a. Mengukur kinerja situs web, seperti waktu muat halaman dan tingkat respon.
b. Gunakan alat analisis untuk memahami perilaku pengguna dan mendapatkan
0 Komentar