Bro, lo lagi nyari "cheat code" buat karir di dunia tech? Yang gajinya oke, kerjaannya seru, dan dicari-cari perusahaan dari startup sampai unicorn? Kalau iya, lo harus lirik peran ini: Automation Engineer, khususnya yang megang CI/CD (Continuous Integration/Continuous Deployment).
Ini peran gokil. Kenapa? Gampangnya gini: Developer itu nulis kode (masak). Tim Operations itu nyiapin server (restoran). Nah, Automation Engineer CI/CD adalah orang yang bangun "pabrik" atau "dapur otomatis" yang nyambungin mereka berdua.
Merekalah yang bikin proses dari kode mentah sampai jadi fitur yang bisa dinikmati pengguna berjalan full otomatis, super cepat, dan minim drama. Perusahaan mana yang nggak ngiler bisa rilis fitur baru 5x sehari?
Masalahnya, banyak yang mau masuk tapi bingung. Ngelihat daftar requirement-nya aja udah pusing: Jenkins, GitLab CI, Docker, Kubernetes, Ansible, Terraform, Python, Go... Rasanya kayak disuruh ngapalin isi ensiklopedia.
Tenang. Banyak yang gagal bukan karena tools-nya susah. Tapi karena mereka salah fokus. Lo nggak perlu jadi dewa di semua tools itu.
Lo cuma perlu kuasai 5 jurus ampuh ini. Kalau 5 jurus ini udah di tangan, CV lo bakal "nendang" dan lo siap "sikat" interview kerja.
baca juga:OTW Jadi Build & Release Engineer? Cek Dulu 5 Tips Wajib Ini Biar Nggak Zonk
Jurus 1: Paham "Kenapa"-nya Dulu, Bukan "Apa"-nya (Konsep > Tools)
Ini kesalahan pemula paling klasik. Mereka mati-matian ngapalin "cara klik tombol A di Jenkins" atau "cara setting B di GitLab". Pas ditanya di interview, "Kenapa kamu pakai Jenkins?" mereka bingung.
Bro, tools itu datang dan pergi. Hari ini Jenkins, besok GitHub Actions, lusa bisa jadi ada yang baru. Perusahaan nggak nyari "Operator Tools". Mereka nyari "Insinyur" yang paham konsep dan bisa problem solving.
Fokus lo harus di filosofi CI/CD:
- Continuous Integration (CI): Ini adalah "pos pemeriksaan kualitas" otomatis. Setiap kali developerpush kode baru, "pabrik" lo harus otomatis:
- Menjalankan Build: Mengubah kode mentah jadi aplikasi (misal, compile kode Java).
- Menjalankan Test: Menjalankan unit test atau integration test otomatis.
- Kasih Feedback Cepat: Kalau gagal, langsung "teriak" ke developer biar dibenerin. Tujuannya biar masalah ketahuan sedini mungkin.
- Continuous Deployment/Delivery (CD): Ini adalah "jalur distribusi" otomatis. Setelah lolos pos CI:
- Continuous Delivery (Pengiriman): Aplikasi otomatis dibungkus (misal, jadi Docker image) dan siap dirilis ke produksi. Tinggal nunggu satu klik tombol "Approve".
- Continuous Deployment (Penyebaran): Lebih gokil lagi. Kalau lolos semua tes, aplikasi otomatis langsung dirilis ke pengguna tanpa ada campur tangan manusia.
Pas interview, lo jelasin konsep ini. Jelasin gimana alur ini bikin perusahaan lebih cepat rilis fitur. Ini nunjukkin lo paham "the big picture", bukan cuma tukang klik.
Jurus 2: Ngoding "Pabriknya", Bukan Cuma Jadi Operator (Pipeline as Code adalah Raja)
Dulu, orang bikin pipeline CI/CD ya pakai klik-klik di dashboard web. Gampang sih, tapi rapuh banget. Kalau server Jenkins-nya crash dan nggak ada backup, lo harus bikin ulang semua dari nol. Zonk!
Automation Engineer modern nggak gitu mainnya. Kita pakai jurus Pipeline as Code (PaC).
Artinya, seluruh definisi "pabrik" lo (semua tahapan build, test, deploy) ditulis dalam bentuk KODE. Kode ini kemudian disimpan di Git, barengan sama kode aplikasinya.
- Di Jenkins, namanya
Jenkinsfile. - Di GitLab CI, namanya
.gitlab-ci.yml. - Di GitHub Actions, ada di folder
.github/workflows/.
Kenapa ini "jurus ampuh"?
- Bisa Dilacak: Ada perubahan di pipeline? Kelihatan di history Git.
- Bisa Di-review: Mau nambah tahap baru? Bikin Merge Request, biar bisa di-review senior dulu.
- Gampang Di-backup & Ditiru: Server rusak? Tinggal install ulang tools-nya, pull kodenya, selesai.
Implikasinya? Lo WAJIB jago scripting. Ini harga mati.
- Bash/Shell Scripting: Ini "bahasa ibu" di Linux. Lo akan pakai ini buat jalanin perintah-perintah dasar di dalam pipeline.
- Python (atau Go/Ruby): Ini "lem super" lo. Pas pipeline lo butuh tugas kompleks (misal: manggil API JIRA buat ambil task, parsing data JSON, atau kirim notifikasi ke Slack), Python adalah jawabannya.
Jurus 3: Kuasai "Bahasa Dev" (Git) dan "Bahasa Ops" (Linux)
Posisi lo itu ada di tengah-tengah, jadi "jembatan" antara tim Developer (Dev) dan tim Operations (Ops). Biar nyambung, lo harus bisa "bahasa" mereka berdua.
Bahasa Dev: Git (Source Code Management) Lo nggak bisa bikin alur rilis kalau lo nggak paham cara developer ngelola kode. Lo bukan cuma pengguna Git, lo harus jadi "polisi Git" di tim.
- Branching Strategy: Lo harus paham bedanya Git Flow (yang ribet pakai branch
develop,feature,release) sama GitHub Flow (yang lebih simpel). Kenapa? Karena pipeline CI/CD lo bakal beda perlakuannya. Push ke branchfeaturemungkin cuma jalanin test. Tapi merge ke branchmainharus jalanin deploy ke produksi. - Tagging & Versioning: Ini inti dari kata "Release". Gimana cara lo nandain rilis
v1.2.0? Lo harus paham Semantic Versioning (SemVer) dan cara pakaigit tag.
Bahasa Ops: Linux Command Line Nggak usah ditanya. 99% server di dunia, baik server pipeline (CI runner) atau server produksi, jalan di Linux. Lo anti sama terminal hitam? Mending mundur.
Lo harus nyaman pakai command line buat:
- Navigasi file (
ls,cd,pwd) - Manajemen izin (
chmod,chown) - Cek jaringan (
ssh,curl,ping) - Nyari error di log (
grep,tail,cat) - Manajemen proses (
ps,kill)
Saat pipeline lo gagal di server, kemampuan troubleshooting Linux lo yang jadi dewa penyelamat.
Jurus 4: Jadi "Tukang Bungkus" Profesional (Docker & Kubernetes)
Ini dia "jurus" yang bikin nilai jual lo meroket. Masalah klasik di dunia software itu: "Di laptop gue jalan, kok di server error?"
Ini terjadi karena lingkungan (versi OS, versi library) di laptop developer beda sama di server.
Jawabannya: Kontainer. Dan rajanya adalah Docker.
Bayangin Docker itu kayak "kotak ajaib". Lo masukin aplikasi lo + semua kebutuhannya (misal, Python v3.9, library A, library B) ke dalam satu kotak. Kotak ini (disebut Docker Image) dijamin bisa jalan SAMA PERSIS di mana aja.
Sebagai Automation Engineer, tugas lo di pipeline CI adalah:
- Nulis Dockerfile: Ini adalah "resep" buat bikin "kotak ajaib" tadi.
- Menjalankan
docker build: Ini perintah buat bikin image dari resep itu. - Menjalankan
docker push: Ngedorong image yang udah jadi ke "gudang" (namanya Container Registry kayak Docker Hub atau AWS ECR).
Terus, deployment-nya gimana? Nah, di sinilah Kubernetes (K8s) masuk. Kalau Docker itu "kotak"-nya, Kubernetes itu "manajer" yang ngatur ribuan kotak lo di produksi. Dia yang ngurusin deployment, scaling (nambah/ngurangin kotak otomatis), dan healing (kalau ada kotak yang "mati", dia hidupin lagi).
CV lo ada kata "Docker" dan "Kubernetes"? Auto dilirik, Bro!
Jurus 5: Portofolio "Daging" > Sertifikat Kertas
Ini jurus pamungkasnya. Lo bisa punya 10 sertifikat kursus online. Tapi kalau pas interview teknis lo "zonk" (bingung), semua itu nggak ada artinya.
Rekruter nyari BUKTI, bukan janji.
Cara terbaik buat ngasih bukti adalah bikin proyek portofolio. Nggak usah yang rumit-rumit. Yang penting alurnya dapet.
Ini ide proyek "daging" yang bisa lo bikin (dan taruh di GitHub):
- Bikin Aplikasi Simpel: Ambil aplikasi "Hello World" pakai Node.js, Python, atau Go. Apa aja, yang penting ada kodenya.
- Bikin Repository GitHub: Taruh kode lo di situ.
- Bikin Dockerfile: Buat "resep" Docker untuk ngebungkus aplikasi lo.
- Bikin Pipeline (Pake GitHub Actions): Ini gratis dan udah nyatu sama GitHub. Bikin file YAML di folder
.github/workflows/. - Rancang Alurnya: Bikin pipeline yang jalan otomatis setiap kali lo push kode. Isinya:
- Job 1: Test: Jalanin unit test aplikasi lo.
- Job 2: Build & Push (jika Test lolos):
- Jalanin
docker buildbuat bikin image. - Jalanin
docker pushbuat ngirim image lo ke Docker Hub (gratis juga!).
- Jalanin
- Bonus "Nendang": Tambahin step buat scan keamanan image lo pakai tools kayak Trivy atau Snyk (ini namanya DevSecOps!).
Kalau lo bisa bikin ini, dan pas interview lo bisa share screen sambil ngejelasin alur pipeline lo... Game over. Lo nunjukkin 5 jurus tadi dalam satu proyek nyata.
penulis:Elsandria Aurora