Dokumentasi Catatan Teknik

Wawasan, tutorial, dan catatan mendalam seputar QA automation dan rekayasa perangkat lunak.

DevOps & CI/CD Terakhir diperbarui: 05 Agustus 2026

Integrasi Playwright ke CI/CD Pipeline dengan GitHub Actions & Docker


Menjalankan pengujian otomatis secara lokal di laptop tentu bagus, tetapi pengujian yang sesungguhnya harus berjalan secara otomatis di dalam pipeline CI/CD setiap kali ada kode baru yang di-push ke repository.

1. Peran Docker dalam Testing

Menggunakan Docker memastikan bahwa lingkungan eksekusi (environment) test runner selalu konsisten, baik saat dijalankan di komputer developer maupun di cloud runner GitHub Actions, menghindari masalah klasik seperti "works on my machine".

2. Manajemen Secrets & Variables

Dalam menjalankan automated testing di lingkungan CI/CD, kita wajib menjaga keamanan data sensitif. Di sinilah peran GitHub Actions Secrets dan Variables:

  • Secrets: Digunakan untuk menyimpan data rahasia yang terenkripsi seperti token akses, kredensial login QA, atau API keys (misal: STAGING_PASSWORD). Nilainya tidak akan pernah bocor di log konsol.
  • Variables: Digunakan untuk menyimpan konfigurasi non-sensitif yang bersifat dinamis lintas environment, seperti BASE_URL atau tipe browser target.
3. Contoh Konfigurasi GitHub Actions

Berikut implementasi workflow file yang mengintegrasikan environment variables dan secrets ke dalam container Docker:

name: Playwright Tests
on:
  push:
    branches: [ main, master ]
jobs:
  test:
    runs-on: ubuntu-latest
    container:
      image: mcr.microsoft.com/playwright:v1.40.0-jammy
    steps:
    - uses: actions/checkout@v3
    - name: Install dependencies
      run: npm ci
    - name: Run Playwright tests
      env:
        BASE_URL: \${{ vars.STAGING_BASE_URL }}
        TEST_USER_PASSWORD: \${{ secrets.STAGING_USER_PASSWORD }}
      run: npx playwright test