Bedah Proyek CI/CD Data Pipeline: Cara Buat Portofolio Data Engineer Paling Killer di GitHub (1000 Kata)

Keywords: Portofolio Data Engineer, CI/CD Project, Apache Airflow, Terraform, GitHub Actions, Docker, Automated Testing, DataOps.

Selamat datang di langkah paling krusial dalam perjalanan karir Data Engineer (DE): Membangun Portofolio Killer.

Jika artikel sebelumnya membahas mengapa skill CI/CD membuat gajimu meroket, maka artikel ini akan memberikan Blueprint Proyek Nyata—sebuah cetak biru yang bisa kamu ikuti langkah demi langkah untuk membangun portofolio yang akan membuat Hiring Manager langsung mengirimkan undangan interview.

Portofolio DE yang killer bukan hanya tentang kode Python yang bersih, tapi tentang bukti bahwa kamu bisa membangun Sistem Data Otomatis, Andal, dan Production-Ready. Dan itu adalah definisi dari Data Pipeline yang di-deploy dengan CI/CD.

🔖 Baca juga:
Trik Ampuh Masuk Dunia Kerja Sebagai Enterprise Network Engineer

Siapkan akun GitHub dan mari kita bedah arsitektur proyek yang paling dicari perusahaan tech dunia!

baca juga:Panduan Praktis Membuat Model Matematika dari Soal Sehari-hari

The Ultimate DataOps Project: Blueprint Portofolio CI/CD

Judul proyek ini harus sejelas mungkin menunjukkan kombinasi skill langka:

“Fully Automated ELT Pipeline Deployment on Cloud using Apache Airflow, Terraform, and GitHub Actions”

Proyek ini akan dibagi menjadi tiga komponen utama yang wajib terpisah di repository GitHub-mu:

  1. Kode Aplikasi Data (Data Code): Python, SQL, dan Data Quality Tests.
  2. Orkestrasi (Orchestration): Apache Airflow DAGs.
  3. Otomasi Infrastruktur & Deployment (CI/CD): Terraform, Docker, dan GitHub Actions YAML.

Komponen 1: Kode Aplikasi Data (The ELT Logic)

Ini adalah inti dari pipeline datamu. Gunakan public dataset yang menarik (misalnya, live data cuaca, data e-commerce fiktif, atau data harga saham).

File/Folder WajibDeskripsi & Nilai Jual
src/etl_logic.pyBerisi fungsi Python untuk Transformasi Data (misal: membersihkan string, agregasi, atau penggabungan data).
tests/test_etl.pyKunci Sakti 1: Berisi Unit Tests menggunakan Pytest. Setiap fungsi di etl_logic.py harus punya tes. Tunjukkan bahwa kamu menguji logika, bukan hanya syntax.
tests/data_quality_tests.pyKunci Sakti 2: Berisi tes menggunakan Great Expectations (atau library serupa) untuk memastikan kualitas data (misal: schema tidak berubah, null rate di bawah 1%).
requirements.txtMencantumkan semua dependensi Python (pandas, requests, pytest, great-expectations, dll.).

Ekspor ke Spreadsheet

Tujuan di tahap ini: Memastikan setiap perubahan logika data diuji otomatis sebelum masuk ke tahap deployment.

Komponen 2: Orkestrasi (Apache Airflow DAG)

Ini adalah otak yang menjadwalkan dan menjalankan kode datamu.

File WajibDeskripsi & Nilai Jual
dags/main_data_dag.pyBerisi DAG Airflow yang memanggil fungsi ELT dari src/etl_logic.py.
Docker/DockerfileContainerization! Berisi instruksi untuk membuat Docker Image Airflow yang sudah terinstal semua dependensi di requirements.txt dan menyalin semua kode DAG & Aplikasi datamu.

Ekspor ke Spreadsheet

Nilai Jual Terpenting: Dengan menggunakan Docker, kamu memastikan bahwa pipeline datamu akan berjalan konsisten di mana pun ia di-deploy—lokal, staging, maupun production. Ini menghilangkan masalah “works on my machine“.

Komponen 3: Otomasi Infrastruktur & Deployment (The CI/CD Magic)

Ini adalah bagian yang membedakanmu dengan DE lain. Di sinilah kamu menunjukkan skill DevOps for Data.

3A. Infrastructure as Code (IaC) dengan Terraform

Tujuan: Membuat infrastruktur dasar di Cloud (misal: AWS) secara otomatis.

File WajibDeskripsi & Nilai Jual
iac/main.tfBerisi konfigurasi Terraform untuk membuat sumber daya Cloud yang dibutuhkan pipeline (misal: AWS S3 Bucket untuk landing zone data dan AWS RDS/PostgreSQL sebagai Data Warehouse tujuan).
iac/variables.tfBerisi variabel yang bisa diubah (misal: nama bucket, region).

Ekspor ke Spreadsheet

Tujuan di tahap ini: Menunjukkan kamu bisa menyediakan lingkungan Data Warehouse secara otomatis, cepat, dan terulang (Idempotent). Kamu bukan hanya user infrastruktur, tapi Arsitek Infrastruktur.

3B. CI/CD Pipeline dengan GitHub Actions

GitHub Actions (atau GitLab CI, Jenkins) adalah engine yang mengikat semua komponen di atas menjadi proses yang otomatis.

File WajibDeskripsi & Nilai Jual
.github/workflows/data_pipeline_ci_cd.ymlFile konfigurasi utama yang mendefinisikan seluruh proses otomatisasi.

Ekspor ke Spreadsheet

Tahapan Wajib dalam File YAML:

  1. Trigger: Mulai ketika ada push atau pull request ke branch main.
  2. Stage 1: CI (Continuous Integration)
    • Linting: Cek kerapihan kode Python (flake8 atau Black).
    • Unit Test: Jalankan pytest di dalam container Docker. Jika ada satu tes gagal, pipeline berhenti.
    • Data Quality Test: Jalankan Great Expectations. Jika kualitas data gagal, pipeline berhenti.
  3. Stage 2: Build & Push Artifact
    • Build Docker Image: Buat image Airflow terbaru yang berisi kode yang sudah teruji.
    • Push Image: Push image yang sudah teruji ke Docker Hub atau AWS ECR (Container Registry).
  4. Stage 3: CD (Continuous Deployment)
    • Deploy Infrastructure (Optional/Advanced): Jalankan terraform apply untuk memastikan database dan bucket sudah siap (hanya untuk perubahan infrastruktur).
    • Deploy Airflow DAG: Push atau sinkronkan kode DAG yang baru ke server Airflow staging atau production (Biasanya menggunakan git-sync di server Airflow atau API Airflow).

Cara Jitu Memamerkan Proyek di GitHub

File README di repository adalah etalase kamu. Jangan hanya mencantumkan kode!

  1. Arsitektur Diagram: Tampilkan diagram alir yang jelas (Gambarkan Airflow, Docker, AWS S3, dan panah CI/CD Engine). Ini menunjukkan kamu memahami gambaran besar (big picture).
  2. Link Pipeline Run: Berikan screenshot atau link video pendek (YouTube/Loom) yang menunjukkan pipeline CI/CD di GitHub Actions/GitLab CI berhasil berjalan mulus dari commit hingga deployment.
  3. Tantangan & Solusi: Ceritakan tantanganmu (misal: “Awalnya sulit mengintegrasikan secret keys AWS, lalu saya memutuskan menggunakan GitHub Secrets untuk keamanan”) dan solusi yang kamu ambil. Ini menunjukkan kemampuan problem-solving.
  4. Instruksi How to Run: Tulis instruksi yang sangat jelas, termasuk perintah docker compose up lokal. Ini membuktikan bahwa proyekmu mudah di-replicate.

baca juga:Gubernur Mirza Tinjau Masjid Agung Al Hijrah Kota Baru, Nasrullah Yusuf Sebut Kesiapan Helat Tablig Akbar Indonesia Berdoa

Kesimpulan:

Portofolio Data Engineer yang paling killer adalah yang menunjukkan bahwa kamu bisa membuat otomatisasi penuh dari hulu ke hilir. Proyek ini membuktikan kamu tidak hanya mahir Python dan SQL, tetapi juga menguasai praktik DevOps, Cloud, dan Software Engineering.

Dengan Blueprint Proyek CI/CD ini, kamu telah menciptakan bukti nyata bahwa kamu adalah Elite Data Engineer yang siap membawa value tinggi ke perusahaan. Selamat berkarya, dan bersiaplah menerima telepon dari Hiring Manager!

penulis: Wilda Juliansyah

Post Comment