Skip to main content

Scratch Org

Membuat Scratch Org

  1. Buat direktori proyek:
    mkdir my-scratch-org-project
    cd my-scratch-org-project
  2. Inisialisasi proyek Salesforce DX:
    sf project generate -n MyProject
    cd MyProject
  3. Buat file konfigurasi scratch org: Buat file config/project-scratch-def.json dengan konten berikut:
    {
    "orgName": "My Scratch Org",
    "edition": "Developer",
    "features": ["EnableSetPasswordInApi"],
    "settings": {
    "lightningExperienceSettings": {
    "enableS1DesktopEnabled": true
    },
    "mobileSettings": {
    "enableS1EncryptedStoragePref2": false
    }
    }
    }
  4. Buat scratch org:
    sf org create scratch -f config/project-scratch-def.json -a MyScratchOrg -d 30
    Penjelasan:
    • -f: Menentukan file konfigurasi
    • -a: Alias untuk scratch org
    • -d: Durasi scratch org dalam hari (maksimum 30)
  5. Buka scratch org:
    sf org open -o MyScratchOrg
  6. Push kode ke scratch org (opsional): Jika Anda memiliki kode yang ingin di-push ke scratch org:
    sf project deploy start
  7. Pull perubahan dari scratch org (opsional): Jika Anda membuat perubahan di scratch org dan ingin menariknya ke proyek lokal:
    sf project retrieve start
  8. Menghapus scratch org: Ketika Anda selesai menggunakan scratch org:
    sf org delete scratch -o MyScratchOrg
  9. Beberapa tips tambahan:
    • Gunakan sf org list untuk melihat daftar org yang terhubung.
    • Gunakan sf config list untuk melihat konfigurasi CLI Anda.
    • Selalu perbarui Salesforce CLI Anda dengan menjalankan sf update.

Alur Kerja dengan Scratch Org

Scratch org adalah lingkungan Salesforce sementara dan disposable yang sangat berguna untuk pengembangan dan pengujian. Mari kita bahas workflow ini secara terstruktur.

  1. Persiapan Proyek:
  • Pastikan Dev Hub telah diaktifkan di org produksi atau Developer Edition.
  • Buat proyek Salesforce DX baru atau gunakan yang sudah ada.
  • Konfigurasikan file project-scratch-def.json sesuai kebutuhan proyek.
  1. Buat Scratch Org:

    1. Gunakan CLI untuk membuat scratch org:
    sf org create scratch -f config/project-scratch-def.json -a MyScratchOrg -d 30
    1. User baru akan dibuat berdasarkan definisi yang Anda tentukan.
  2. Push Source Code:

    • Push kode sumber awal ke scratch org:
    sf project deploy start

    Ini akan mengirim metadata dari proyek lokal ke scratch org.

  3. Pengembangan:

    • Lakukan pengembangan di scratch org atau di lokal IDE.
    • Gunakan Salesforce CLI atau IDE extensions untuk sinkronisasi perubahan.
  4. Jika Anda membuat perubahan langsung di scratch org, pull perubahan tersebut:

    sf project retrieve start

    Ini akan mengambil perubahan dari scratch org ke proyek lokal.

  5. Pengujian: Jalankan unit tests:

    sf apex test run

    Lakukan pengujian manual di scratch org.

  6. Ulangi langkah 4-6 sampai fitur selesai dan lolos pengujian.

  7. Push ke Version Control:

    • Commit perubahan ke repositori Git lokal.
    • Push perubahan ke repositori remote (misalnya GitHub).
  8. Hapus Scratch Org:

    sf org delete scratch -o MyScratchOrg
  9. CI/CD Pipeline:

    • Integrasi dengan sistem CI/CD (misalnya Jenkins, GitHub Actions).
    • Otomatisasi pembuatan scratch org, deployment, dan pengujian.
  10. Deploy ke Sandbox/Production:

    • Setelah lolos CI/CD, deploy ke sandbox untuk pengujian lebih lanjut.
    • Akhirnya, deploy ke production menggunakan change sets atau tools deployment lainnya.

Tips untuk Workflow Scratch Org yang Efektif

  1. Gunakan Version Control:
    • Buat branch untuk setiap fitur atau perbaikan bug.
  2. Automasi:
    • Buat skrip untuk mengotomatisasi pembuatan scratch org dan deployment awal.
    • Gunakan post-create scripts untuk mengatur data awal atau konfigurasi.
  3. Konsistensi Konfigurasi:
    • Pastikan file project-scratch-def.json mencerminkan kebutuhan proyek Anda.
    • Gunakan file ini untuk mendefinisikan fitur, pengaturan, dan data yang diperlukan.
  4. Manajemen Paket:
    • Jika proyek Anda menggunakan paket yang dikelola, sertakan dalam definisi scratch org.
  5. Kolaborasi Tim:
    • Gunakan scratch org untuk code review dan demonstrasi fitur.
    • Bagikan konfigurasi scratch org dengan anggota tim untuk konsistensi.
  6. Integrasi dengan IDE:
    • Manfaatkan ekstensi Salesforce untuk VS Code atau IDE lainnya untuk workflow yang lebih mulus.
  7. Dokumentasi:
    • Dokumentasikan langkah-langkah setup khusus yang diperlukan untuk proyek Anda.
    • Simpan README yang jelas di repositori dengan instruksi untuk tim.
  8. Pengujian Berkelanjutan:
    • Integrasikan pengujian otomatis ke dalam workflow Anda.
    • Jalankan test suite setiap kali ada perubahan kode.
  9. Manajemen Data:
    • Gunakan sfdx data commands untuk mengimpor data sampel ke scratch org.
    • Pertimbangkan untuk membuat dan memelihara data set standar untuk pengujian.
  10. Pemeliharaan Berkala:
    • Secara teratur perbarui definisi scratch org Anda seiring evolusi proyek.
    • Tinjau dan bersihkan scratch orgs yang tidak digunakan.