CI/CD React App with Docker
Berada pada satu perusahaan yang sama di kata.ai mas Fahmi Idris dan mas Akbar Ibnu Abdillah sama-sama fokus pada bidang Quality Assurance pada perusahaan mereka. Di sebut sebagai senior sekaligus mentor oleh mas Fahmi Idris pada sesi nya. Mas Akbar hanya menanggapi dengan senyuman. Dalam sesinya mas Akbar membahas mengenai CI/CD pada React app dengan menggunakan Docker. Mas Akbar memulai dengan sebuah pengantar singkat mengenai CI/CD dan berikut adalah rangkuman materi beliau.
Continuous Intregation (CI) merupakan proses pengujian dan pembuatan software secara otomatis setelah code aplikasi yang baru terintegrasi dengan repository bersama. Repository sendiri merupakan tempat bekerja secara bersama dalam sebuah git atau tempat projek di letakkan untuk di kerjakan secara bersama-sama dalam tim. Sedangkan Countinuous Delivery (CD) adalah proses penyampaian aplikasi yang di buat dalam proses CI ke bagian produksi dan di masukkan dalam automated test. CI/CD adalah proses penting yang tidak bisa di tinggalkan dalam proses development (pengembangan) perangkat lunak.
Proses CI/CD di anggap penting karena:
- Dapat mengurangi resiko software yang tidak berfungsi dengan baik pada saat proses produksi.
- CI/CD dapat membuat rapid iteration berdasarkan feedback pelanggan atau user.
- Dapat menyebarkan software sesuai dengan permintaan berdasarkan kebutuhan bisnis.
Selain memberikan pengantar tentang CI/CD, mas Akbar juga memulai poin berikutnya tentang testing (pengujian). Pada kesempatan ini mas Akbar mencoba untuk membandingkan antara automated testing dan manual testing. Menurut mas Akbar, di era sekarang automated testing lebih di minati dan menarik untuk di pelajari. Selain mempermudah pekerjaan sorang Quality Assurance juga karena automated testing memiliki beberapa keunggulan jika di bandingkan dengan manual testing. Perbedaan yang mencolok dari keduanya adalah, ketika melakukan automated testing orang yang bekerja pada Quality Assurance akan menggunakan tools untuk mempermudah proses testing. Sedangkan apabila manual testing akan di eksekusi langsung oleh software tester dan timnya.
Pada proses CI/CD dalam automated testing. Biasanya menggunakan beberapa tools, seperti: Gitlab, Jenkins, JenkinsX dan masih banyak lagi yang lain. Tools ini biasa di gunakan untuk melakukan atau untuk membuat proses testing menjadi lebih mudah. Kita hanya perlu melakukan konfigurasi sederhana pada repository yang kita gunakan untuk memulai proses CI/CD, seperti membuat pipeline dalam repository yang kita gunakan.
Docker dalam proses CI/CD yang di jelaskan oleh mas Akbar berada pada tahapan kedua setelah unit test dan terletak sebelum fase deployment. Docker sendiri di kenal sebagai sebuah platform yang di bangun berdasarkan teknologi container. Bersifat open source docker memberikan keleluasaan bagi penggunanya untuk membangun, mengemas, dan mengembangkan aplikasinya dimana pun sebagai sebuah wadah (container). Dengan adanya docker memungkinkan developer dan orang-orang yang bergerak dalam proses pengembangan perangkat lunak untuk dengan mudah mengembangkan code dan pipeline yang mereka gunakan. Selain itu docker juga memberikan kemudahan dalam proses pengembangan perangkat lunak. Dengan menggunakan docker produktifitas dalam pengembangan perangkat lunak akan lebih meningkat.
Di akhir fase pembahasannya mas Akbar memberikan sedikit demontrasi dalam menggunakan docker untuk aplikasi berbasis react. Demonstrasi di mulai dengan melakukan konfigurasi pada reposritory dalam git. Untuk demo kali ini mas Akbar menggunakan gitlab sebagai contoh. Setelah konfigurasi di lakukan pada repository, berikutnya mulai dengan membuat pipeline dalam repository yang sudah ada. Di akhir demonya mas Akbar menjelaskan bahwa setiap code yang nantinya akan di push ke dalam repository git akan secara otomatis di test. Dengan menggunakan docker memungkinkan untuk melakukan automated testing pada aplikasi dengan model microservice. Dengan berahirnya sesi dari mas Akbar Ibnu Abdillah, maka berakhir juga meetup kita malam itu. Menyenangkan dan seru sekali, banyak informasi dan ilmu baru yang di dapatkan dalam meetup tersebut.