สาขา¶
มุมมอง สาขา ให้ภาพรวมของสาขาต่างๆ ในที่เก็บของคุณ
สถานะ¶
NightPOS.sh offers three different branch stages:
คุณสามารถเปลี่ยนขั้นตอนของสาขาได้โดยการลากและวางไว้ใต้ขั้นตอนที่ต้องการ
Note
สาขาพัฒนาสามารถย้ายไปใต้ Staging ได้ หากคุณพยายามย้ายสาขาพัฒนาไปใต้ Production ข้อความเตือนจะแสดงขึ้นเพื่ออธิบายว่าคุณสามารถมีสาขาโปรดักชั่นได้เพียงหนึ่งสาขาต่อหนึ่งโปรเจกต์เท่านั้น
สาขาสเตจจิ้งสามารถย้ายไปใต้ Development ได้ แต่ไม่สามารถย้ายไปใต้ Production ได้
The production branch can only be moved under Development. If you try to move it under Staging, you can only perform a merge. Refer to the merging section for a detailed explanation of this process.
การผลิต¶
สาขาโปรดักชั่นประกอบด้วยโค้ดที่ใช้เพื่อรันฐานข้อมูลโปรดักชั่น สามารถมีสาขาโปรดักชั่นได้เพียงหนึ่งสาขาเท่านั้น
เมื่อคุณพุชคอมมิตใหม่ไปยังสาขานี้ เซิร์ฟเวอร์โปรดักชั่นจะได้รับการอัปเดตด้วยโค้ดที่แก้ไขแล้วและรีสตาร์ท
หากการเปลี่ยนแปลงต้องการการอัปเดตโมดูล เช่น การเปลี่ยนแบบฟอร์มมุมมอง และคุณต้องการให้การอัปเดตดำเนินการโดยอัตโนมัติ คุณสามารถเพิ่มหมายเลขเวอร์ชั่นของโมดูลในไฟล์แมนิเฟสต์ (__manifest__.py) แพลตฟอร์มจะดำเนินการอัปเดต ซึ่งในระหว่างนั้นอินสแตนซ์จะไม่สามารถใช้งานได้ชั่วคราวเพื่อการซ่อมบำรุง
วิธีนี้เทียบเท่ากับการอัปเกรดโมดูลโดยใช้เมนู Apps หรือสวิตช์ -u บน the command line
Note
หากการเปลี่ยนแปลงป้องกันไม่ให้เซิร์ฟเวอร์รีสตาร์ทหรือการอัปเดตโมดูลล้มเหลว เซิร์ฟเวอร์จะถูกย้อนกลับไปยังรีวิชั่นโค้ดที่ประสบความสำเร็จก่อนหน้านี้โดยอัตโนมัติ และฐานข้อมูลจะถูกย้อนกลับไปยังสถานะก่อนหน้า เข้าถึงบันทึกของการอัปเดตที่ล้มเหลวเพื่อแก้ไขปัญหา
ข้อมูลสาธิตจะไม่ถูกโหลด เนื่องจากไม่ได้มีไว้สำหรับใช้งานบนฐานข้อมูลโปรดักชั่น การทดสอบหน่วย จะไม่ถูกดำเนินการ เนื่องจากจะเพิ่มเวลาที่ฐานข้อมูลโปรดักชั่นไม่สามารถใช้งานได้ในระหว่างการอัปเดต
NightPOS.sh automatically backs up the production database. It keeps seven daily, four weekly, and three monthly backups. Each backup includes the database dump, the filestore (attachments and binary fields), logs, and sessions.
Warning
เมื่อใช้งาน โปรเจกต์ทดลอง สาขาโปรดักชั่นและสาขาสเตจจิ้งทั้งหมดจะถูกตั้งค่ากลับไปเป็นขั้นตอนพัฒนาโดยอัตโนมัติหลังจาก 30 วัน
การจัดเตรียม¶
สาขาสเตจจิ้งมีไว้เพื่อทดสอบฟีเจอร์ใหม่โดยใช้ข้อมูลโปรดักชั่นโดยไม่ส่งผลกระทบต่อฐานข้อมูลโปรดักชั่นจริงด้วยบันทึกทดสอบ สาขาเหล่านี้สร้างสำเนาที่เป็นกลางของฐานข้อมูลโปรดักชั่น
การทำให้เป็นกลางจะปิดการใช้งาน:
การดำเนินการตามกำหนดเวลา
Note
หากต้องการทดสอบ ให้เรียกใช้ด้วยตนเองหรือเปิดใช้งานอีกครั้ง โปรดทราบว่าแพลตฟอร์มจะเรียกใช้น้อยลงหากไม่มีผู้ใช้งานฐานข้อมูลเพื่อประหยัดทรัพยากร
อีเมลขาออก
Note
They are instead intercepted using a mail catcher. An interface to view the emails sent by the database is provided in your NightPOS.sh project. That way, no emails are sent to your contacts.
บริการ IAP
ผู้ให้บริการชำระเงินและตัวเชื่อมต่อการจัดส่ง
Note
จะถูกตั้งค่าเป็นโหมดทดสอบ
If you configure or view changes in a staging database, make sure to record them (noting them step by step, reproducing in production, etc.) or write them directly in the branch's modules, using XML data files to override the default configuration or views. Check the first module documentation to view examples.
Note
Unit tests are not performed. They rely on demo data, which is not loaded into the production and staging databases. If NightPOS starts supporting running the units without demo data, NightPOS.sh will then consider running the tests on staging databases.
ฐานข้อมูลสเตจจิ้งไม่ได้รับการสำรองข้อมูลอัตโนมัติ อย่างไรก็ตาม คุณสามารถกู้คืนข้อมูลสำรองของฐานข้อมูลโปรดักชันในสาขาสเตจจิ้งเพื่อวัตถุประสงค์ในการทดสอบหรือเพื่อกู้คืนข้อมูลที่ถูกลบออกจากฐานข้อมูลโปรดักชันโดยไม่ได้ตั้งใจ สามารถสร้างข้อมูลสำรองด้วยตนเองของฐานข้อมูลสเตจจิ้งได้
Warning
ฐานข้อมูลที่สร้างสำหรับแบรนช์สเตจจิ้งจะถูกลบโดยอัตโนมัติหลังจากหนึ่งเดือน หากต้องการใช้แบรนช์อีกครั้ง คุณต้องสร้างใหม่
การพัฒนา¶
สาขาดีเวลลอปเมนต์จะสร้างฐานข้อมูลใหม่โดยใช้ข้อมูลสาธิตเพื่อรันการทดสอบหน่วย โมดูลที่ติดตั้งคือโมดูลที่รวมอยู่ในสาขา คุณสามารถเปลี่ยนรายการโมดูลที่จะติดตั้งได้ใน:doc:การตั้งค่าโปรเจกต์ <settings>
When pushing a commit to a development branch, a new server is started, with a database created from scratch, and the branch is updated. The demo data is loaded, and the unit tests are performed by default to verify that the changes do not break any of the features being tested. You can disable the tests or allow specific tests to be run with custom tags by going to the branch's settings.
คล้ายกับสาขา staging อีเมลจะไม่ถูกส่งแต่จะถูกดักจับโดย mail catcher และการดำเนินการตามกำหนดเวลาจะไม่ถูกเรียกใช้ตราบใดที่ไม่มีการใช้งานฐานข้อมูล
ฐานข้อมูลที่สร้างสำหรับสาขาดีเวลลอปเมนต์จะไม่สำรองข้อมูลอัตโนมัติ และไม่สามารถสำรองข้อมูลด้วยตนเองได้
Warning
ฐานข้อมูลที่สร้างสำหรับสาขาดีเวลลอปเมนต์มีไว้เพื่อใช้งานประมาณสามวัน หลังจากนั้นจะถูกเก็บขยะอัตโนมัติเพื่อเพิ่มพื้นที่สำหรับฐานข้อมูลใหม่โดยไม่ต้องแจ้งให้ทราบล่วงหน้า
การรวมสาขา¶
คุณสามารถรวมสาขาของคุณโดยการลากและวางเข้าหากัน
หากต้องการทดสอบการเปลี่ยนแปลงของสาขาดีเวลลอปเมนต์กับข้อมูลโปรดักชัน คุณสามารถ:
รวมสาขาดีเวลลอปเมนต์เข้ากับสาขา staging โดยการลากและวางลงบนสาขาที่ต้องการ หรือ
ลากและวางสาขาการพัฒนาไปไว้ภายใต้ส่วน Staging เพื่อทำให้เป็นสาขาสเตจจิ้ง
เมื่อการเปลี่ยนแปลงพร้อมสำหรับการใช้งานจริง ให้ลากและวางสาขาสเตจจิ้งไปยังสาขาการใช้งานจริงเพื่อรวมและปรับใช้การเปลี่ยนแปลงเหล่านั้น
Note
คุณสามารถรวมสาขาการพัฒนาเข้ากับสาขาการใช้งานจริงได้โดยตรง อย่างไรก็ตาม การเปลี่ยนแปลงจะไม่ได้รับการตรวจสอบความถูกต้องกับข้อมูลการใช้งานจริงผ่านสาขาสเตจจิ้ง ดังนั้นจึงมีความเสี่ยงสูงที่จะพบปัญหาในฐานข้อมูลการใช้งานจริง
คุณสามารถรวมสาขาการพัฒนาเข้าด้วยกัน และรวมสาขาสเตจจิ้งเข้าด้วยกันได้
You can also use
git mergedirectly on your workstation to merge your branches. NightPOS.sh is notified when new revisions are pushed to your branches.
การรวมสาขาสเตจจิ้งเข้ากับสาขาการใช้งานจริงจะรวมเฉพาะซอร์สโค้ดเท่านั้น การเปลี่ยนแปลงใดๆ ที่ทำกับฐานข้อมูลสเตจจิ้งจะไม่ถูกส่งไปยังฐานข้อมูลการใช้งานจริง อย่างไรก็ตาม หากคุณแก้ไขโค้ดในรีพอสิทอรี มันจะถูกส่งไปยังสาขาการใช้งานจริงเมื่อทำการรวม
หากคุณทดสอบการเปลี่ยนแปลงการกำหนดค่าในสาขาสเตจจิ้ง และต้องการให้นำไปใช้กับสาขาการใช้งานจริง คุณต้อง:
เขียนการเปลี่ยนแปลงการกำหนดค่าในไฟล์ข้อมูล XML เพื่อแทนที่การกำหนดค่าเริ่มต้นหรือมุมมองในสาขา จากนั้นเพิ่มเวอร์ชั่นของโมดูลในแมนิเฟสต์ (
__manifest__.py) เพื่อทริกเกอร์การอัปเดตโมดูลเมื่อรวมสาขาสเตจจิ้งเข้ากับสาขาการใช้งานจริงNote
วิธีนี้แนะนำสำหรับความสามารถในการขยายขนาดที่ดีขึ้นของการพัฒนาของคุณ เนื่องจากคุณจะใช้ฟีเจอร์การจัดการเวอร์ชันของ Git สำหรับการเปลี่ยนแปลงการกำหนดค่าทั้งหมด ซึ่งจะช่วยให้มั่นใจได้ว่าการเปลี่ยนแปลงของคุณสามารถตรวจสอบย้อนกลับได้
ส่งผ่านด้วยตนเองจากฐานข้อมูลสเตจจิ้งไปยังฐานข้อมูลการใช้งานจริงโดยการคัดลอกและวาง
แท็บ¶
ประวัติ¶
แท็บ History ให้ภาพรวมของประวัติสาขา:
ข้อความคอมมิตและผู้เขียน
อีเวนต์ต่างๆ ที่เชื่อมโยงกับแพลตฟอร์ม เช่น การเปลี่ยนสเตจ การนำเข้าฐานข้อมูล และการกู้คืนข้อมูลสำรอง
สถานะที่มุมขวาบนของแต่ละอีเวนต์แสดงการดำเนินการปัจจุบันบนฐานข้อมูล (เช่น การติดตั้ง การอัปเดต การนำเข้าข้อมูลสำรอง) หรือผลลัพธ์ (เช่น ข้อเสนอแนะการทดสอบ การนำเข้าข้อมูลสำรองสำเร็จ) หากการดำเนินการสำเร็จ ปุ่ม Connect จะปรากฏขึ้น ทำให้คุณสามารถเข้าถึงฐานข้อมูลได้
อีเมล¶
แท็บ Mails ประกอบด้วยตัวดักจับอีเมล ซึ่งให้ภาพรวมของอีเมลที่ส่งจากฐานข้อมูล
Note
ตัวดักจับอีเมลมีให้บริการสำหรับสาขาการพัฒนาและสเตจจิ้ง อีเมลจากฐานข้อมูลการใช้งานจริงจะถูกส่งจริงและไม่ถูกสกัดกั้นโดยตัวดักจับอีเมล
เชลล์¶
แท็บ Shell ให้การเข้าถึงเชลล์ไปยังคอนเทนเนอร์
การคลิก Shell จะเปิดแท็บเบราว์เซอร์ใหม่ที่คุณสามารถรันคำสั่ง Linux พื้นฐาน (ls, top) ได้ คุณสามารถเปิด shell บนฐานข้อมูลได้โดยรัน psql
Tip
คุณสามารถเปิดแท็บ shell หลายแท็บพร้อมกันและจัดเรียงเลย์เอาต์ได้โดยการลากและวาง
Note
Shell ของอินสแตนซ์ production จะถูกไฮไลต์เป็นสีแดงเพื่อเน้นถึงความเสี่ยงในการจัดการอินสแตนซ์ production โดยตรง ในขณะที่ shell ของอินสแตนซ์ staging/development จะถูกไฮไลต์เป็นสีเหลือง
อินสแตนซ์ shell ที่รันนาน/เซสชัน shell ที่ไม่ได้ใช้งานอาจถูกยุติได้ตลอดเวลาเพื่อเพิ่มทรัพยากร
คำสั่ง¶
Here is an overview of useful commands that you can run an NightPOS.sh database terminal:
odoo-bin shell: to open an NightPOS shellnightpos-update: to update modules in the databasenightpossh-restart: to restart NightPOS.sh services (http or cron)nightpossh-storage: to check the storage usage of your instance's container filesystempsql: เพื่อเปิด shell ของฐานข้อมูลmutt: เพื่อตรวจสอบว่าอีเมลปรากฏอย่างไรในไคลเอนต์ข้อความ (อินสแตนซ์ staging และ development)lnav ~/logs/nightpos.log: to navigate in your instance'snightpos.logfilencdu: เพื่อเปิดเครื่องมือวิเคราะห์การใช้ดิสก์พร้อมอินเทอร์เฟซแบบโต้ตอบgrep: เพื่อกรองและค้นหาข้อมูลในไฟล์ log หรือไฟล์คอนฟิกูเรชัน
ผู้แก้ไข¶
Clicking Editor opens a new browser tab to access an online integrated development environment (IDE) to edit the source code. You can also open terminals, Python consoles, and NightPOS shell consoles.
คุณสามารถเปิดหลายแท็บและลากและวางเพื่อจัดเรียงเลย์เอาต์ตามที่คุณต้องการได้
ดูเพิ่มเติม
ตรวจสอบ¶
แท็บ Monitor แสดงเมตริกการตรวจสอบประสิทธิภาพต่างๆ ของบิลด์ปัจจุบัน
ซูมเข้าด้วยเคอร์เซอร์เพื่อปรับช่วงเวลา หรือเลือกด้วยตนเองจากตัวเลือกช่วงเวลา นอกจากนี้ยังสามารถเปลี่ยนเขตเวลาได้
Note
บันทึกทางเทคนิคใช้ UTC เสมอ ในการวิเคราะห์บันทึกเหล่านี้พร้อมกับเมตริกการตรวจสอบของคุณ ให้แน่ใจว่าได้เลือก UTC ในเครื่องมือตรวจสอบ
Similarly, when sending a support ticket, ensure the information you share is based on UTC, as NightPOS uses this time zone to investigate performance issues.
ข้อมูลจะถูกรวบรวมเป็นระยะ เมื่อเป็นเช่นนั้น จะแสดงเส้นประสีน้ำเงิน พร้อมด้วยแท็ก Aggregate Date ซึ่งหมายความว่าข้อมูลก่อนวันที่นี้จะปรากฏแบนราบเมื่อเปรียบเทียบกับข้อมูลหลังวันที่นี้ ดังนั้น เมื่อใช้เครื่องมือตรวจสอบ แนะนำให้เน้นที่อีเวนต์ล่าสุดเพื่อรับข้อมูลที่ละเอียดที่สุด
Note
เส้นประสีอื่นๆ ช่วยให้คุณเชื่อมโยงกับการเปลี่ยนแปลงอื่นๆ ในบิลด์ (การนำเข้าฐานข้อมูล git push ฯลฯ)
Tip
ในแต่ละกราฟ จะแสดงไอคอน 𝕚 (information) ที่มุมซ้ายบน เลื่อนเมาส์ไปเหนือเพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับสิ่งที่กราฟแสดง
เมตริก¶
ระบบ¶
กราฟ Memory แสดงข้อมูลเกี่ยวกับการใช้หน่วยความจำ:
Memory container represents NightPOS workers and container processes.
Memory postgresql แสดงถึงฐานข้อมูล
กราฟ CPU แสดงข้อมูลเกี่ยวกับการใช้ CPU:
CPU http represents NightPOS workers.
CPU cron/mail แสดงถึงการกระทำตามกำหนดเวลาและอีเมลขาเข้า
CPU postgresql (กระบวนการฐานข้อมูล)
CPU other แสดงถึง webshells, editor ฯลฯ
กราฟ Storage แสดงข้อมูลเกี่ยวกับพื้นที่เก็บข้อมูลที่ใช้:
Container แสดงถึง filestore, log files และ user files
Postgresql แสดงถึงฐานข้อมูลและดัชนี
HTTP¶
กราฟ Requests แสดงข้อมูลเกี่ยวกับจำนวนคำขอ HTTP ต่อวินาที:
HTTP successes แสดงถึงคำขอที่สำเร็จ
HTTP errors represents failed requests (check
nightpos.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 dependenciesinstall.log: การติดตั้งฐานข้อมูล (สำหรับแบรนช์พัฒนา รวมการทดสอบด้วย)nightpossh-import-database.log: the last imported dump processnightpos.log: the running serverupdate.log: การอัปเดตฐานข้อมูลpg_slow_queries.log: คิวรี psql ที่ใช้เวลานานผิดปกติsh_webshell.log: การดำเนินการใน webshellsh_editor.log: การดำเนินการในเครื่องมือแก้ไขneutralize.log: การทำให้ฐานข้อมูลเป็นกลาง (เฉพาะ staging)
เมื่อมีการเพิ่มบรรทัดใหม่ในบันทึก จะแสดงโดยอัตโนมัติ หากคุณเลื่อนไปที่ด้านล่าง เบราว์เซอร์จะเลื่อนโดยอัตโนมัติทุกครั้งที่มีการเพิ่มบรรทัดใหม่
คุณสามารถหยุดกระบวนการดึงบันทึกชั่วคราวได้โดยคลิกปุ่ม (หยุดชั่วคราว) ที่มุมบนขวา มิฉะนั้น กระบวนการจะหยุดหลังจากห้านาที คุณสามารถเริ่มใหม่ได้โดยคลิกปุ่ม (เล่น)
การสำรองข้อมูล¶
แท็บ สำรองข้อมูล แสดงรายการสำรองข้อมูลที่มีให้ดาวน์โหลดและกู้คืน ให้คุณทำการสำรองข้อมูลด้วยตนเองและนำเข้าฐานข้อมูล
ฐานข้อมูลการผลิตจะได้รับการสำรองข้อมูลอัตโนมัติทุกวัน จะเก็บการสำรองข้อมูลรายวันไว้เจ็ดครั้ง รายสัปดาห์สี่ครั้ง และรายเดือนสามครั้ง การสำรองข้อมูลแต่ละครั้งจะรวมถึงการดัมพ์ฐานข้อมูล ที่เก็บไฟล์ (ไฟล์แนบและฟิลด์ไบนารี) บันทึก และเซสชัน
Note
คุณสามารถอ้างอิงถึง ตารางเวลาโดยประมาณของการสำรองข้อมูลอัตโนมัติ เพื่อทำความเข้าใจระบบการทำงานได้ดีขึ้น ไฟล์นี้จะได้รับการอัปเดตทุกวัน โดยใช้วันปัจจุบันเป็นจุดเริ่มต้น
ฐานข้อมูล staging และ development จะไม่ได้รับการสำรองข้อมูลอัตโนมัติ อย่างไรก็ตาม คุณสามารถกู้คืนการสำรองข้อมูลของฐานข้อมูลการผลิตในบรานช์ staging ของคุณเพื่อวัตถุประสงค์ในการทดสอบ หรือกู้คืนข้อมูลที่ถูกลบออกจากฐานข้อมูลการผลิตโดยไม่ตั้งใจด้วยตนเอง
รายการประกอบด้วยการสำรองข้อมูลที่เก็บไว้บนเซิร์ฟเวอร์ของฐานข้อมูลการผลิตของคุณ เซิร์ฟเวอร์นี้จะเก็บการสำรองข้อมูลไว้เพียงหนึ่งเดือน ได้แก่ การสำรองข้อมูลรายวันเจ็ดครั้งและรายสัปดาห์สี่ครั้ง
Dedicated backup servers keep the same backups, as well as three additional monthly backups. To restore or download one of these monthly backups, contact NightPOS Support.
When merging a commit updating the version of one or several modules (in __manifest__.py),
or their linked Python dependencies (in requirements.txt), then NightPOS.sh performs an
automatic backup (flagged with type Update in the list), as either the container will be changed
by the installation of new pip packages, either the database itself will be changed with the module
update triggered afterwards. In these two cases, a backup is triggered as it may break something.
If the merged commit does not update the version of a module or linked dependencies, then no backup is triggered by NightPOS.sh, as neither the container nor the database is modified; therefore, the platform considers this safe enough. As an extra precaution, you can make a manual backup before modifiyng production sources.
วัตถุประสงค์ของการสำรองข้อมูลด้วยตนเองคือการสร้างสแนปช็อตเฉพาะของฐานข้อมูลการผลิตหรือ staging (ไม่สามารถใช้ได้สำหรับการพัฒนา) ข้อมูลเหล่านี้จะพร้อมใช้งานเป็นเวลาเจ็ดวัน อย่างไรก็ตาม มีข้อจำกัดในการสำรองข้อมูลด้วยตนเองห้าครั้งต่อวัน
Stage |
การสำรองข้อมูลอัตโนมัติ |
การสำรองข้อมูลด้วยตนเอง |
|---|---|---|
การผลิต |
ใช่ (สูงสุด 3 เดือน) |
ใช่ (3 วัน) |
การจัดเตรียม |
ไม่ |
ใช่ (3 วัน) |
การพัฒนา |
ไม่ |
ไม่ |
ฟีเจอร์ นำเข้าฐานข้อมูล รับไฟล์เก็บถาวรฐานข้อมูลจาก:
the standard NightPOS database manager (available for on-premise NightPOS servers under
/web/database/manager)the NightPOS Online databases manager
the NightPOS.sh Backups tab (using the (Download Options) button)
the NightPOS.sh Builds view (by clicking Download DB dump)
อัพเกรด¶
แท็บ อัปเกรด สามารถใช้เพื่ออัปเกรดบรานช์การผลิตและ staging ของโปรเจกต์ที่ถูกต้อง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการอัปเกรด โปรดดู เอกสารประกอบการอัปเกรด
เครื่องมือ¶
The Tools tab contains the code profiler. It is used to start a profiling session, recording the activities of NightPOS workers running in the instance for a maximum of five minutes. You can choose to terminate the session earlier, as running the tool for a shorter duration reduces the amount of noise in the report.
After each session, an interactive flame graph is created to help you visualize how the NightPOS workers allocate their time.
Warning
การรันตัววิเคราะห์ใช้ทรัพยากรเซิร์ฟเวอร์จำนวนมาก ดังนั้นหลีกเลี่ยงการปล่อยให้ทำงานนานเกินไป เป้าหมายคือบันทึกการดำเนินการเฉพาะในฐานข้อมูลของคุณ
การตั้งค่า¶
แท็บ การตั้งค่า แสดงรายการตัวเลือกการกำหนดค่าที่มีสำหรับแบรนช์ที่เลือกอยู่ในขณะนี้ ตัวเลือกจะแตกต่างกันในแต่ละสเตจ
พฤติกรรมเมื่อมีคอมมิตใหม่¶
คุณสามารถเปลี่ยนพฤติกรรมของแบรนช์เมื่อได้รับคอมมิตใหม่สำหรับแบรนช์ development และ staging
ตามค่าเริ่มต้น แบรนช์ development จะสร้างบิลด์ใหม่ และแบรนช์ staging จะอัปเดตบิลด์ก่อนหน้า ซึ่งมีประโยชน์หากฟีเจอร์ที่คุณกำลังทำงานต้องการการกำหนดค่าเฉพาะ เนื่องจากคุณจะไม่ต้องกำหนดค่าด้วยตนเองอีกครั้งหลังจากคอมมิตแต่ละครั้ง
หากคุณเลือก บิลด์ใหม่ สำหรับแบรนช์ staging สำเนาใหม่ของบิลด์ production จะถูกสร้างขึ้นทุกครั้งที่มีการพุชคอมมิต
แบรนช์ที่ถูกย้ายจาก staging ไปเป็น development จะถูกตั้งค่าอัตโนมัติเป็น ไม่ทำอะไร
การติดตั้งโมดูล¶
คุณสามารถเลือกว่าควรติดตั้งโมดูลใดโดยอัตโนมัติสำหรับแบรนช์ development
หากต้องการเปลี่ยนพฤติกรรมเริ่มต้น ให้ยกเลิกการเลือกตัวเลือก ใช้ค่าเริ่มต้น ภายใต้ พฤติกรรมบิลด์การพัฒนา และเลือกตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้ภายใต้ การติดตั้งโมดูล:
ติดตั้งเฉพาะโมดูลของฉัน (ไม่รวมซับโมดูล): ติดตั้งเฉพาะโมดูลของแบรนช์ ยกเว้น ซับโมดูล นี่คือตัวเลือกเริ่มต้น
Full installation (no test suite): installs the branch's modules, submodules, and all standard NightPOS modules. When running the full installation, the test suite is disabled.
ติดตั้งรายการโมดูล: ติดตั้งโมดูลที่ระบุ โดยป้อนชื่อทางเทคนิคและคั่นด้วยเครื่องหมายจุลภาค (เช่น
sale_management,website,accountant)
Note
If the test suite is enabled, installing all standard NightPOS modules can take up to one hour.
ชุดทดสอบ¶
ตามค่าเริ่มต้น ชุดทดสอบสำหรับสาขา การพัฒนา จะเปิดใช้งานอยู่ คุณสามารถจำกัดการทดสอบที่จะรันได้โดยการป้อน แท็กทดสอบ และแยกแต่ละรายการด้วยเครื่องหมายจุลภาค (เช่น custom_tags,at_install,post_install)
หากต้องการปิดการใช้งานชุดทดสอบทั้งหมด ให้ยกเลิกการเลือก ตรวจสอบความถูกต้องของชุดทดสอบในบิลด์ใหม่
NightPOS version¶
You can change the version of NightPOS for development branches, for example, to test upgraded code or develop features while your production database is in the process of being upgraded to a newer version, by selecting another Version.
By default, Latest is selected as the Revision, and the sources of your NightPOS server are updated weekly automatically to benefit from the latest bug, security, and performance fixes.
หากต้องการเลือกรุ่นแก้ไขเฉพาะ ให้เลือกโดยใช้ฟิลด์ รุ่นแก้ไข
Warning
รุ่นแก้ไขจะหมดอายุหลังจากสามเดือน คุณจะได้รับการแจ้งเตือนทางอีเมลเมื่อวันหมดอายุของรุ่นแก้ไขใกล้เข้ามา หากคุณไม่ได้ดำเนินการใดๆ เมื่อหมดอายุ ฟิลด์ รุ่นแก้ไข จะถูกตั้งค่ากลับเป็น ล่าสุด โดยอัตโนมัติ
โดเมนที่กำหนดเอง¶
You can configure additional <name>.nightpos.com domains or your own custom domains for all branch
types.
หากต้องการใช้โดเมนที่กำหนดเองของคุณเอง จำเป็นต้อง:
เป็นเจ้าของหรือซื้อชื่อโดเมน
ป้อนชื่อโดเมนภายใต้ โดเมนที่กำหนดเอง (เช่น
www.mycompany.com) จากนั้นคลิก เพิ่มโดเมนConfigure the domain name (e.g.,
www.mycompany.com) using your registrar's domain name manager with a CNAME record value set to your production database domain name (e.g.,mycompany.nightpos.com).
Important
โดเมนเปล่า (เช่น mycompany.com) ไม่ได้รับการยอมรับ สามารถกำหนดค่าได้โดยใช้เรกคอร์ด A เท่านั้น ซึ่งรับเฉพาะที่อยู่ IP เป็นค่าของมัน ดังนั้นโดเมนเปล่าอาจหยุดทำงานอย่างกะทันหันเนื่องจากที่อยู่ IP ของฐานข้อมูลสามารถเปลี่ยนแปลงได้ (เช่น หลังจากการอัปเกรด ความล้มเหลวของฮาร์ดแวร์ การเปลี่ยนแปลงตำแหน่งโฮสต์ฐานข้อมูล)
หากต้องการให้ทั้งโดเมนเปล่า (เช่น mycompany.com) และโดเมน www (เช่น www.mycompany.com) ทำงานได้ จำเป็นต้องเปลี่ยนเส้นทางโดเมนเปล่าไปยังโดเมน www ตัวจัดการโดเมนส่วนใหญ่มีวิธีกำหนดค่าการเปลี่ยนเส้นทางนี้ ซึ่งมักเรียกว่าการเปลี่ยนเส้นทางเว็บ
HTTPS/SSL¶
หากการเปลี่ยนเส้นทางได้รับการตั้งค่าอย่างถูกต้อง ใบรับรอง SSL จะถูกสร้างขึ้นโดยอัตโนมัติโดยใช้ Let's Encrypt ภายในหนึ่งชั่วโมง ซึ่งหมายความว่าโดเมนของคุณจะเข้าถึงได้ผ่าน HTTPS
การปฏิบัติตาม SPF และ DKIM¶
If the domain of your email addresses uses the SPF or DKIM authentication protocol, it is necessary to authorize NightPOS as a sending host in the domain name settings to increase the deliverability of outgoing emails. For more information, refer to the Configure DNS records to send emails in NightPOS documentation.
Important
If NightPOS is not authorized as a sending host, your outgoing emails may be flagged as spam.
คำสั่งเชลล์¶
In the top right corner of the view, several shell commands are displayed. The commands can be copied using the clipboard button and then used in a terminal. In addition, some of them can be used directly from NightPOS.sh's interface.
โคลน¶
คำสั่ง 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 ก่อน โดยทำดังนี้:
On NightPOS.sh, click your GitHub user in the top-right corner and select Profile.
วาง SSH key ลงในช่อง เพิ่มคีย์ด้วยตนเอง และคลิก เพิ่ม
Example
ssh 25004381@my-user-my-repository-staging-25004381.dev.nightpos.com
25004381คือ build IDmy-user-my-repository-staging-25004381.dev.nightpos.comthe domain used to connect to the build
Provided you have the necessary access rights on the project, you will be granted SSH access to the build.
Note
การเชื่อมต่อ SSH ระยะยาวไม่มีการรับประกัน การเชื่อมต่อที่ไม่มีการใช้งานอาจถูกตัดการเชื่อมต่อเพื่อเพิ่มทรัพยากร
โมดูลย่อย¶
คำสั่ง submodule ใช้สำหรับเพิ่ม branch จาก repository อื่นเข้าไปใน branch ปัจจุบันของคุณเป็น submodule
ดูเพิ่มเติม
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
Before deleting a branch, refer to the Backups section to better understand how they work and when you should create a manual backup.