Kalau lo lagi scroll lowongan kerja di bidang IT, lo pasti sadar satu hal: ada satu peran yang lagi "panas" banget dan dicari di mana-mana. Peran itu adalah Automation Engineer, khususnya yang fokus di CI/CD (Continuous Integration/Continuous Deployment).
Kenapa peran ini jadi primadona?
Gampangnya gini: di era digital yang serba cepat, perusahaan nggak bisa lagi rilis software baru sebulan sekali. Mereka harus bisa rilis fitur baru tiap hari, bahkan tiap jam. Di sinilah Automation Engineer CI/CD berperan sebagai "sutradara" di balik layar.
Merekalah yang merancang, membangun, dan memelihara "pabrik otomatis" yang mengubah kode mentah dari developer menjadi aplikasi yang bisa dipakai oleh jutaan pengguna. Semua prosesnya: dari build, test, sampai deploy ke server, berjalan otomatis, cepat, dan aman.
Gajinya? Nggak usah ditanya. Karena perannya sangat krusial, kompensasinya pun sangat menarik.
Tapi... banyak yang pengen masuk ke posisi ini tapi bingung harus mulai dari mana. Ngelihat daftar requirement-nya aja udah bikin pusing: Jenkins, GitLab CI, Docker, Kubernetes, Ansible, Terraform, Python, Bash, dan seabrek tools lainnya.
Wajar kalau lo ngerasa overwhelmed.
Kabar baiknya, lo nggak harus menguasai semua tools itu sekaligus. Banyak yang gagal bukan karena tools-nya susah, tapi karena mereka salah fokus. Mereka sibuk menghafal tools, tapi lupa sama pondasinya.
Artikel ini adalah "jalan pintas" buat lo. Ini adalah 5 hal fundamental yang wajib lo kuasai kalau lo serius ngincer posisi Automation Engineer CI/CD. Baca ini baik-baik.
baca juga:Mau Jadi Jagoan DevOps? Kuasai 5 Hal Ini Buat Jadi Build & Release Engineer
1. Kuasai Peta, Bukan Hafal Nama Jalan (Konsep CI/CD > Tools)
Ini kesalahan fatal 90% pemula. Mereka langsung loncat belajar, "Gimana cara pakai Jenkins?" atau "Gimana cara setting GitLab CI?".
Bro, tools itu cuma "kendaraan". Jenkins, GitLab CI, GitHub Actions, CircleCI... itu semua cuma merek mobil yang berbeda. Kalau lo cuma hafal cara nyetir satu mobil, lo bakal bingung pas disuruh bawa mobil lain.
Yang dicari perusahaan adalah "insinyur" yang paham "peta" dan "filosofi" dari alur pengiriman software.
Lo harus paham konsep di luar kepala:
- Continuous Integration (CI): Ini adalah "pos pemeriksaan kualitas" otomatis. Tujuannya adalah mendeteksi masalah sedini mungkin. Setiap kali developerpush kode baru, pipeline CI harus otomatis melakukan:
- Build: Mengubah kode mentah jadi aplikasi (misal, compile kode Go jadi binary).
- Test: Menjalankan script tes otomatis (unit test, integration test) untuk memastikan kode baru nggak merusak fitur yang udah ada.
- Feedback: Kalau gagal, pipeline langsung "teriak" (kirim notifikasi) ke developer biar dibenerin saat itu juga.
- Continuous Deployment/Delivery (CD): Ini adalah "jalur distribusi" otomatis setelah lolos dari pos CI.
- Continuous Delivery (Pengiriman Berkelanjutan): Aplikasi yang lolos tes otomatis dibungkus (misal, jadi Docker image) dan dikirim ke lingkungan staging. Dia "siap" dirilis ke produksi kapanpun, tinggal nunggu satu klik tombol "Approve" dari manajer.
- Continuous Deployment (Penyebaran Berkelanjutan): Ini level dewa. Kalau aplikasi lolos semua tes (termasuk di staging), dia otomatis dirilis ke produksi tanpa campur tangan manusia.
Kalau lo udah paham alur ini, lo bisa bangun "pabrik" ini pakai tools apa aja. Pas interview, lo akan jauh lebih bersinar kalau bisa ngejelasin konsep ini daripada cuma bilang, "Saya bisa pakai Jenkins."
2. Jangan Jadi "Tukang Klik", Jadilah "Penyair Kode" (Pipeline as Code & Scripting)
Dulu, orang bikin pipeline CI/CD pakai klik-klik di dashboard web. Nambahin step build? Klik. Nambahin step test? Klik.
Cara ini udah MATI. Kenapa? Karena nggak bisa dilacak. Kalau server-nya rusak, lo harus ngulang semua setup klik-klik itu dari nol.
Automation Engineer modern bekerja dengan prinsip Pipeline as Code (PaC).
Artinya, seluruh definisi pipeline (semua tahapan, perintah, logika) ditulis dalam bentuk KODE dan disimpan di Git bareng sama kode aplikasinya.
- Di Jenkins, namanya
Jenkinsfile. - Di GitLab CI, namanya
.gitlab-ci.yml. - Di GitHub Actions, ada di folder
.github/workflows/.
Kenapa ini wajib? Karena jadi bisa di-review, bisa dilacak perubahannya (versioning), dan gampang direplikasi.
Nah, implikasinya jelas: Lo Wajib Jago Scripting. Ini nggak bisa ditawar.
- Bash/Shell Scripting: Ini adalah "bahasa ibu" di dunia DevOps. Hampir semua server CI/CD dan server produksi jalan di Linux. Lo harus fasih pakai Bash untuk mindahin file, ngatur izin, nge-grep log, dan jalanin perintah di server lain pakai SSH.
- Python (atau Go/Ruby): Ini adalah "lem super" lo. Bash bagus untuk tugas simpel, tapi kalau pipeline lo butuh logika yang kompleks (misal: manggil 3 API berbeda, parsing data JSON-nya, terus nentuin deployment berdasarkan hasil itu), Python adalah jawabannya.
3. Pahami "Bahan Baku" (Git) dan "Lantai Pabrik" (Linux)
Lo adalah "jembatan" antara tim Developer (Dev) dan tim Operations (Ops). Biar nyambung, lo harus bisa "bahasa" mereka berdua.
Bahasa Developer: Git (Source Code Management) Bahan baku lo adalah kode. Rumahnya kode adalah Git. Lo nggak bisa cuma jadi pengguna pasif (git pull, git push). Lo harus jadi "polisi" sekaligus "arsitek" alur Git di perusahaan.
- Branching Strategy: Lo harus paham bedanya Git Flow (yang pakai branch
develop,feature,release) vs GitHub Flow (yang lebih simpel). Kenapa? Karena pipeline CI/CD lo akan beda perlakuannya. Push ke branchfeaturemungkin cuma jalanin test. Tapi merge ke branchmainharus otomatis deploy ke produksi. - Versioning & Tagging: Ini inti dari kata "Release". Gimana cara lo nandain rilis
v1.2.0? Lo harus paham Semantic Versioning (SemVer) dan cara pakaigit taguntuk memicu pipeline rilis.
Bahasa Operations: 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.
4. Kuasai "Kotak Ajaib" Modern: 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!
baca juga:5 Jurus Ampuh Tembus Posisi Build & Release Engineer
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