Penerapan Mekanisme Continuous Deployment dalam Pengembangan dan Pembaruan Perangkat Lunak Sistem Benam Berbasis Internet of Things
Authors: Aladina Yohanna Fransiska , Bhawiyuga Adhitya , Siregar Reza Andria , Trisnawan Primantara Hari 
Published: December 2022

Sebuah sistem berbasis Internet of Things (IoT) umumnya terdiri atas perangkat sistem benam yang saling terhubung antara satu dengan lainnya melalui jaringan internet. Jumlah perangkat IoT selalu bertambah. Namun selama ini, proses pembaruan perangkat IoT memiliki permasalahan yang serius terkait biaya dan waktu, yaitu ketika hendak melakukan pembaruan software, manusia harus datang secara langsung ke lokasi di mana perangkat IoT tersebut berada. Dari permasalahan tersebut, maka dibuatlah penelitian ini mengenai pembaruan software pada perangkat IoT menggunakan continuous deployment yang dilakukan di cloud. Continuous deployment adalah proses penyebaran berkelanjutan pada software yang memanfaatkan proses otomatisasi yang dilakukan dari awal hingga akhir berjalan secara otomatis tanpa adanya campur tangan manusia. Proses ini memberikan dampak positif yang signifikan karena hanya dengan menjalankan automated script, lalu semuanya bisa berjalan dengan lancar sesuai apa yang diharapkan. Implementasinya dilakukan menggunakan text editor yaitu Visual Studio Code, code repository yaitu GitHub, layanan cloud bernama Amazon Web Services (AWS), tiga buah ESP32 sebagai perangkat IoT, dan Jenkins sebagai tools untuk continuous deployment yang menjadi penghubung pada pendistrubusian code dari GitHub ke layanan-layanan yang dipilih di AWS untuk mendukung proses continuous deployment. Hasil dari pengujiannya menunjukkan bahwa layanan-layanan pada AWS dapat saling terhubung serta dapat terintegrasi dengan Jenkins dan ESP32, sehingga dapat melakukan pembaruan code dari GitHub ke tiga buah ESP32 dengan proses otomatisasi sepenuhnya. Waktu rata-rata yang dibutuhkan untuk melakukan pembaruan hanyalah 63.5 detik. Berdasarkan hasil pengujian tersebut, solusi ini dapat menjadi jawaban dari permasalahan pembaruan software perangkat IoT yang selama ini masih dilakukan secara manual.AbstractAn Internet of Things (IoT)-based system generally consists of embedded system devices connected through the internet network. The number of IoT devices is always growing. But so far, the process of updating IoT devices has serious problems related to cost and time, namely, when they want to update software, humans must come directly to the location where the IoT device is located. This research on software updates on IoT devices using continuous deployment is carried out in the cloud from these problems. Continuous deployment is a continuous deployment process on software that utilizes an automation process carried out from start to finish running automatically without any human intervention. This process has a significant positive impact because only by running the automated script, then can everything run smoothly as expected. The implementation is carried out using a text editor, namely Visual Studio Code, a code repository, namely GitHub, a cloud service called Amazon Web Services (AWS), three ESP32s as IoT devices, and Jenkins as tools for continuous deployment that serve as a liaison for code distribution from GitHub to other services. Services selected on AWS to support the continuous deployment process. The test results show that services on AWS can be interconnected and integrated with Jenkins and ESP32 so that they can update code from GitHub to three ESP32s with a fully automated process. The average time it takes to perform an update is only 63.5 seconds. Based on the results of these tests, this solution can answer the problem of updating IoT device software which is still done manually.