เวิร์กช็อป
เวิร์กช็อปสร้างแอป & โค้ด
6 · สร้างแอป & โค้ด

รัน Claude ใน CI/CD

ใช้ Claude Code แบบ headless อัตโนมัติ

0%
ความคืบหน้าเวิร์กช็อป
รู้ใน 30 วิ

claude -p คือโหมด headless รันแบบไม่ต้องนั่งคุย เอาไปใส่ใน CI/CD ได้ ให้ Claude รีวิว PR หรือเขียนเทสอัตโนมัติทุกครั้งที่ push

claude -p รันแบบ headlessไม่ต้องนั่งคุย รับ output ตรงCI/CD เรียกเองทุก push

ดู Claude รันแบบ headless

สั่งครั้งเดียวจากบรรทัดคำสั่ง รับผลกลับมาเลย

ดู Claude Code ทำงาน
คุณclaude -p "รีวิว diff ล่าสุด หาบั๊กและความเสี่ยง สรุปสั้น ๆ" --output-format json
  • รันแบบ -p ไม่เปิดหน้าจอคุย รับ prompt เดียวแล้วทำงานเลย
  • อ่าน diff ล่าสุดในโปรเจกต์ ไล่หาจุดเสี่ยงและบั๊ก
  • สรุปผลออกมาเป็น JSON ตาม --output-format ที่สั่ง
  • ส่งผลกลับทาง stdout ให้ขั้นถัดไปใน pipeline เอาไปใช้ต่อ
  • เสร็จ CI เอาผลไปคอมเมนต์ใน PR หรือปัดตกได้อัตโนมัติ

headless ต่างจากปกติยังไง

3 จุดที่ทำให้รันใน pipeline ได้

1

ไม่ต้องโต้ตอบ

ใส่ -p แล้วส่ง prompt เดียว Claude ทำงานจนจบเองโดยไม่ถามกลับ เหมาะกับเครื่องรัน

2

output อ่านด้วยเครื่องได้

ใส่ --output-format json เพื่อให้สคริปต์ดึงผลไปใช้ต่อได้ ไม่ใช่ข้อความสำหรับคนอ่านเฉย ๆ

3

คุมสิทธิ์ชัด

ใช้ --allowedTools จำกัดว่าให้ทำอะไรได้บ้าง และตั้ง API key ผ่าน environment variable

headless เหมาะกับงานที่ เกิดซ้ำทุกครั้งโดยอัตโนมัติ เช่น รีวิวทุก PR หรือสร้างเทสทุก push ส่วนงานที่ต้องคิดโต้ตอบไปมา ใช้โหมดคุยปกติดีกว่า

ลองเลยจับมือทำ
  1. ลองในเครื่องก่อน รันใน terminal ที่โฟลเดอร์โปรเจกต์ claude -p "สรุปว่าโปรเจกต์นี้ทำอะไร" --output-format json
  2. ลองแบบมี diff จริง git add -A แล้ว claude -p "รีวิวการเปลี่ยนแปลงที่ stage ไว้ หาบั๊กและความเสี่ยง"
  3. เอาขึ้น CI ให้ Claude Code เขียน workflow ให้ด้วย Prompt นี้ (รันในโหมดคุยปกติ)
    พิมพ์ Prompt นี้
    ช่วยสร้าง GitHub Actions workflow ที่ .github/workflows/claude-review.yml ให้หน่อย ทุกครั้งที่เปิด pull request ให้รัน claude -p แบบ headless เพื่อรีวิวโค้ดที่เปลี่ยน แล้วเอาผลไปคอมเมนต์ใน PR ใช้ ANTHROPIC_API_KEY จาก secrets และจำกัดเครื่องมือด้วย --allowedTools ให้ปลอดภัย
  4. ไปที่ GitHub ตั้งค่า repo เพิ่ม secret ชื่อ ANTHROPIC_API_KEY ใน Settings > Secrets and variables > Actions
  5. เปิด PR ทดสอบสักอัน แล้วดูในแท็บ Actions ว่า Claude รันและคอมเมนต์รีวิวให้อัตโนมัติ
ลองใช้ Prompt นี้ (รันในเทอร์มินัล)
claude -p "อ่าน diff ที่ stage ไว้ด้วย git แล้วตรวจว่ามีบั๊ก ช่องโหว่ หรือโค้ดที่ลืมเอาออกไหม ตอบเป็นรายการสั้น ๆ ถ้าไม่มีปัญหาให้บอกว่า PASS" --output-format json --allowedTools "Bash(git diff:*)"
สรุปเวิร์กช็อป
  • claude -p คือโหมด headless รันด้วย prompt เดียวไม่ต้องนั่งคุย เหมาะกับการรันใน CI/CD
  • ใช้ --output-format json ให้สคริปต์อ่านผลต่อได้ และ --allowedTools เพื่อคุมสิทธิ์ให้ปลอดภัย
  • เก็บ ANTHROPIC_API_KEY ไว้ใน secrets ของ CI แล้วให้ Claude รีวิว PR หรือเขียนเทสอัตโนมัติทุก push