Software Environment & Deployment
Halo semuanya, kembali dengan saya Bene. Sekarang saya ingin membahas tentang Software Environment dan juga Deployment.
Software Environment? Apa itu?
Software Environtment mengandung fasilitas seperti Operating System, Windows Management, Database, dan specific development tools lainnya yang digunakan saat program dijalankan pada suatu processor. Jadi kurang lebih Software Environment adalah sebuah software yang digunakan untuk mendukung jalannya suatu aplikasi
Tipe Software Environtment
Software Environment memiliki beberapa tipe yang umum digunakan, diantaranya :
- Development Environtment : tempat customize, konfigurasi, dan menggunakan source control untuk membuat image dari software dilakukan.
- Test Environtment : tempat testing pada software yang sedang dikerjakan, meliputi unit testing ataupun functional testing
- QA Environtment : sama seperti test environment, namun kali test dilakukan terhadap hardware, database, dan software lain untuk menjaga kualitas perangkat lunak yang sedang dibuat.
- Production Environment : tempat dimana perangkat lunak sudah dapat di produksi dan dapat digunakan sebagai business use oleh end user
Docker + Django + Gitlab CI/CD
Berikutnya saya akan membahas ketiga hal yang terkait dalam proses deployment ini
- Django
Django adalah framework Python Web yang mengedepankan pengembangan yang cepat dan bersih serta desain yang pragmatis
2. Docker
Docker adalah sebuah tool yang didesign agar aplikasi dapat dibuat, dideploy dan dirun dengan mudah menggunakan container. Jadi Docker bisa dibilang mirip seperti heroku pada saat PPW. Berkat resource yang tersedia kita dapat menjalankan aplikasi dengan container meskpun terdapat perbedaan pada server dan pc.
3. Gitlab CI/CD
Gitlab CI/CD berfungsi untuk mengautomasikan proses test dan build yang jika dilakukan secara manual akan memakan waktu untuk menunggu kedua proses tersebut selesai
Implementasi dalam kelompok
- Setup Django Project
Menjalankan command “django-admin startproject [nama app]” yang setelah itu akan dilakukan penambahan test pada project tersebut
2. Docker
Project django sudah siap ditaruh di docker container, maka perlu disiapkan terlebih dahulu Dockerfile nya. Isi dockerfile kami sebagai berikut:
Setelah itu membuat docker-compose untuk mendefinisikan container yang dibutuhkan oleh program.
Kami menggunakan 2 container yaitu web (django) dan db (postgres).
Setelah itu kami melakukan build dan push melalui portainer. Dengan menjalankan command berikut:
Kemudian bisa login ke portainer untuk mengambil dan menjalankan image yang sebelumnya sudah tersedia.
Berikut adalah contoh tampilan dari docker kami :
3. Gitlab CI/CD
Pembuatan gitlab.ci.yml dan dimasukkan kode ke dalam file tersebut untuk mengkonfigurasi style test, unit test dan functional test serta kode untuk membuat image aplikasi tersebut untuk staging dan production.
Oke deh guys, sekian pembahasan tentang Software Environtment dan Deployment dari saya, jangan lupa lihat-lihat tulisan kami yang lainnya ya ٩(●ᴗ●)۶