บทเรียน 06 — deploy ขึ้น Cloudflare ด้วย API token จากไฟล์ .env
เว็บสมบูรณ์บนเครื่องแล้ว บทนี้พามันขึ้นอินเทอร์เน็ตจริง — deploy ขึ้น Cloudflare โดยให้ agent ใช้ API token ที่เตรียมไว้ในไฟล์ .env ขั้นนี้สั้นที่สุดของ session (6 นาที 6 วินาที) แต่แตะเรื่องความปลอดภัยมากที่สุด: token คือกุญแจเข้าบัญชี Cloudflare ของเรา
เป้าหมายของบทนี้: เว็บเปิดได้จาก URL จริง และ token ไม่รั่วออกไปไหนทั้งในโค้ด ใน log และใน repository
ก่อนสั่ง: เตรียม token ให้พร้อม
สิ่งที่เราเตรียมไว้ก่อน prompt ของบทนี้:
- สร้าง Cloudflare API token ใน dashboard (สิทธิ์เฉพาะงาน deploy — ไม่ใช่ Global API Key)
- ใส่ token ไว้ในไฟล์
.envของโปรเจกต์ และมั่นใจว่า.gitignoreกันไฟล์นี้ออกจาก git
การเตรียมแบบนี้ทำให้ prompt ในการ deploy สั้นเหลือบรรทัดเดียว:
Prompt ที่ใช้
deploy เว็บขึ้น cloudflare โดยการใช้ api token ที่อยู่ในไฟล์ .env

ผลลัพธ์

agent รายงานว่า deploy สำเร็จ พร้อมลิงก์เปิดเว็บไซต์ และย้ำเรื่องความปลอดภัยของตัวเอง:
- ไฟล์
.envและ API token ไม่ถูกเผยแพร่ — ไม่ขึ้นไปกับไฟล์ที่ deploy และไม่หลุดออกในผลลัพธ์ - เว็บเดิมบน Cloudflare Sites ยังอยู่ครบถ้วน — deploy ครั้งนี้ไม่ทำลายงานเดิม
- หมายเหตุ: ฟอร์มอีเมลบนโดเมนใหม่ยังไม่ได้ทดสอบส่งจริง — เชื่อมโยงกับบทเรียน Activate Form ในบท 03

ไฟล์ที่แก้ทั้งหมด 6 ไฟล์ (+39 บรรทัด) ที่น่าสนใจคือ agent แก้ .gitignore เพิ่ม (กัน .env ให้แน่นขึ้น), เพิ่ม dist/.assetsignore (บอก Cloudflare ว่าไฟล์ไหนไม่ต้องขึ้นไป) และบันทึกวิธี deploy ลง README
ความปลอดภัยของ token: กฎ 3 ข้อ
| กฎ | ทำไม |
|---|---|
ไม่ commit — token อยู่ใน .env ซึ่ง .gitignore กันไว้ |
repository (รวมถึงแบบ private) ที่มี token เท่ากับมอบกุญแจให้ทุกคนที่เห็น repo และอยู่ในประวัติ git ตลอดไป |
| ไม่ log / ไม่พิมพ์ออกทางใด — ตรวจว่าผลลัพธ์ของ agent ไม่มีค่า token | log ที่เก็บไว้ ส่งต่อ หรือแคปภาพหน้าจอ คือช่องทางรั่วที่พบบ่อยที่สุด |
| สิทธิ์น้อยที่สุด + rotate ได้ — สร้าง token เฉพาะงาน ไม่ใช่ Global API Key | ถ้ารั่ว ความเสียหายจำกัดอยู่แค่สิทธิ์ที่ตั้งไว้ และเพิกถอนได้ทันทีจาก dashboard |
ถ้าสงสัยว่า token รั่ว (เช่น เผลอ commit หรือแปะในแชท) — เพิกถอนทันทีแล้วสร้างใหม่ ไม่ต้องรอดูก่อน
ข้อควรระวังและบทเรียน
- deploy สำเร็จ ≠ งานเสร็จ — agent เปิดลิงก์ให้ดู แต่เราควรเปิดเองจากอุปกรณ์จริง กดเมนู ค้นหา และลองฟอร์ม อย่างน้อยหนึ่งรอบ
- ยอมรับว่าบางอย่างยังไม่ได้ตรวจ — agent ระบุเองว่าฟอร์มบนโดเมนใหม่ยังไม่ได้ทดสอบส่งจริง การที่ AI รู้ขอบเขตของตัวเองเป็นสัญญาณที่ดี หน้าที่เราคือปิดช่องนั้นต่อ
- ให้ agent อ่านค่าจาก
.envดีกว่าวาง token ใน prompt — prompt เป็นข้อความที่ถูกเก็บ ส่งต่อ และสอนกันได้ อย่าวาง credential ในนั้นเด็ดขาด