เมื่อโปรเจกต์ทำงานในเครื่องเรียบร้อยแล้ว มีเพียงสี่คำสั่งที่จะนำโปรเจกต์ขึ้นสู่เว็บไซต์จริงบนโฮสติงของ Zinn Digital® ได้แก่ ลงชื่อเข้าใช้, เชื่อมโยงโปรเจกต์กับสล็อตโฮสติง, ตรวจสอบความพร้อมก่อนปล่อย และพุช บทความนี้จะอธิบายแต่ละขั้นตอนอย่างละเอียด สิ่งที่คำสั่งจะแสดงผล และคำสั่งที่คุณจะต้องใช้หลังจากนั้น — ไม่ว่าจะเป็นการดีพลอยซ้ำ ประวัติการดีพลอย และบันทึกการบิลด์
ลงชื่อเข้าใช้ด้วยคีย์ API
สร้างคีย์ในแดชบอร์ดที่ การตั้งค่า → คีย์ API จากนั้น:
zinnector login
คีย์จะถูกป้อนที่พรอมต์ข้อความ — โดยจะไม่มีการรับผ่านบรรทัดคำสั่งโดยตรง เพื่อป้องกันไม่ให้คีย์ไปปรากฏอยู่ในประวัติเชลล์หรือรายการโปรเซสของคุณ ในระบบ CI ให้ส่งผ่านไปป์: echo "$ZINN_API_KEY" | zinnector login --profile ci หรือตั้งค่า ZINNECTOR_TOKEN เพื่อข้ามขั้นตอน login ไปเลยก็ได้ คีย์จะได้รับการตรวจสอบความถูกต้องก่อนจัดเก็บ และถูกจัดเก็บด้วยโหมดไฟล์ 600 คำสั่ง zinnector whoami --scopes จะแสดงองค์กรที่คุณลงชื่อเข้าใช้อยู่และสิทธิ์ต่างๆ ที่คีย์นั้นมี สำหรับคีย์แซนด์บ็อกซ์จะมีการระบุไว้อย่างชัดเจน
เชื่อมโยงโปรเจกต์กับสล็อต
zinnector link # เลือกเว็บไซต์จากรายการ
zinnector link example.com --repo acme/site --branch main
คำสั่ง link จะเขียนรหัสประจำตัวของไซต์ลงใน zinnector.json และจะเชื่อมต่อ git remote ของโปรเจกต์เข้ากับไซต์บนแพลตฟอร์มเพื่อให้การพุชทำการดีพลอยโดยอัตโนมัติ เว้นแต่คุณจะระบุ --no-repo โปรดคอมมิต zinnector.json: เพื่อให้เพื่อนร่วมงานที่โคลนเรโพซิทอรีสามารถดีพลอยไปยังที่เดียวกันได้ทันทีโดยไม่ต้องบอกซ้ำ ทั้งนี้ไฟล์ดังกล่าวไม่มีข้อมูลลับใดๆ
ตรวจสอบความพร้อมก่อนปล่อย
zinnector check
นี่คือคำสั่งที่เป็นหัวใจหลักของการมีอยู่ของ CLI นี้ คำสั่งจะเปรียบเทียบโปรเจกต์ของคุณกับสล็อตที่กำลังจะถูกดีพลอยไป และแสดงผลทุกจุดที่ไม่ตรงกัน — รวมถึงทุกการเปรียบเทียบที่ไม่สามารถประเมินได้:
- เวอร์ชัน PHP โดยความต่างของเวอร์ชันหลัก (major) จะถูกจัดระดับไว้ที่ สูง เพราะมักทำให้ไซต์พังได้อย่างแน่นอน ส่วนความต่างของเวอร์ชันย่อย (minor) จะถูกจัดระดับต่ำลงมา เพราะการจัดทุกอย่างว่าวิกฤตจะทำให้ผู้ใช้เริ่มละเลยคำเตือน
- สล็อตนั้นสามารถเปลี่ยนไปใช้เวอร์ชันที่คุณใช้สร้างได้หรือไม่, PHP ของสล็อตนั้นหมดอายุการใช้งานแล้วหรือไม่ และเครื่องเซิร์ฟเวอร์ได้ปรับใช้เวอร์ชันนั้นจริงแล้วหรือแค่ได้รับคำสั่งไว้เฉยๆ
- ขนาดและจำนวนไฟล์ของโปรเจกต์เทียบกับพื้นที่ดิสก์และ inode ที่เหลืออยู่จริงบนสล็อต — โครงสร้างของ WordPress อาจมีจำนวนไฟล์เกินขีดจำกัดได้แม้ว่าพื้นที่ดิสก์จะยังเหลืออยู่มากก็ตาม
- เวอร์ชัน WordPress ของทั้งสองฝั่ง, สล็อตนั้นจัดเตรียมระบบเสร็จสิ้นแล้วหรือไม่ และมีเรโพซิทอรีเชื่อมต่ออยู่สำหรับการพุชหรือไม่
ระบบจะทำการแจ้งเตือน แต่จะไม่ขัดขวางการทำงาน คุณสามารถแทนที่ผลการตรวจสอบทุกรายการได้ด้วย zinnector push --force เนื่องจากคุณย่อมเข้าใจไซต์ของตนเองดีกว่าตัวตรวจสอบ การเปรียบเทียบใดที่ไม่สามารถประเมินได้จะถูกรายงานเป็น ไม่ทราบสถานะ และจะไม่มีทางรายงานว่าผ่าน พร้อมทั้งบทสรุปจะระบุเสมอว่ามีจำนวนที่ไม่ทราบกี่รายการ ตามค่าเริ่มต้น เวอร์ชัน PHP ในเครื่องจะเป็นเวอร์ชันที่ประกาศไว้ใน zinnector.json ส่วนตัวเลือก --probe จะบูตสภาพแวดล้อมรันไทม์ในเครื่องขึ้นมาเพื่อวัดผลจริงแทน ตัวเลือก --strict จะคืนค่าสถานะปิดการทำงานที่ไม่ใช่ศูนย์เมื่อพบรายการที่ไม่ทราบสถานะด้วย ซึ่งเหมาะสำหรับการใช้งานเป็นเงื่อนไขตรวจสอบใน CI
พุช
zinnector push
คำสั่ง push จะตรวจสอบความพร้อมก่อนปล่อย, พุชคอมมิตของคุณ, เริ่มต้นการดีพลอย และเฝ้าดูจนเสร็จสิ้น จากนั้นจะแสดงสถานะสุดท้ายและคอมมิตที่ถูกดีพลอย ตัวเลือก --dry-run จะดำเนินการทุกอย่างยกเว้นการดีพลอย; ตัวเลือก --no-wait จะเริ่มต้นคำสั่งแล้วออกจากโปรแกรมทันที; ตัวเลือก --no-git จะดีพลอยข้อมูลใดก็ตามที่อยู่บนแพลตฟอร์มอยู่แล้วโดยไม่ต้องพุช หากคอมมิตที่ถูกดีพลอยไม่ใช่คอมมิตที่เพิ่งพุชไป ระบบจะแจ้งให้ทราบ
เมื่อเกิดปัญหา
zinnector deploys example.com # ประวัติการดีพลอย — สถานะ, คอมมิต, ตัวสั่งการ, ข้อความ
zinnector logs example.com --build # บันทึกการบิลด์ของการดีพลอยล่าสุด
zinnector logs example.com --error # บันทึกข้อผิดพลาดของไซต์
zinnector deploy example.com # ดีพลอยสิ่งที่อยู่บนแพลตฟอร์มอยู่แล้วซ้ำอีกครั้ง
zinnector ai "why is my deploy failing?"
คำสั่ง zinnector ai จะทำงานบนแพลตฟอร์มร่วมกับบัญชีของคุณเอง ดังนั้นจึงสามารถเห็นประวัติการดีพลอยและบันทึกต่างๆ เดียวกันได้ เมื่อเรียกใช้จากภายในโปรเจกต์ คำสั่งจะส่งโครงสร้างของโปรเจกต์ — ชื่อไดเรกทอรี เวอร์ชัน และรหัสประจำตัวของไซต์ — และจะไม่มีการส่งเนื้อหาภายในไฟล์โดยเด็ดขาด
เรื่องที่เกี่ยวข้อง