ฉันมีปัญหากับการตั้งค่าระบบของฉัน ฉันมีบริการที่เริ่มต้นสภาพแวดล้อม MEAN-Stack ของฉันบนเซิร์ฟเวอร์
[หน่วย]
คำอธิบาย=เซิร์ฟเวอร์ส่วนหน้า
After=network.target backend.service
[บริการ]
ประเภท = ง่าย
ผู้ใช้ = นักวิ่งเฉลี่ย
ExecStart=/somepath/server.sh
เริ่มใหม่ = เสมอ
ไดเรกทอรีการทำงาน=/somepath/
[ติดตั้ง]
WantedBy=multi-user.target
ตอนนี้ฉันได้เพิ่มไปป์ไลน์การปรับใช้อัตโนมัติและเพื่อให้ใช้งานได้ ฉันได้เพิ่มไฟล์ .path และ .service สำหรับทุกบริการเพื่อเริ่มต้นใหม่เมื่อมีการปรับใช้เกิดขึ้น
[เส้นทาง]
Unit=frontend-watcher.service
PathChanged=/บางเส้นทาง
[ติดตั้ง]
WantedBy=multi-user.target
[หน่วย]
Description=ฟรอนท์เอนด์รีสตาร์ท
หลังจาก = network.target
[บริการ]
Type=วันช็อต
ExecStart=/usr/bin/systemctl รีสตาร์ท frontend.service
[ติดตั้ง]
WantedBy=multi-user.target
จนถึงตอนนี้มันใช้งานได้จริงกับปัญหาเดียว การตั้งค่าเรียกใช้เร็วเกินไปและบ่อยเกินไป เนื่องจากตัวเฝ้าดูถูกเรียกใช้สำหรับทุกไฟล์ที่อัปโหลด มีข้อความแสดงข้อผิดพลาดเนื่องจากสิ่งนี้ แต่ยังคงใช้งานได้และไฟล์ได้รับการอัปเดต (เว็บไซต์เรียกใช้รหัสใหม่)
ตอนนี้กำลังสงสัยว่ามีวิธีเปลี่ยนพฤติกรรมไหม เป็นการดีที่จะทริกเกอร์หลังจากอัปโหลดเสร็จแล้วเท่านั้น ความคิดเดียวของฉัน (มือใหม่สำหรับเซิร์ฟเวอร์) คือการอัปโหลดไฟล์สุดท้ายหนึ่งไฟล์หลังจากการปรับใช้ทุกครั้ง และดูเฉพาะไฟล์นี้เท่านั้น ด้วยวิธีนี้มันจะทำงานเพียงครั้งเดียวในตอนท้าย แต่ฉันคิดว่าน่าจะมีวิธีที่ดีกว่านี้