Introduction
Kali ini saya ingin berbagi pengalaman mengikuti training DevOps di IDN.id. Saya mendapat kesempatan untuk ikut program training dari kantor. Sebelumnya, saya diminta untuk memilih training berdasarkan budget yang telah ditentukan, dan akhirnya saya memutuskan untuk mengambil training DevOps di IDN.
Sebenarnya, saya sudah pernah ikut training di IDN sebelumnya. Waktu itu saya menggunakan biaya pribadi, dan materi yang saya ambil adalah CKA. Sebelum saya mengambil DevOps, saya coba cek jadwal untuk CKS karena saya ingin mendalami Kubernetes Cluster, dan ternyata disana belum tersedia, mungkin karna peminat CKS lebih sedikit jadi ya saya ambil DevOps sebagai otomatisasi untuk Kubernetes Cluster.
Saya datang ke IDN hari minggu malam sekitar jam 8 malam, kemudian saya check-in di pos satpam dan memberikan KTP sebagai jaminan bahwa saya sudah berada di penginapan IDN. Di IDN terdapat tempat penginapan untuk peserta training dan itupun terbatas hanya terdapat 12 kasur. Untuk penginapannya sendiri itu lebih seperti asrama.
Discussion
Untuk trainer di IDN yaitu bernama zakaria ramadan dan memiliki sertifikasi MTCNA, MTCRE, Google IT Support. Untuk pesertanya itu ada 3 termasuk saya sendiri. Disana dia menjelaskan tentang IDN dan pelatihan apa saja yang dimiliki oleh IDN.
Untuk materi pertama dia membahas pengenalan DevOps, bagaimana DevOps itu diperlukan pada sebuah organisasi. DevOps itu adalah suatu budaya dalam pengembagan suatu aplikasi. Dengan adanya DevOps kita akan lebih mudah untuk pengembangan pada suatu aplikasi, dan juga akan lebih mudah melakukan kontrol terhadap pengembangan suatu aplikasi tersebut.
Untuk penggunaan DevOps yang minimal pada sebuah organisasi yaitu Developer dan Infrastruktur. Kedua tim tersebut harus kerja sama dalam membangun ekosistem DevOps itu sendiri. Misalkan, Developer harus memberitahu tentang aplikasi yang akan dibuat seperti nodejs, kemudian Infrastruktur akan membuat alur kerja pembuatan aplikasi tersebut menggunakan software CI/CD yang kemudian di deploy ke Server. Otak dari DevOps itu pada proses CI/CD (Continous Integration/Continous Development). Pada training kali ini kita akan lebih ke team Infrastruktur yang dimana kita akan membuat software-software untuk kebutuha DevOps.
GIT
Untuk praktik pertama kita membahas Version Control System (VCS). Ada beberapa type VCS yaitu Centralized VCS dan Distribute VCS. Untuk VCS kita menggunakan GIT sebagai VCS yang akan kita gunakan.
Pada materi pembahasan GIT, kita belajar menggunakan command git, berikut beberapa command git yang dipelajari.
COMMAND | FUNCTION |
---|---|
git init {FOLDER} | Inisiasi GIT |
git status | Check status file pada git |
git ls-files | Check git yang sudah di stagging |
git add {name files/.} | Untuk stagging file (wajib digunakan pada saat initiate git) |
.gitignore | Untuk ignore file yang tidak akan distagging atau commit |
git commit -m “” | Commit/Save working git |
git commit -am “” | a berfungsi untuk add , jadi tidak perlu git add |
git log –oneline | Untuk melihat log dalam 1 baris |
git mv | Berfungsi untuk memindahkan file ke atau rename, dan sudah di stagging dengan rename dari pada menggunakan perintah mv saja |
git restore | Untuk merestore jika file kehapus (gitingore ttp akan kehapus) |
git restore –staged | Untuk restore stagging area |
git revert -n {IDLOG} | Untuk melakukan restore jika sudah dicommit |
git revert –continue | Untuk melakukan fixed jika sudah di revert |
git branch | Pengecekan branch |
git branch {NAMABRANCH} | Menambahkan branch |
git switch {NAMABRANCH} | Mengganti branch |
git tag -a v.1.0 -m “Stable” {IDLOG} | Untuk tagging dari commit |
GITHUB
Praktek selanjutnya kita akan belajar menggunakan Source Code Management. Untuk yang digunakan pada training ini adalah Github, dikarenakan github sendiri itu opensource dan mudah digunakan.
Beberapa command yang digunakan untuk koneksi ke Github.
COMMAND | FUNCTION |
---|---|
git clone | copy folder source code pada remote repo |
git fetch | check perubahan pada remote repo |
git pull | untuk update perubahan |
git push | untuk push code ke remote repo |
Untuk praktik menggunakan github kita mencoba beberapa hal, yaitu :
- Membuat private dan public repo
- Melakukan clone repo
- Melakukan push code ke repo
- Melakukan forking repo
Beberapa contoh penggunaan dalam github
git remote add origin https://github.com/zainunkamal/Repository-Git.git
git branch -M main
git push -u origin main
COMMAND | FUNCTION |
---|---|
git remote add origin | Untuk menambahkan url repository, origin itu default nama untuk git remote, jika ingin ada beberapa remote, tinggal sesuaikan saja namanya |
git branch -M main | Untuk mengganti/rename branch default ke main |
git push -u origin main | Untuk push code menggunakan remote origin dan main branch |
Untuk training hari pertama cukup sampai disitu saja, sebelum penutupan sesi hari pertama training itu saya menanyakan,
Apakah untuk Developer menggunakan main repo atau forking terlebih dahulu kemudian request push ke main repo.
trainer menjawab
Untuk Developer lebih bagus jika menggunakan organization Repository karena untuk management antar project. Jadi Developer akan forking source code dan mengembangkan dengan repo tersebut kemudian akan dilakukan request push (best practice). Jika terpaksa ya tidak masalah tim Developer itu push langsung ke repo yang ada di organization