Apa itu docker?
Docker adalah salah satu platform yang dibangun berdasarkan teknologi container. Docker merupakan sebuah project open-source yang menyediakan platform terbuka untuk developer maupun sysadmin untuk dapat membangun, mengemas, dan menjalankan aplikasi dimanapun sebagai sebuah wadah (container) yang ringan.
Mengapa Menggunakan Docker?
Salah satu masalah yang mungkin terjadi pada proses pengembangan perangkat lunak adalah sistem operasi yang berbeda salam menjalankan aplikasi. Sistem operasi yang berbeda-beda memiliki behaviour yang berbeda pula sehingga bisa saja aplikasi perangkat lunak akan berjalan secara berbeda pada sisttem operasi yang berbeda.
Salah satu manfaat terbesar Docker adalah portabilitas. Docker dapat menyelesaikan masalah tersebut dengan penerapan container. Dengan container codingan akan disimpan dalam bentuk image dan pada kontainer tersebut environtmentnya adalah linux.
Penerapan Docker pada Pengembangan Justika Probono
Tentunya saya dan tim ingin menerapkan docker untuk menyelesaikan masalah yang ada di atas. Nah bagaimana sih kami menerapkan docker pada pengembangan perangkat lunak kami?
Urutan proses build pada docker tertera pada file gitlab-ci.yml pada bagian stage ‘build stagig’ . Pada bagian ini dispesifikasi bahwa proses build hanya dapat dilakukan pada staging-be sehingga pada branch lain tidak akan dilakukan proses build. Berikut adalah tahapan-tahapan buildnya
Build
Dijalankan dengan script
docker build -t pplc4/backend .
Script ini akan menjalankan script yang ada pada docker file untuk membuat image dari source code. Kemudian iamge akan disimpan dengan nama pplc4/backeend.
Pada file ini yang pertama dilakukan adalah set environtment. Kemudian dibuat sebuah direktori dengan nama /code dan diset menjadi working directory. Setelah itu copy file requirements.txt ke dalam direktori dan install semua requirementsnya. Setelah itu semua source code akandicopy ke dalam direktori /code. Setelah itu akan dijalankan makemigrations, migrate, dan collectstatic.
Tag
Dijalankan dengan script
docker tag pplc4/backend:latest registry.docker.ppl.cs.ui.ac.id/pplc4/backend
Pada script ini akan menset alamat dari registry docker yang nantinya akan digunakan untuk push container yang sudah dibuild pada fase sebelumnya. pada pengembangan ini digunakan alamat registry docker yang disediakan fakultas ilmu komputer UI.
Push
Dijalankan dengan script
docker push registry.docker.ppl.cs.ui.ac.id/pplc4/backend
Pada bagian ini container akan dipush ke registry docker yang tadi sudah dibuat