Skip to content
KlikDev Logo KlikDev
Go back

Cara Deploy Google Apps Script dengan Clasp (Tutorial Lengkap)

Edit page

Apa itu Clasp?

Clasp (Command Line Apps Script Projects) adalah CLI resmi dari Google untuk mengelola project Apps Script dari terminal. Dengan Clasp, Anda bisa:

Jargon yang Perlu Diketahui:

Prasyarat

Sebelum mulai, pastikan sudah install:

  1. Node.js v16+ (Download di sini)
  2. npm (otomatis terinstall bareng Node.js)
  3. Akun Google dengan akses Apps Script

Langkah 1: Install Clasp

Buka terminal, jalankan:

npm install -g @google/clasp

Verifikasi instalasi:

clasp --version

Jika muncul nomor versi (misal 2.4.2), berarti berhasil.

Langkah 2: Login ke Google

clasp login

Browser akan terbuka, pilih akun Google Anda, klik Allow. Setelah berhasil, terminal akan bilang “Authorization successful”.

Troubleshooting:

Langkah 3: Buat Project Baru

Ada 3 tipe project Apps Script:

TipeFungsi
standaloneScript independen, tidak terikat file Google
sheetsTerikat ke Google Sheets
docsTerikat ke Google Docs

Untuk project standalone:

clasp create --type standalone --title "My First Script"

Clasp akan buat file .clasp.json (konfigurasi project) dan folder kosong.

Langkah 4: Tulis Kode

Buat file src/Code.ts:

function helloWorld() {
  Logger.log("Hello from Clasp!");
}

function onOpen() {
  SpreadsheetApp.getUi()
    .createMenu("Custom Menu")
    .addItem("Run Hello", "helloWorld")
    .addToUi();
}

Penjelasan:

Langkah 5: Push ke Apps Script

clasp push

File lokal Anda akan di-upload ke Apps Script cloud. Jika ada error TypeScript, Clasp akan berhenti dan kasih tahu error-nya.

Langkah 6: Buka di Editor

clasp open

Browser akan buka Apps Script Editor. Di sana Anda bisa:

Langkah 7: Deploy sebagai Web App (Opsional)

Jika mau bikin Apps Script jadi API/web app:

clasp deploy --description "Version 1.0"

Clasp akan kasih deployment ID. Simpan ID ini untuk rollback atau update nanti.

Workflow Harian

Setelah setup awal, workflow Anda jadi:

  1. Edit kode di lokal (VS Code)
  2. clasp push untuk upload
  3. Test di Apps Script Editor
  4. Commit ke Git
  5. Ulangi

Kelebihan workflow ini:

Kekurangan/Risiko:

Tips & Trik

1. Ignore File Tertentu

Buat file .claspignore:

node_modules/**
*.md
.git/**

File-file ini tidak akan di-push ke Apps Script.

2. TypeScript Configuration

Buat tsconfig.json:

{
  "compilerOptions": {
    "target": "ES2019",
    "module": "ES2015",
    "lib": ["ES2019"]
  }
}

3. Automation dengan GitHub Actions

Buat file .github/workflows/deploy.yml:

name: Deploy to Apps Script

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
      - run: npm install -g @google/clasp
      - run: echo "$CLASP_CREDENTIALS" > ~/.clasprc.json
        env:
          CLASP_CREDENTIALS: ${{ secrets.CLASP_CREDENTIALS }}
      - run: clasp push

[ASUMSI: Anda sudah familiar dengan GitHub Actions. Jika belum, skip bagian ini dulu.]

FAQ

Apakah Clasp gratis?

Ya, Clasp adalah open-source dan gratis. Tapi quota Apps Script tetap berlaku (6 menit execution time per trigger, 20,000 email per hari, dll).

Bisa deploy ke multiple environments (dev/staging/prod)?

Tidak directly. Clasp hanya punya 1 .clasp.json per folder. Solusi: buat 3 folder berbeda atau pakai deployment ID untuk switch.

Bagaimana cara rollback deployment?

Clasp tidak punya command rollback. Anda harus manual di Apps Script Editor → Manage Deployments → pilih versi lama.

Apakah bisa collaborative coding dengan tim?

Ya, asalkan semua anggota tim punya akses Editor ke Apps Script project yang sama. Tapi hati-hati conflict jika push bersamaan.


Butuh bantuan setup yang lebih kompleks? Saya (mbah) bisa kerjakan secara Done-For-You, termasuk CI/CD pipeline, testing, dan monitoring. Lihat layanan DFY →


Edit page
Share this post: