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.