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:
- Repository GitHub untuk proyek Docusaurus.
- Branch utama (misalnya
mainataumaster). - Folder hasil build (
/build) yang berisi file statis Docusaurus. - 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