ขณะนี้ฉันกำลังเรียกใช้เว็บแอปพลิเคชันขนาดเล็กหลายรายการบนเซิร์ฟเวอร์ขนาดเล็ก และฉันตั้งค่าให้เริ่มต้นและรีสตาร์ทด้วยบริการ systemctl ฉันทำให้แอปเหล่านี้เป็นบริการ systemctl โดยเฉพาะ ดังนั้นแอปเหล่านี้จึงเริ่มต้นโดยอัตโนมัติเมื่อบูตระบบและรีสตาร์ทหากพวกเขา ชน.
ตอนนี้ฉันต้องการอัปเดตและสร้างแอปพลิเคชันบนเซิร์ฟเวอร์ด้วย เมื่อมีเวอร์ชันที่ใหม่กว่าบนพื้นที่เก็บข้อมูลระยะไกล เซิร์ฟเวอร์เองไม่สามารถตรวจสอบได้ว่ามีเวอร์ชันที่ใหม่กว่าบนพื้นที่เก็บข้อมูลหรือไม่ เซิร์ฟเวอร์ยังไม่สามารถเปิดใช้งานใดๆ สคริปต์และการตั้งค่าบริการ systemctl เพื่อเรียกใช้สคริปต์จะไม่เริ่มบริการใหม่อีกครั้งหากเกิดปัญหา เนื่องจากสคริปต์จะยังคงทำงานอยู่
ฉันจะแก้ไขปัญหานี้อย่างถูกต้องได้อย่างไร มีเครื่องมือใดบ้างที่ทำสิ่งนี้โดยเฉพาะ?
ข้อมูลอื่นๆ:
- แอปพลิเคชันสร้างขึ้นใน C # ด้วย .Net 5.0
- พื้นที่เก็บข้อมูลเป็นแบบสาธารณะธรรมดาที่โฮสต์บน Github
โครงสร้างโฟลเดอร์ปัจจุบันของฉันมีดังต่อไปนี้
.
`--แอพพลิเคชั่น
|
|--ใบสมัคร1
| |-- build/ (ไบนารีเริ่มต้นจากบริการอยู่ที่นี่)
| |--src/
| `--application1.service
|
|--ใบสมัคร2
| |--สร้าง/
| |--src/
| `--application2.service
|
`--ใบสมัคร3
|--สร้าง/
|--src/