การ Deploy
repository นี้ไม่มี CI/CD pipeline ทุกขั้นตอน build และ deploy ด้านล่างรันด้วยมือโดย operator บนเซิร์ฟเวอร์ Windows เป้าหมายเท่านั้น
ติดตั้งเซิร์ฟเวอร์ครั้งแรก
รันครั้งเดียวตอน provision เซิร์ฟเวอร์
powershell
git clone git@gitlab.com:devlogicton/logicton-docs.git C:\apps\logicton-docs
Set-Location C:\apps\logicton-docs
corepack enable
pnpm install --frozen-lockfile
pnpm run docs:build
Copy-Item cms\.env.example cms\.env
pnpm --filter logicton-cms run build
pm2 start ecosystem.config.cjs
pm2 saveตัวแปร Environment
ตั้งค่าใน cms/.env ก่อน start ครั้งแรก
| ตัวแปร | ตัวอย่าง | หมายเหตุ |
|---|---|---|
PAYLOAD_SECRET | random string ยาวๆ | ห้าม commit ค่านี้เด็ดขาด |
DATABASE_URL | file:./data/payload.db | ไฟล์ SQLite relative จาก cms/ |
PORT | 4000 | port ที่ Node process ฟังอยู่ |
TIP
หลัง pm2 start ครั้งแรก เข้า /admin ครั้งเดียว Payload จะโชว์หน้าสร้าง user แรกให้อัตโนมัติ เมื่อ collection Users ยังว่างอยู่
อัปเดตทั่วไป
แก้เนื้อหาอย่างเดียว (ไม่ต้อง restart)
powershell
git pull origin main
pnpm install --frozen-lockfile
pnpm run docs:buildแก้โค้ดที่แตะ cms/
powershell
git pull origin main
pnpm install --frozen-lockfile
pnpm --filter logicton-cms run build
pm2 restart logicton-docs-cms
pm2 saveWARNING
ถ้าลืม pm2 restart หลังแก้โค้ด cms/ ตัว build เก่าจะยังรันอยู่ — next start แบบ production ไม่ hot-reload ให้เอง
เช็ค process ที่รันอยู่
bash
pm2 status
pm2 logs logicton-docs-cmsดู ภาพรวมระบบ ว่า process นี้ทำอะไรจริงๆ