Skip to main content

CI/CD


title: CI/CD untuk Docusaurus sidebar_position: 5

🚀 CI/CD untuk Docusaurus

Dokumentasi ini menjelaskan cara mengatur Continuous Integration (CI) dan Continuous Deployment (CD) untuk proyek Docusaurus, agar proses build dan deploy berjalan otomatis setiap kali ada perubahan pada repository.


🎯 Tujuan

Dengan menerapkan CI/CD, kita bisa:

  • Memastikan dokumentasi selalu up-to-date.
  • Menghindari kesalahan manual saat build dan deploy.
  • Mempercepat proses pengiriman pembaruan dokumentasi.
  • Memastikan kualitas dokumentasi melalui pengecekan otomatis.

🧩 Prasyarat

Sebelum memulai, pastikan kamu sudah memiliki:

  1. Repository GitHub untuk proyek Docusaurus.
  2. Branch utama (misalnya main atau master).
  3. Folder hasil build (/build) yang berisi file statis Docusaurus.
  4. Akses ke GitHub Pages atau layanan hosting lain (misalnya Vercel, Netlify, Cloudflare Pages, dsb).

⚙️ Contoh Workflow GitHub Actions

Berikut contoh file konfigurasi CI/CD menggunakan GitHub Actions untuk otomatis build dan deploy Docusaurus ke GitHub Pages.

Simpan file ini dengan nama .github/workflows/deploy.yml di dalam repository kamu.

name: Deploy Docusaurus to GitHub Pages

on:
push:
branches: [ "main" ]
workflow_dispatch:

jobs:
build-and-deploy:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Build Docusaurus
run: npm run build

- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build