กลับไปหน้าสูตร
#vercel#nextjs#deployment#cli#cheatsheet#devops

Vercel CLI Cheatsheet

คู่มือฉบับเต็ม Vercel CLI: เจาะลึกการทำ Preview Deployment, จัดการ Edge Functions, การแก้บั๊กผ่าน Logs และระบบ Remote Env

11 มีนาคม 2569อ่านประมาณ 2 นาที

🚀 Core CLI Flow (vc / vercel)

คำสั่งเริ่มต้นเพื่อเชื่อมต่อโปรเจกต์:

Commandเจาะลึกการใช้งาน
vc loginล็อกอินผ่านเว็บเบราว์เซอร์หรือ GitHub
vc linkผูก Folder ปัจจุบันกับโปรเจกต์บน Dashboard (สร้าง .vercel/)
vc deployสร้าง Preview Deployment และรัน Build บน Cloud
vc deploy --prodโปรโมตเซสชันนี้ขึ้นสู่ Production ทันที
vc devจำลองสภาพแวดล้อม Vercel ในเครื่อง (รองรับ API, Middleware)
vc --versionเช็กเวอร์ชัน CLI (แนะนำให้อัปเดตบ่อยๆ เพื่อใช้ฟีเจอร์ใหม่)

🌐 Env Variables (Advanced Management)

Commandประโยชน์
vc env lsแสดง Env ทั้งหมดแยกตาม Environment (Prod, Preview, Dev)
vc env add [key]เพิ่มตัวแปรใหม่ พร้อมระบุขอบเขตการใช้งาน
vc env pull .env.localดึงตัวแปรทั้งหมดลงมาในเครื่องเพื่อรัน Development
vc env rm [key]ลบตัวแปรออกจากเซิร์ฟเวอร์ถาวร

💡 Env Pro Tip:

หากต้องการอัปโหลด Env จำนวนมากจากไฟล์ .env เข้าไปในระบบ:

# ใช้ไฟล์ท้องถิ่นอัปโหลดเข้าไป (ต้องพิมพ์ยืนยันค่า)
vc env add < .env

📜 Logging & Real-time Debugging

Commandเจาะลึก
vc logs -fติดตามทุกลอคที่เกิดขึ้น (Function calls, Errors, Builds)
vc logs --jsonแสดงผลเป็น JSON (ใช้ร่วมกับ jq เพื่อฟิลเตอร์ข้อมูลได้ง่าย)
vc logs --since 10mดูลอคย้อนหลัง 10 นาทีที่ผ่านมา
vc logs --status 500กรองเฉพาะลอคที่มีสถานะ HTTP 500 (Server Error)

⚙️ Advanced Settings & Commands

📁 Vercel Project Config (vercel.json)

คุณสามารถตั้งค่า Header, Redirects, หรือ Rewrite ผ่านไฟล์นี้:

{
  "redirects": [{ "source": "/old", "destination": "/new", "permanent": true }],
  "rewrites": [{ "source": "/api/proxy", "destination": "https://api.external.com" }],
  "headers": [{ "source": "/(.*)", "headers": [{ "key": "X-Custom", "value": "true" }] }]
}

⚡ Edge & Serverless Control

  • vc inspect <url>: ตรวจสอบสถานะการ Deploy และ Region ที่ทำงานอยู่
  • vc rollback <id>: ย้อนกลับไปเวอร์ชันก่อนหน้าทันที (ใช้ได้เมื่อ Production พัง)
  • vc alias set [id] [domain]: ตั้งชื่อเล่น (Alias) ให้กับ deployment เฉพาะตัว

💡 Troubleshooting Flags

Flagเมื่อไหร่ที่ต้องใช้?
--forceเมื่อต้องการ Build ใหม่จากศูนย์ (ล้าง Cache บน Cloud)
--prebuiltเมื่อต้องการ Build ในเครื่องตัวเอง (เช่น npm run build) แล้วส่งขึ้นไป
--debugแสดงสถานะการเชื่อมต่อและอัปโหลดข้อมูล (ละเอียดมาก)
--archiveเมื่อการอัปโหลดไฟล์จำนวนมากผ่าน API ปกติล้มเหลว

📅 Professional Workflows

1) การย้ายตัวแปรจากเครื่องเดิมไปเครื่องใหม่

# ในเครื่องเก่า
vc env pull .env.export
# ในโปรเจกต์ใหม่
vc env add < .env.export

2) การดูลอคแยกตามฟังก์ชัน (Microservices Style)

vc logs <deployment-url> --output-format json | jq '.logs[] | select(.proxy.path == "/api/users")'

3) การเชื่อมต่อ Monorepo (Turbo/Nx)

เมื่อรัน vc link คุณต้องเลือกโปรเจกต์ย่อยให้ถูกต้อง:

vc link --yes --project-name my-monorepo-app

🚀 Why Use Vercel CLI?

  • Speed: เร็วกว่าการรอ Git Hook ในบางจังหวะ (Direct Deploy)
  • Control: จัดการ Environment ได้ยืดหยุ่นกว่าหน้าเว็บ
  • Debug: เห็น Logs ของ Serverless Functions ทันที (ไม่ต้องผ่าน UI)
  • Local Dev: รัน API และ Middleware ได้เหมือนบน Cloud 100%