Posted in

Day 2 – Training DevOps

Introduction

Saya bangun pagi kemudian sholat subuh berjamaah di mushola IDN. Disana kita tidak perlu memusingkan siapa yang akan jadi imam, karena disana sudah ada orang yang bertugas menjadi imam setiap hari. Mungkin karena IDN itu berawal dari pesantren, jadi untuk hal tersebut sudah ada yang menjalankannya.

Karena mulai training jam 9 pagi, saya sempatkan untuk mencari udara segar sambil mencari sarapan pagi. Mungkin karena baru pertamakali saya jalan-jalan di sekitaran IDN, saya menggunakan gmaps agar tidak tersesat melewati gang-gang kecil. Disana itu banyak gang-gang kecil, mungkin kalo pertamakali kesana naik motor pasti diarahin ke gang kecil tapi memang bisa dilintasi oleh motor. Saya jalan-jalan daerah situ sekitaran 3 KM dan memakan waktu kurang lebih 1 jam.

Setelah saya jalan pagi, kemudian saya sarapan bubur (dibungkus). Mungkin karena jakarta, tukang bubur saja sudah menggunakan Qris, mudah beli apapun kalau tidka membawa duit cash. Setelah sarapan, saya mau mandi, tapi harus antri dulu karena disana banyak yang menginap, mungkin itu lebih banyak siswa IDN.

Discussion

Untuk memulai training, kita review sedikit materi yang kita lakukan kemarin. Materi pertama yang dibahas yaitu penggunaan aplikasi nodejs. Karena kita sebagai team infrastruktur, maka aplikasi tersebut sudah jadi dan aplikasi tersebut untuk melakukan testing terhadap alur DevOps yang akan kita lakukan.

Sonarqube

Kita melakukan instalasi sonarqube yang fungsinya untuk scanning aplikasi nodejs tersebut. Sebenarnya untuk aplikasi scanning itu banyak, tapi untuk aplikasi yang opensource itu rekomendasi menggunakan sonarqube. Untuk kebutuhan sonarqube yaitu :

  • Server
  • Database
  • Scanner

Berikut hasil scanning aplikasi menggunakan sonarqube.

Docker

Kita belajar container menggunakan docker. Docker sendiri itu paling mudah dipelajari dan sudah banyak tutorial yang tersebar. Kita disini belajar command docker terlebih dahulu. Berikut beberapa command yang kita pelajari

COMMANDFUNCTION
docker infoshow info about docker like ct, images, dll
docker psshow running ct
docker ps -ashow all ct even with exited status
docker pull {NAMEIMAGE}pull images
docker run -it ubuntucreate, start, and exec CT from image ubuntu
docker start {NAMECT}start CT
docker stop {NAMECT}stop CT
docker rename {NAMECT} {NEWNAMECT}rename CT
docker run -dit –name {NAMECT} {NAMEIMAGE}create, start, then detach with custom name
docker run -dit –name {NAMECT} -p 8080:80 {NAMEIMAGE}create, start, portforward, then detach with custom name
docker exec -it {NAMECT} bashenter the tty from active CT
docker commit {NAMECT} {NEWIMAGES}build images based on running CT
docker rm -f {NAMECT}remove ct with force (for active CT)
docker rmi {NAMEIMAGES}:{TAG}remove image with tag
docker save -o {NAMEFILE} {NAMEIMAGES}:{TAG}save images to local
docker load -i {NAMEFILE}load image from local
docker tag {IMAGEID} {NAMEIMAGE}:{TAG}change image and tag name (if the name and tag none)
docker statscheck status of docker like cpus, rams, net i/o, etc
docker system dfcheck usage size of docker like images, container, volumes, etc
docker pruneremove unusage resource like images, ct, network, volume, and etc

Jika tidak menggunakan TAG maka secara default akan menggunakan tag “latest”

Berikut screenshoot beberapa hal yang sudah saya testing untuk pengetesan docker command.

Setelah belajar command docker, kita melakukan build image menggunakan Dockerfile. Untuk referensi bisa lihat di dokumentasi resmi docker https://docs.docker.com/reference/dockerfile. Berikut contoh penulisan Dockerfile.

FROM node:18.20.8-alpine
WORKDIR /data
COPY . /data
RUN npm install
CMD npm start

Setelah membuat Dockerfile, kita melakukan build image menggunakan perintah dibawah ini.

docker build -t {NAMEIMAGE}:{TAG} .

Untuk NAMEIMAGE dan TAG kita bisa tentukan sendiri. Contohnya NAMEIMAGE menggunakan apps1 dan TAG menggunakan v1.0.

Untuk training dihari kedua cukup sampai disitu, kelihatannya sih sedikit yang dipelajari karena kita harus belajar docker dari awal jadi lama juga materinya.

Leave a Reply

Your email address will not be published. Required fields are marked *