Skip to content

การ 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_SECRETrandom string ยาวๆห้าม commit ค่านี้เด็ดขาด
DATABASE_URLfile:./data/payload.dbไฟล์ SQLite relative จาก cms/
PORT4000port ที่ 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 save

WARNING

ถ้าลืม pm2 restart หลังแก้โค้ด cms/ ตัว build เก่าจะยังรันอยู่ — next start แบบ production ไม่ hot-reload ให้เอง

เช็ค process ที่รันอยู่

bash
pm2 status
pm2 logs logicton-docs-cms

ดู ภาพรวมระบบ ว่า process นี้ทำอะไรจริงๆ