สาขา

มุมมอง สาขา ให้ภาพรวมของสาขาต่างๆ ในที่เก็บของคุณ

ขั้นตอน

Odoo.sh มีสามขั้นตอนของสาขาที่แตกต่างกัน:

คุณสามารถเปลี่ยนขั้นตอนของสาขาได้โดยการลากและวางไว้ใต้ขั้นตอนที่ต้องการ

การเปลี่ยนขั้นตอนของสาขา

Note

  • สาขาพัฒนาสามารถย้ายไปใต้ Staging ได้ หากคุณพยายามย้ายสาขาพัฒนาไปใต้ Production ข้อความเตือนจะแสดงขึ้นเพื่ออธิบายว่าคุณสามารถมีสาขาโปรดักชั่นได้เพียงหนึ่งสาขาต่อหนึ่งโปรเจกต์เท่านั้น

  • สาขาสเตจจิ้งสามารถย้ายไปใต้ Development ได้ แต่ไม่สามารถย้ายไปใต้ Production ได้

  • สาขาโปรดักชั่นสามารถย้ายไปใต้ Development ได้เท่านั้น หากคุณพยายามย้ายไปใต้ Staging คุณสามารถทำการผสานได้เท่านั้น โปรดดูส่วน merging เพื่อดูคำอธิบายโดยละเอียดของกระบวนการนี้

การผลิต

สาขาโปรดักชั่นประกอบด้วยโค้ดที่ใช้เพื่อรันฐานข้อมูลโปรดักชั่น สามารถมีสาขาโปรดักชั่นได้เพียงหนึ่งสาขาเท่านั้น

เมื่อคุณพุชคอมมิตใหม่ไปยังสาขานี้ เซิร์ฟเวอร์โปรดักชั่นจะได้รับการอัปเดตด้วยโค้ดที่แก้ไขแล้วและรีสตาร์ท

หากการเปลี่ยนแปลงต้องการการอัปเดตโมดูล เช่น การเปลี่ยนแบบฟอร์มมุมมอง และคุณต้องการให้การอัปเดตดำเนินการโดยอัตโนมัติ คุณสามารถเพิ่มหมายเลขเวอร์ชั่นของโมดูลในไฟล์แมนิเฟสต์ (__manifest__.py) แพลตฟอร์มจะดำเนินการอัปเดต ซึ่งในระหว่างนั้นอินสแตนซ์จะไม่สามารถใช้งานได้ชั่วคราวเพื่อการซ่อมบำรุง

วิธีนี้เทียบเท่ากับการอัปเกรดโมดูลโดยใช้เมนู Apps หรือสวิตช์ -u บน the command line

Note

  • หากการเปลี่ยนแปลงป้องกันไม่ให้เซิร์ฟเวอร์รีสตาร์ทหรือการอัปเดตโมดูลล้มเหลว เซิร์ฟเวอร์จะถูกย้อนกลับไปยังรีวิชั่นโค้ดที่ประสบความสำเร็จก่อนหน้านี้โดยอัตโนมัติ และฐานข้อมูลจะถูกย้อนกลับไปยังสถานะก่อนหน้า เข้าถึงบันทึกของการอัปเดตที่ล้มเหลวเพื่อแก้ไขปัญหา

  • ข้อมูลสาธิตจะไม่ถูกโหลด เนื่องจากไม่ได้มีไว้สำหรับใช้งานบนฐานข้อมูลโปรดักชั่น การทดสอบหน่วย จะไม่ถูกดำเนินการ เนื่องจากจะเพิ่มเวลาที่ฐานข้อมูลโปรดักชั่นไม่สามารถใช้งานได้ในระหว่างการอัปเดต

Odoo.sh สำรองข้อมูลฐานข้อมูลโปรดักชั่นโดยอัตโนมัติ โดยเก็บการสำรองข้อมูลรายวันเจ็ดครั้ง รายสัปดาห์สี่ครั้ง และรายเดือนสามครั้ง การสำรองข้อมูลแต่ละครั้งประกอบด้วยการดัมพ์ฐานข้อมูล ที่จัดเก็บไฟล์ (ไฟล์แนบและฟิลด์ไบนารี) บันทึก และเซสชัน

Warning

เมื่อใช้งาน โปรเจกต์ทดลอง สาขาโปรดักชั่นและสาขาสเตจจิ้งทั้งหมดจะถูกตั้งค่ากลับไปเป็นขั้นตอนพัฒนาโดยอัตโนมัติหลังจาก 30 วัน

การจัดเตรียม

สาขาสเตจจิ้งมีไว้เพื่อทดสอบฟีเจอร์ใหม่โดยใช้ข้อมูลโปรดักชั่นโดยไม่ส่งผลกระทบต่อฐานข้อมูลโปรดักชั่นจริงด้วยบันทึกทดสอบ สาขาเหล่านี้สร้างสำเนาที่เป็นกลางของฐานข้อมูลโปรดักชั่น

การทำให้เป็นกลางจะปิดการใช้งาน:

  • การดำเนินการตามกำหนดเวลา

    Note

    หากต้องการทดสอบ ให้เรียกใช้ด้วยตนเองหรือเปิดใช้งานอีกครั้ง โปรดทราบว่าแพลตฟอร์มจะเรียกใช้น้อยลงหากไม่มีผู้ใช้งานฐานข้อมูลเพื่อประหยัดทรัพยากร

  • อีเมลขาออก

    Note

    อีเมลจะถูกดักจับโดยใช้ mail catcher แทน :ref:`อินเทอร์เฟซเพื่อดูอีเมล <odoo-sh/branches/tabs/mails>`ที่ส่งโดยฐานข้อมูลจะมีให้ในโปรเจกต์ Odoo.sh ของคุณ ด้วยวิธีนี้จะไม่มีอีเมลถูกส่งไปยังรายชื่อผู้ติดต่อของคุณ

  • บริการ IAP

  • ผู้ให้บริการชำระเงินและตัวเชื่อมต่อการจัดส่ง

    Note

    จะถูกตั้งค่าเป็นโหมดทดสอบ

หากคุณกำหนดค่าหรือดูการเปลี่ยนแปลงในฐานข้อมูล staging ให้แน่ใจว่าได้บันทึกไว้ (จดทีละขั้นตอน ทำซ้ำในโปรดักชัน ฯลฯ) หรือเขียนโดยตรงในโมดูลของสาขาโดยใช้ไฟล์ข้อมูล XML เพื่อแทนที่การกำหนดค่าหรือมุมมองเริ่มต้น ตรวจสอบ:ref:`เอกสารประกอบโมดูลแรก <odoo-sh/module/add>`เพื่อดูตัวอย่าง

Note

การทดสอบหน่วยจะไม่ถูกดำเนินการ โดยอาศัยข้อมูลสาธิตซึ่งไม่ได้โหลดลงในฐานข้อมูลโปรดักชันและ staging หาก Odoo เริ่มรองรับการรันหน่วยโดยไม่มีข้อมูลสาธิต Odoo.sh จะพิจารณารันการทดสอบบนฐานข้อมูล staging

ฐานข้อมูลสเตจจิ้งไม่ได้รับการสำรองข้อมูลอัตโนมัติ อย่างไรก็ตาม คุณสามารถกู้คืนข้อมูลสำรองของฐานข้อมูลโปรดักชันในสาขาสเตจจิ้งเพื่อวัตถุประสงค์ในการทดสอบหรือเพื่อกู้คืนข้อมูลที่ถูกลบออกจากฐานข้อมูลโปรดักชันโดยไม่ได้ตั้งใจ สามารถสร้างข้อมูลสำรองด้วยตนเองของฐานข้อมูลสเตจจิ้งได้

Warning

ฐานข้อมูลที่สร้างสำหรับแบรนช์สเตจจิ้งจะถูกลบโดยอัตโนมัติหลังจากหนึ่งเดือน หากต้องการใช้แบรนช์อีกครั้ง คุณต้องสร้างใหม่

การพัฒนา

สาขาดีเวลลอปเมนต์จะสร้างฐานข้อมูลใหม่โดยใช้ข้อมูลสาธิตเพื่อรันการทดสอบหน่วย โมดูลที่ติดตั้งคือโมดูลที่รวมอยู่ในสาขา คุณสามารถเปลี่ยนรายการโมดูลที่จะติดตั้งได้ใน:doc:การตั้งค่าโปรเจกต์ <settings>

เมื่อพุชคอมมิตไปยังบรานช์การพัฒนา เซิร์ฟเวอร์ใหม่จะถูกเริ่มต้น พร้อมกับฐานข้อมูลที่สร้างขึ้นใหม่ทั้งหมด และบรานช์จะถูกอัปเดต ข้อมูลสาธิตจะถูกโหลด และการทดสอบยูนิตจะถูกดำเนินการโดยค่าเริ่มต้นเพื่อตรวจสอบว่าการเปลี่ยนแปลงไม่ทำให้ฟีเจอร์ที่กำลังทดสอบเสียหาย คุณสามารถปิดการทดสอบหรืออนุญาตให้การทดสอบบางส่วนทำงานด้วยแท็กที่กำหนดเองได้โดยไปที่ การตั้งค่าของบรานช์

คล้ายกับสาขา staging อีเมลจะไม่ถูกส่งแต่จะถูกดักจับโดย mail catcher และการดำเนินการตามกำหนดเวลาจะไม่ถูกเรียกใช้ตราบใดที่ไม่มีการใช้งานฐานข้อมูล

ฐานข้อมูลที่สร้างสำหรับสาขาดีเวลลอปเมนต์จะไม่สำรองข้อมูลอัตโนมัติ และไม่สามารถสำรองข้อมูลด้วยตนเองได้

Warning

ฐานข้อมูลที่สร้างสำหรับสาขาดีเวลลอปเมนต์มีไว้เพื่อใช้งานประมาณสามวัน หลังจากนั้นจะถูกเก็บขยะอัตโนมัติเพื่อเพิ่มพื้นที่สำหรับฐานข้อมูลใหม่โดยไม่ต้องแจ้งให้ทราบล่วงหน้า

การรวมสาขา

คุณสามารถรวมสาขาของคุณโดยการลากและวางเข้าหากัน

การรวมสาขาเข้าด้วยกัน

หากต้องการทดสอบการเปลี่ยนแปลงของสาขาดีเวลลอปเมนต์กับข้อมูลโปรดักชัน คุณสามารถ:

  • รวมสาขาดีเวลลอปเมนต์เข้ากับสาขา staging โดยการลากและวางลงบนสาขาที่ต้องการ หรือ

    การรวมสาขาดีเวลลอปเมนต์เข้ากับสาขา staging
  • ลากและวางสาขาการพัฒนาไปไว้ภายใต้ส่วน Staging เพื่อทำให้เป็นสาขาสเตจจิ้ง

    การย้ายสาขาการพัฒนาไปไว้ภายใต้สเตจจิ้ง

เมื่อการเปลี่ยนแปลงพร้อมสำหรับการใช้งานจริง ให้ลากและวางสาขาสเตจจิ้งไปยังสาขาการใช้งานจริงเพื่อรวมและปรับใช้การเปลี่ยนแปลงเหล่านั้น

Note

  • คุณสามารถรวมสาขาการพัฒนาเข้ากับสาขาการใช้งานจริงได้โดยตรง อย่างไรก็ตาม การเปลี่ยนแปลงจะไม่ได้รับการตรวจสอบความถูกต้องกับข้อมูลการใช้งานจริงผ่านสาขาสเตจจิ้ง ดังนั้นจึงมีความเสี่ยงสูงที่จะพบปัญหาในฐานข้อมูลการใช้งานจริง

  • คุณสามารถรวมสาขาการพัฒนาเข้าด้วยกัน และรวมสาขาสเตจจิ้งเข้าด้วยกันได้

  • คุณยังสามารถใช้ git merge โดยตรงบนเวิร์กสเตชันของคุณเพื่อรวมสาขาของคุณได้ Odoo.sh จะได้รับการแจ้งเตือนเมื่อมีการพุชรีวิชันใหม่ไปยังสาขาของคุณ

การรวมสาขาสเตจจิ้งเข้ากับสาขาการใช้งานจริงจะรวมเฉพาะซอร์สโค้ดเท่านั้น การเปลี่ยนแปลงใดๆ ที่ทำกับฐานข้อมูลสเตจจิ้งจะไม่ถูกส่งไปยังฐานข้อมูลการใช้งานจริง อย่างไรก็ตาม หากคุณแก้ไขโค้ดในรีพอสิทอรี มันจะถูกส่งไปยังสาขาการใช้งานจริงเมื่อทำการรวม

หากคุณทดสอบการเปลี่ยนแปลงการกำหนดค่าในสาขาสเตจจิ้ง และต้องการให้นำไปใช้กับสาขาการใช้งานจริง คุณต้อง:

  • เขียนการเปลี่ยนแปลงการกำหนดค่าในไฟล์ข้อมูล XML เพื่อแทนที่การกำหนดค่าเริ่มต้นหรือมุมมองในสาขา จากนั้นเพิ่มเวอร์ชั่นของโมดูลในแมนิเฟสต์ (__manifest__.py) เพื่อทริกเกอร์การอัปเดตโมดูลเมื่อรวมสาขาสเตจจิ้งเข้ากับสาขาการใช้งานจริง

    Note

    วิธีนี้แนะนำสำหรับความสามารถในการขยายขนาดที่ดีขึ้นของการพัฒนาของคุณ เนื่องจากคุณจะใช้ฟีเจอร์การจัดการเวอร์ชันของ Git สำหรับการเปลี่ยนแปลงการกำหนดค่าทั้งหมด ซึ่งจะช่วยให้มั่นใจได้ว่าการเปลี่ยนแปลงของคุณสามารถตรวจสอบย้อนกลับได้

  • ส่งผ่านด้วยตนเองจากฐานข้อมูลสเตจจิ้งไปยังฐานข้อมูลการใช้งานจริงโดยการคัดลอกและวาง

แท็บ

ประวัติ

แท็บ History ให้ภาพรวมของประวัติสาขา:

  • ข้อความคอมมิตและผู้เขียน

  • อีเวนต์ต่างๆ ที่เชื่อมโยงกับแพลตฟอร์ม เช่น การเปลี่ยนสเตจ การนำเข้าฐานข้อมูล และการกู้คืนข้อมูลสำรอง

แท็บประวัติของสาขา

สถานะที่มุมขวาบนของแต่ละอีเวนต์แสดงการดำเนินการปัจจุบันบนฐานข้อมูล (เช่น การติดตั้ง การอัปเดต การนำเข้าข้อมูลสำรอง) หรือผลลัพธ์ (เช่น ข้อเสนอแนะการทดสอบ การนำเข้าข้อมูลสำรองสำเร็จ) หากการดำเนินการสำเร็จ ปุ่ม Connect จะปรากฏขึ้น ทำให้คุณสามารถเข้าถึงฐานข้อมูลได้

อีเมล

แท็บ Mails ประกอบด้วยตัวดักจับอีเมล ซึ่งให้ภาพรวมของอีเมลที่ส่งจากฐานข้อมูล

Note

ตัวดักจับอีเมลมีให้บริการสำหรับสาขาการพัฒนาและสเตจจิ้ง อีเมลจากฐานข้อมูลการใช้งานจริงจะถูกส่งจริงและไม่ถูกสกัดกั้นโดยตัวดักจับอีเมล

แท็บอีเมลของสาขา

เชลล์

แท็บ Shell ให้การเข้าถึงเชลล์ไปยังคอนเทนเนอร์

การคลิก Shell จะเปิดแท็บเบราว์เซอร์ใหม่ที่คุณสามารถรันคำสั่ง Linux พื้นฐาน (ls, top) ได้ คุณสามารถเปิด shell บนฐานข้อมูลได้โดยรัน psql

แท็บ shell ของสาขา

Tip

คุณสามารถเปิดแท็บ shell หลายแท็บพร้อมกันและจัดเรียงเลย์เอาต์ได้โดยการลากและวาง

Note

  • Shell ของอินสแตนซ์ production จะถูกไฮไลต์เป็นสีแดงเพื่อเน้นถึงความเสี่ยงในการจัดการอินสแตนซ์ production โดยตรง ในขณะที่ shell ของอินสแตนซ์ staging/development จะถูกไฮไลต์เป็นสีเหลือง

  • อินสแตนซ์ shell ที่รันนาน/เซสชัน shell ที่ไม่ได้ใช้งานอาจถูกยุติได้ตลอดเวลาเพื่อเพิ่มทรัพยากร

คำสั่ง

นี่คือภาพรวมของคำสั่งที่มีประโยชน์ที่คุณสามารถรันในเทอร์มินัลฐานข้อมูล Odoo.sh:

  • odoo-bin shell: เพื่อเปิด Odoo shell

  • odoo-update: เพื่ออัปเดตโมดูลในฐานข้อมูล

  • odoosh-restart: เพื่อรีสตาร์ทบริการ Odoo.sh (http หรือ cron)

  • odoosh-storage: เพื่อตรวจสอบการใช้พื้นที่จัดเก็บของระบบไฟล์คอนเทนเนอร์ของอินสแตนซ์ของคุณ

  • psql: เพื่อเปิด shell ของฐานข้อมูล

  • mutt: เพื่อตรวจสอบว่าอีเมลปรากฏอย่างไรในไคลเอนต์ข้อความ (อินสแตนซ์ staging และ development)

  • lnav ~/logs/odoo.log: เพื่อนำทางในไฟล์ odoo.log ของอินสแตนซ์ของคุณ

  • ncdu: เพื่อเปิดเครื่องมือวิเคราะห์การใช้ดิสก์พร้อมอินเทอร์เฟซแบบโต้ตอบ

  • grep: เพื่อกรองและค้นหาข้อมูลในไฟล์ log หรือไฟล์คอนฟิกูเรชัน

ผู้แก้ไข

การคลิก Editor จะเปิดแท็บเบราว์เซอร์ใหม่เพื่อเข้าถึงสภาพแวดล้อมการพัฒนาแบบบูรณาการออนไลน์ (IDE) เพื่อแก้ไขโค้ดต้นฉบับ คุณยังสามารถเปิดเทอร์มินัล, คอนโซล Python และคอนโซล Odoo shell ได้

แท็บ editor ของสาขา

คุณสามารถเปิดหลายแท็บและลากและวางเพื่อจัดเรียงเลย์เอาต์ตามที่คุณต้องการได้

ตรวจสอบ

แท็บ Monitor แสดงเมตริกการตรวจสอบประสิทธิภาพต่างๆ ของบิลด์ปัจจุบัน

ซูมเข้าด้วยเคอร์เซอร์เพื่อปรับช่วงเวลา หรือเลือกด้วยตนเองจากตัวเลือกช่วงเวลา นอกจากนี้ยังสามารถเปลี่ยนเขตเวลาได้

ตัวเลือกช่วงเวลาในแท็บมอนิเตอร์สาขา

Note

  • บันทึกทางเทคนิคใช้ UTC เสมอ ในการวิเคราะห์บันทึกเหล่านี้พร้อมกับเมตริกการตรวจสอบของคุณ ให้แน่ใจว่าได้เลือก UTC ในเครื่องมือตรวจสอบ

  • ในทำนองเดียวกัน เมื่อส่งตั๋วสนับสนุน ให้แน่ใจว่าข้อมูลที่คุณแชร์อิงจาก UTC เนื่องจาก Odoo ใช้เขตเวลานี้ในการตรวจสอบปัญหาประสิทธิภาพ

ข้อมูลจะถูกรวบรวมเป็นระยะ เมื่อเป็นเช่นนั้น จะแสดงเส้นประสีน้ำเงิน พร้อมด้วยแท็ก Aggregate Date ซึ่งหมายความว่าข้อมูลก่อนวันที่นี้จะปรากฏแบนราบเมื่อเปรียบเทียบกับข้อมูลหลังวันที่นี้ ดังนั้น เมื่อใช้เครื่องมือตรวจสอบ แนะนำให้เน้นที่อีเวนต์ล่าสุดเพื่อรับข้อมูลที่ละเอียดที่สุด

Note

เส้นประสีอื่นๆ ช่วยให้คุณเชื่อมโยงกับการเปลี่ยนแปลงอื่นๆ ในบิลด์ (การนำเข้าฐานข้อมูล git push ฯลฯ)

ข้อมูลรวบรวม CPU ในการตรวจสอบ

Tip

ในแต่ละกราฟ จะแสดงไอคอน 𝕚 (information) ที่มุมซ้ายบน เลื่อนเมาส์ไปเหนือเพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับสิ่งที่กราฟแสดง

เมตริก

ระบบ

กราฟ Memory แสดงข้อมูลเกี่ยวกับการใช้หน่วยความจำ:

  • Memory container แสดงถึง Odoo workers และกระบวนการคอนเทนเนอร์

  • Memory postgresql แสดงถึงฐานข้อมูล

กราฟหน่วยความจำในแท็บมอนิเตอร์

กราฟ CPU แสดงข้อมูลเกี่ยวกับการใช้ CPU:

  • CPU http แสดงถึง Odoo workers

  • CPU cron/mail แสดงถึงการกระทำตามกำหนดเวลาและอีเมลขาเข้า

  • CPU postgresql (กระบวนการฐานข้อมูล)

  • CPU other แสดงถึง webshells, editor ฯลฯ

กราฟ cpu ในแท็บมอนิเตอร์

กราฟ Storage แสดงข้อมูลเกี่ยวกับพื้นที่เก็บข้อมูลที่ใช้:

  • Container แสดงถึง filestore, log files และ user files

  • Postgresql แสดงถึงฐานข้อมูลและดัชนี

กราฟพื้นที่เก็บข้อมูลในแท็บมอนิเตอร์
HTTP

กราฟ Requests แสดงข้อมูลเกี่ยวกับจำนวนคำขอ HTTP ต่อวินาที:

  • HTTP successes แสดงถึงคำขอที่สำเร็จ

  • HTTP errors แสดงถึงคำขอที่ล้มเหลว (ตรวจสอบ odoo.log)

  • HTTP rate limited แสดงถึงคำขอที่ถูกปฏิเสธ อาจเนื่องจากขาด workers

กราฟคำขอในแท็บมอนิเตอร์

กราฟ Concurrent requests (max) แสดงจำนวนสูงสุดของคำขอ HTTP พร้อมกันต่อวินาที

กราฟคำขอพร้อมกันในแท็บมอนิเตอร์

Note

Database workers กำหนดจำนวนคำขอพร้อมกันที่สามารถจัดการได้พร้อมกัน จำเป็นต้องมี workers เพียงพอเพื่อจัดการคำขอขาเข้าทั้งหมดตามที่เข้ามา อย่างไรก็ตาม การมี workers เพิ่มเติมเกินกว่านี้ไม่ได้ปรับปรุงความเร็วในการประมวลผลคำขอ

Average Response time แสดงเวลาตอบสนองเฉลี่ยต่อคำขอ HTTP (เป็นมิลลิวินาที)

กราฟเวลาตอบสนองเฉลี่ยในแท็บมอนิเตอร์
อีเมล

กราฟ Incoming แสดงข้อมูลเกี่ยวกับจำนวนอีเมลขาเข้ารายวัน:

  • Received Emails แสดงถึงอีเมลที่ได้รับสำเร็จ

  • Received Emails bounced แสดงถึงอีเมลที่ไม่สามารถรับได้

กราฟขาเข้าในแท็บมอนิเตอร์

กราฟ ขาออก แสดงข้อมูลเกี่ยวกับจำนวนอีเมลขาออกรายวัน:

  • อีเมลที่ส่ง แสดงอีเมลที่ส่งสำเร็จ

  • อีเมลที่ส่งตีกลับ แสดงอีเมลที่ส่งไม่สำเร็จ

กราฟขาออกในแท็บมอนิเตอร์

บันทึก

แท็บ บันทึก แสดงมุมมองแบบเรียลไทม์ของบันทึกเซิร์ฟเวอร์ของคุณ

แท็บบันทึกของแบรนช์

มีบันทึกที่แตกต่างกัน:

  • pip.log: การติดตั้ง Python dependencies

  • install.log: การติดตั้งฐานข้อมูล (สำหรับแบรนช์พัฒนา รวมการทดสอบด้วย)

  • odoosh-import-database.log: กระบวนการนำเข้า dump ล่าสุด

  • odoo.log: เซิร์ฟเวอร์ที่กำลังทำงาน

  • update.log: การอัปเดตฐานข้อมูล

  • pg_slow_queries.log: คิวรี psql ที่ใช้เวลานานผิดปกติ

  • sh_webshell.log: การดำเนินการใน webshell

  • sh_editor.log: การดำเนินการในเครื่องมือแก้ไข

  • neutralize.log: การทำให้ฐานข้อมูลเป็นกลาง (เฉพาะ staging)

บันทึกเลื่อนอัตโนมัติ

เมื่อมีการเพิ่มบรรทัดใหม่ในบันทึก จะแสดงโดยอัตโนมัติ หากคุณเลื่อนไปที่ด้านล่าง เบราว์เซอร์จะเลื่อนโดยอัตโนมัติทุกครั้งที่มีการเพิ่มบรรทัดใหม่

คุณสามารถหยุดกระบวนการดึงบันทึกชั่วคราวได้โดยคลิกปุ่ม (หยุดชั่วคราว) ที่มุมบนขวา มิฉะนั้น กระบวนการจะหยุดหลังจากห้านาที คุณสามารถเริ่มใหม่ได้โดยคลิกปุ่ม (เล่น)

การสำรองข้อมูล

แท็บ สำรองข้อมูล แสดงรายการสำรองข้อมูลที่มีให้ดาวน์โหลดและกู้คืน ให้คุณทำการสำรองข้อมูลด้วยตนเองและนำเข้าฐานข้อมูล

แท็บสำรองข้อมูลของแบรนช์

ฐานข้อมูลการผลิตจะได้รับการสำรองข้อมูลอัตโนมัติทุกวัน จะเก็บการสำรองข้อมูลรายวันไว้เจ็ดครั้ง รายสัปดาห์สี่ครั้ง และรายเดือนสามครั้ง การสำรองข้อมูลแต่ละครั้งจะรวมถึงการดัมพ์ฐานข้อมูล ที่เก็บไฟล์ (ไฟล์แนบและฟิลด์ไบนารี) บันทึก และเซสชัน

Note

คุณสามารถอ้างอิงถึง ตารางเวลาโดยประมาณของการสำรองข้อมูลอัตโนมัติ เพื่อทำความเข้าใจระบบการทำงานได้ดีขึ้น ไฟล์นี้จะได้รับการอัปเดตทุกวัน โดยใช้วันปัจจุบันเป็นจุดเริ่มต้น

ฐานข้อมูล staging และ development จะไม่ได้รับการสำรองข้อมูลอัตโนมัติ อย่างไรก็ตาม คุณสามารถกู้คืนการสำรองข้อมูลของฐานข้อมูลการผลิตในบรานช์ staging ของคุณเพื่อวัตถุประสงค์ในการทดสอบ หรือกู้คืนข้อมูลที่ถูกลบออกจากฐานข้อมูลการผลิตโดยไม่ตั้งใจด้วยตนเอง

รายการประกอบด้วยการสำรองข้อมูลที่เก็บไว้บนเซิร์ฟเวอร์ของฐานข้อมูลการผลิตของคุณ เซิร์ฟเวอร์นี้จะเก็บการสำรองข้อมูลไว้เพียงหนึ่งเดือน ได้แก่ การสำรองข้อมูลรายวันเจ็ดครั้งและรายสัปดาห์สี่ครั้ง

เซิร์ฟเวอร์สำรองข้อมูลเฉพาะจะเก็บการสำรองข้อมูลเดียวกัน รวมถึงการสำรองข้อมูลรายเดือนเพิ่มเติมอีกสามครั้ง หากต้องการกู้คืนหรือดาวน์โหลดการสำรองข้อมูลรายเดือนเหล่านี้ โปรดติดต่อ ฝ่ายสนับสนุน Odoo

เมื่อมีการรวมคอมมิตที่อัปเดตเวอร์ชั่นของโมดูลหนึ่งหรือหลายโมดูล (ใน __manifest__.py) หรือ Python dependencies ที่ใช้อยู่ (ใน ความต้องการ.txt) Odoo.sh จะทำการสำรองข้อมูลอัตโนมัติ (ถูกทำเครื่องหมายด้วยประเภท อัพเดท ในรายการ) เนื่องจากคอนเทนเนอร์จะถูกเปลี่ยนแปลงโดยการติดตั้งแพ็กเกจ pip ใหม่ หรือฐานข้อมูลเองจะถูกเปลี่ยนแปลงด้วยการอัปเดตโมดูลที่ถูกเรียกใช้ภายหลัง ในทั้งสองกรณีนี้ การสำรองข้อมูลจะถูกเรียกใช้เนื่องจากอาจทำให้เกิดปัญหาได้

หากคอมมิตที่ผ่านการรวมไม่ได้อัปเดตเวอร์ชั่นของโมดูลหรือการอ้างอิงที่เชื่อมโยง Odoo.sh จะไม่สร้างการสำรองข้อมูล เนื่องจากทั้งคอนเทนเนอร์และฐานข้อมูลไม่ได้รับการแก้ไข ดังนั้นแพลตฟอร์มจึงถือว่าปลอดภัยเพียงพอ เพื่อความระมัดระวังเพิ่มเติม คุณสามารถสำรองข้อมูลด้วยตนเองก่อนแก้ไขซอร์สโค้ดการผลิต

วัตถุประสงค์ของการสำรองข้อมูลด้วยตนเองคือการสร้างสแนปช็อตเฉพาะของฐานข้อมูลการผลิตหรือ staging (ไม่สามารถใช้ได้สำหรับการพัฒนา) ข้อมูลเหล่านี้จะพร้อมใช้งานเป็นเวลาเจ็ดวัน อย่างไรก็ตาม มีข้อจำกัดในการสำรองข้อมูลด้วยตนเองห้าครั้งต่อวัน

ขั้นตอน

การสำรองข้อมูลอัตโนมัติ

การสำรองข้อมูลด้วยตนเอง

การผลิต

ใช่ (สูงสุด 3 เดือน)

ใช่ (3 วัน)

การจัดเตรียม

ไม่

ใช่ (3 วัน)

การพัฒนา

ไม่

ไม่

ฟีเจอร์ นำเข้าฐานข้อมูล รับไฟล์เก็บถาวรฐานข้อมูลจาก:

  • ตัวจัดการฐานข้อมูล Odoo มาตรฐาน (สำหรับเซิร์ฟเวอร์ Odoo ภายในองค์กรภายใต้ /web/database/manager)

  • ตัวจัดการฐานข้อมูล Odoo Online

  • แท็บ การสำรองข้อมูล ของ Odoo.sh (โดยใช้ปุ่ม (ตัวเลือกการดาวน์โหลด))

  • มุมมอง บิลด์ ของ Odoo.sh (โดยคลิก ดาวน์โหลด DB dump)

อัพเกรด

แท็บ อัปเกรด สามารถใช้เพื่ออัปเกรดบรานช์การผลิตและ staging ของโปรเจกต์ที่ถูกต้อง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการอัปเกรด โปรดดู เอกสารประกอบการอัปเกรด

แท็บอัปเกรดบรานช์

เครื่องมือ

แท็บ เครื่องมือ ประกอบด้วยตัววิเคราะห์โค้ด ใช้สำหรับเริ่มเซสชันการวิเคราะห์ บันทึกกิจกรรมของ Odoo workers ที่ทำงานในอินสแตนซ์เป็นเวลาสูงสุด 5 นาที คุณสามารถเลือกสิ้นสุดเซสชันก่อนหน้านี้ได้ เนื่องจากการรันเครื่องมือในระยะเวลาที่สั้นลงจะช่วยลดปริมาณสัญญาณรบกวนในรายงาน

การใช้ตัววิเคราะห์โค้ด

หลังจากแต่ละเซสชัน กราฟเปลวไฟแบบโต้ตอบจะถูกสร้างขึ้นเพื่อช่วยให้คุณเห็นภาพว่า Odoo workers จัดสรรเวลาอย่างไร

Warning

การรันตัววิเคราะห์ใช้ทรัพยากรเซิร์ฟเวอร์จำนวนมาก ดังนั้นหลีกเลี่ยงการปล่อยให้ทำงานนานเกินไป เป้าหมายคือบันทึกการดำเนินการเฉพาะในฐานข้อมูลของคุณ

การตั้งค่า

แท็บ การตั้งค่า แสดงรายการตัวเลือกการกำหนดค่าที่มีสำหรับแบรนช์ที่เลือกอยู่ในขณะนี้ ตัวเลือกจะแตกต่างกันในแต่ละสเตจ

แท็บการตั้งค่าแบรนช์

พฤติกรรมเมื่อมีคอมมิตใหม่

คุณสามารถเปลี่ยนพฤติกรรมของแบรนช์เมื่อได้รับคอมมิตใหม่สำหรับแบรนช์ development และ staging

ตามค่าเริ่มต้น แบรนช์ development จะสร้างบิลด์ใหม่ และแบรนช์ staging จะอัปเดตบิลด์ก่อนหน้า ซึ่งมีประโยชน์หากฟีเจอร์ที่คุณกำลังทำงานต้องการการกำหนดค่าเฉพาะ เนื่องจากคุณจะไม่ต้องกำหนดค่าด้วยตนเองอีกครั้งหลังจากคอมมิตแต่ละครั้ง

หากคุณเลือก บิลด์ใหม่ สำหรับแบรนช์ staging สำเนาใหม่ของบิลด์ production จะถูกสร้างขึ้นทุกครั้งที่มีการพุชคอมมิต

แบรนช์ที่ถูกย้ายจาก staging ไปเป็น development จะถูกตั้งค่าอัตโนมัติเป็น ไม่ทำอะไร

การติดตั้งโมดูล

คุณสามารถเลือกว่าควรติดตั้งโมดูลใดโดยอัตโนมัติสำหรับแบรนช์ development

แท็บการตั้งค่าการติดตั้งโมดูล

หากต้องการเปลี่ยนพฤติกรรมเริ่มต้น ให้ยกเลิกการเลือกตัวเลือก ใช้ค่าเริ่มต้น ภายใต้ พฤติกรรมบิลด์การพัฒนา และเลือกตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้ภายใต้ การติดตั้งโมดูล:

  • ติดตั้งเฉพาะโมดูลของฉัน (ไม่รวมซับโมดูล): ติดตั้งเฉพาะโมดูลของแบรนช์ ยกเว้น ซับโมดูล นี่คือตัวเลือกเริ่มต้น

  • การติดตั้งแบบเต็ม (ไม่มีชุดทดสอบ): ติดตั้งโมดูลของแบรนช์ ซับโมดูล และโมดูล Odoo มาตรฐานทั้งหมด เมื่อรันการติดตั้งแบบเต็ม ชุดทดสอบจะถูกปิดใช้งาน

  • ติดตั้งรายการโมดูล: ติดตั้งโมดูลที่ระบุ โดยป้อนชื่อทางเทคนิคและคั่นด้วยเครื่องหมายจุลภาค (เช่น sale_management,website,accountant)

Note

หากเปิดใช้งานชุดทดสอบ การติดตั้งโมดูล Odoo มาตรฐานทั้งหมดอาจใช้เวลานานถึง 1 ชั่วโมง

ชุดทดสอบ

ตามค่าเริ่มต้น ชุดทดสอบสำหรับสาขา การพัฒนา จะเปิดใช้งานอยู่ คุณสามารถจำกัดการทดสอบที่จะรันได้โดยการป้อน แท็กทดสอบ และแยกแต่ละรายการด้วยเครื่องหมายจุลภาค (เช่น custom_tags,at_install,post_install)

หากต้องการปิดการใช้งานชุดทดสอบทั้งหมด ให้ยกเลิกการเลือก ตรวจสอบความถูกต้องของชุดทดสอบในบิลด์ใหม่

เวอร์ชัน Odoo

คุณสามารถเปลี่ยนเวอร์ชั่นของ Odoo สำหรับสาขา การพัฒนา ได้ เช่น เพื่อทดสอบโค้ดที่อัปเกรดหรือพัฒนาฟีเจอร์ใหม่ในขณะที่ฐานข้อมูลการใช้งานจริงของคุณอยู่ในระหว่างการอัปเกรดไปยังเวอร์ชั่นที่ใหม่กว่า โดยการเลือก เวอร์ชั่น อื่น

ตามค่าเริ่มต้น ล่าสุด ถูกเลือกเป็น รุ่นแก้ไข และซอร์สโค้ดของเซิร์ฟเวอร์ Odoo ของคุณจะได้รับการอัปเดตโดยอัตโนมัติทุกสัปดาห์เพื่อรับการแก้ไขข้อบกพร่อง ความปลอดภัย และประสิทธิภาพล่าสุด

หากต้องการเลือกรุ่นแก้ไขเฉพาะ ให้เลือกโดยใช้ฟิลด์ รุ่นแก้ไข

Warning

รุ่นแก้ไขจะหมดอายุหลังจากสามเดือน คุณจะได้รับการแจ้งเตือนทางอีเมลเมื่อวันหมดอายุของรุ่นแก้ไขใกล้เข้ามา หากคุณไม่ได้ดำเนินการใดๆ เมื่อหมดอายุ ฟิลด์ รุ่นแก้ไข จะถูกตั้งค่ากลับเป็น ล่าสุด โดยอัตโนมัติ

รุ่นแก้ไขในแท็บการตั้งค่า

โดเมนที่กำหนดเอง

คุณสามารถกำหนดค่าโดเมน <name>.odoo.com เพิ่มเติมหรือโดเมนที่กำหนดเองของคุณเองสำหรับทุกประเภทสาขาได้

หากต้องการใช้โดเมนที่กำหนดเองของคุณเอง จำเป็นต้อง:

  • เป็นเจ้าของหรือซื้อชื่อโดเมน

  • ป้อนชื่อโดเมนภายใต้ โดเมนที่กำหนดเอง (เช่น www.mycompany.com) จากนั้นคลิก เพิ่มโดเมน

  • กำหนดค่าชื่อโดเมน (เช่น www.mycompany.com) โดยใช้ตัวจัดการชื่อโดเมนของผู้ลงทะเบียนของคุณด้วยค่าเรกคอร์ด CNAME ที่ตั้งเป็นชื่อโดเมนฐานข้อมูลการใช้งานจริงของคุณ (เช่น mycompany.odoo.com)

Important

โดเมนเปล่า (เช่น mycompany.com) ไม่ได้รับการยอมรับ สามารถกำหนดค่าได้โดยใช้เรกคอร์ด A เท่านั้น ซึ่งรับเฉพาะที่อยู่ IP เป็นค่าของมัน ดังนั้นโดเมนเปล่าอาจหยุดทำงานอย่างกะทันหันเนื่องจากที่อยู่ IP ของฐานข้อมูลสามารถเปลี่ยนแปลงได้ (เช่น หลังจากการอัปเกรด ความล้มเหลวของฮาร์ดแวร์ การเปลี่ยนแปลงตำแหน่งโฮสต์ฐานข้อมูล)

หากต้องการให้ทั้งโดเมนเปล่า (เช่น mycompany.com) และโดเมน www (เช่น www.mycompany.com) ทำงานได้ จำเป็นต้องเปลี่ยนเส้นทางโดเมนเปล่าไปยังโดเมน www ตัวจัดการโดเมนส่วนใหญ่มีวิธีกำหนดค่าการเปลี่ยนเส้นทางนี้ ซึ่งมักเรียกว่าการเปลี่ยนเส้นทางเว็บ

HTTPS/SSL

หากการเปลี่ยนเส้นทางได้รับการตั้งค่าอย่างถูกต้อง ใบรับรอง SSL จะถูกสร้างขึ้นโดยอัตโนมัติโดยใช้ Let's Encrypt ภายในหนึ่งชั่วโมง ซึ่งหมายความว่าโดเมนของคุณจะเข้าถึงได้ผ่าน HTTPS

การปฏิบัติตาม SPF และ DKIM

หากโดเมนของที่อยู่อีเมลของคุณใช้โปรโตคอลการตรวจสอบสิทธิ์ SPF หรือ DKIM จำเป็นต้องอนุญาต Odoo เป็นโฮสต์ส่งในการตั้งค่าชื่อโดเมนเพื่อเพิ่มความสามารถในการส่งอีเมลขาออก สำหรับข้อมูลเพิ่มเติม โปรดดูที่ เอกสารประกอบการกำหนดค่าเรกคอร์ด DNS เพื่อส่งอีเมลใน Odoo

Important

หาก Odoo ไม่ได้รับอนุญาตให้เป็นโฮสต์ส่งอีเมล อีเมลขาออกของคุณอาจถูกทำเครื่องหมายว่าเป็นสแปม

คำสั่งเชลล์

ที่มุมขวาบนของมุมมอง จะแสดงคำสั่งเชลล์หลายคำสั่ง คำสั่งเหล่านี้สามารถคัดลอกโดยใช้ปุ่มคลิปบอร์ดแล้วนำไปใช้ในเทอร์มินัล นอกจากนี้ บางคำสั่งยังสามารถใช้งานได้โดยตรงจากอินเทอร์เฟซของ Odoo.sh

ทางลัดคำสั่งเชลล์ของสาขา

โคลน

คำสั่ง clone ใช้สำหรับสร้างสำเนาของ Git repository ในเครื่องของคุณ

Example

git clone --recurse-submodules --branch development git@github.com:my-organization/my-repository.git
  • --recurse-submodules เพื่อดาวน์โหลด submodules ของ repository

  • --branch main เพื่อเช็คเอาต์ไปยังสาขาเฉพาะของ repository (เช่น development)

Note

ปุ่ม run ไม่สามารถใช้งานได้เนื่องจากคำสั่งนี้ใช้สำหรับสร้างสำเนาในเครื่องของคุณ

ฟอร์ค

คำสั่ง fork ใช้สำหรับสร้างสาขาใหม่จากสาขาปัจจุบัน

Example

git checkout -b main-1 development && git push -u origin development-1
  • git checkout -b main-1 main คำสั่งในการสร้างสาขาใหม่ (เช่น development-1) ตามสาขาปัจจุบัน (เช่น development)

  • git push -u origin development-1 คำสั่งในการอัปโหลดสาขาใหม่ (เช่น development-1) ไปยังที่เก็บระยะไกล

ผสาน

คำสั่ง merge ใช้สำหรับรวมการเปลี่ยนแปลงจากสาขาหนึ่งเข้ากับอีกสาขาหนึ่ง

Example

git merge staging-1 && git push -u origin staging
  • git merge staging-1 คำสั่งในการผสานการเปลี่ยนแปลงของสาขาปัจจุบันเข้ากับสาขาอื่น (เช่น staging-1)

  • git push -u origin staging คำสั่งในการอัปโหลดการเปลี่ยนแปลงที่ผสานแล้วไปยังสาขาที่เก็บระยะไกล (เช่น staging)

SSH

คำสั่ง SSH ใช้สำหรับเชื่อมต่อกับบิลด์ผ่าน SSH

ในการใช้คำสั่ง SSH จำเป็นต้องตั้งค่า SSH key ก่อน โดยทำดังนี้:

Example

ssh 25004381@my-user-my-repository-staging-25004381.dev.odoo.com
  • 25004381 คือ build ID

  • my-user-my-repository-staging-25004381.dev.odoo.com คือโดเมนที่ใช้เชื่อมต่อกับบิลด์

หากคุณมี:ref:`สิทธิ์การเข้าถึง <odoo-sh/settings/collaborators>`ที่จำเป็นในโปรเจกต์ คุณจะได้รับการเข้าถึง SSH ไปยังบิลด์

Note

การเชื่อมต่อ SSH ระยะยาวไม่มีการรับประกัน การเชื่อมต่อที่ไม่มีการใช้งานอาจถูกตัดการเชื่อมต่อเพื่อเพิ่มทรัพยากร

โมดูลย่อย

คำสั่ง submodule ใช้สำหรับเพิ่ม branch จาก repository อื่นเข้าไปใน branch ปัจจุบันของคุณเป็น submodule

ดูเพิ่มเติม

เอกสารประกอบ Submodules

Example

git submodule add -b master <URL> <PATH> && git commit -a && git push -u origin staging
  • git submodule add -b master <URL> <PATH> คำสั่งในการเพิ่มสาขาเฉพาะ (เช่น master) ของที่เก็บ (<URL>) เป็นซับโมดูลภายใต้เส้นทางที่ระบุ (<PATH>) ในสาขาปัจจุบันของคุณ

  • git commit -a คำสั่งในการคอมมิตการเปลี่ยนแปลงทั้งหมดในปัจจุบัน

  • git push -u origin staging คำสั่งสำหรับอัปโหลดการเปลี่ยนแปลงของบรานช์ปัจจุบัน (เช่น staging) ไปยังพื้นที่เก็บข้อมูลระยะไกล

ลบ

คำสั่ง delete ใช้สำหรับลบ branch ออกจาก repository ของคุณ

Note

เมื่อคุณลบ branch แล้ว จะไม่มีทางกู้คืนได้เว้นแต่จะมีการสำรองข้อมูลไว้ Staging branches จะไม่ได้รับการสำรองข้อมูลอัตโนมัติ แต่สามารถสำรองด้วยตนเองได้ Development branches ไม่สามารถสำรองข้อมูลได้

Example

git push origin :staging && git branch -D staging
  • git push origin :staging คำสั่งสำหรับลบบรานช์ที่ระบุ (เช่น staging) บนพื้นที่เก็บข้อมูลระยะไกล

  • git branch -D staging คำสั่งสำหรับลบบรานช์ที่ระบุในสำเนาพื้นที่เก็บข้อมูลบนเครื่องของคุณ

Warning

ก่อนลบ branch ให้ดูที่:ref:ส่วน Backups <odoo-sh/branches/tabs/backups> เพื่อทำความเข้าใจว่าทำงานอย่างไรและเมื่อใดที่คุณควรสร้างการสำรองข้อมูลด้วยตนเอง