จากถ้อยคำของคำถามของคุณฉันคิดว่าคุณมีเครื่องท้องถิ่นและเครื่องระยะไกลที่คุณอัปเดตสองไฟล์ - สคริปต์ Python และ Bash script ไฟล์ทั้งสองอยู่ภายใต้การควบคุม SVN และทั้งสองเครื่องสามารถเข้าถึงเซิร์ฟเวอร์ SVN เดียวกันได้
ฉันขอโทษฉันไม่มีคำแนะนำเฉพาะสำหรับระบบกริดของคุณ แต่ให้ฉันทำรายการประเด็นทั่วไปที่ฉันพบว่ามีความสำคัญสำหรับการปรับใช้ใด ๆ
เก็บการเปลี่ยนแปลงการผลิต จำกัด เพียงการเปลี่ยนแปลงการกำหนดค่า คุณเขียนว่าคุณต้อง "ใช้เส้นทางชุดข้อมูลบนเซิร์ฟเวอร์"; เสียงนี้สำหรับฉันเหมือนคุณมีเส้นทางที่เขียนลงในสคริปต์ Python ของคุณ นี่ไม่ใช่ความคิดที่ดีเพราะคุณจะต้องเปลี่ยนเส้นทางเหล่านั้นในทุก ๆ เครื่องที่คุณย้ายสคริปต์ไป หากคุณยอมรับการเปลี่ยนแปลงเหล่านั้นกลับไปที่ SVN จากนั้นบนเครื่องท้องถิ่นของคุณคุณจะมีเส้นทางระยะไกลและบนและบน ... (จะเกิดอะไรขึ้นถ้ามีเส้นทางไม่เพียง แต่เส้นทางเท่านั้น แต่ยังใช้รหัสผ่านด้วย? เซิร์ฟเวอร์.)
ดังนั้นให้พา ธ และข้อมูลการตั้งค่าอื่น ๆ ใน.ini
ไฟล์และใช้ConfigParserเพื่ออ่านหรือใช้.json
ไฟล์และใช้โมดูลjson เก็บสำเนาของไฟล์ไว้ในเครื่องเดียวและหนึ่งไฟล์จากระยะไกลทั้งคู่อยู่ภายใต้เส้นทางเดียวกันโดยไม่มีการควบคุม SVN และเพียงเก็บเส้นทางไปยังไฟล์การกำหนดค่านั้นในสคริปต์ Python (หรือรับจากบรรทัดคำสั่งหากคุณไม่สามารถเก็บได้ทั้งคู่ การกำหนดค่าภายใต้เส้นทางเดียวกัน)
การกำหนดค่าให้เป็นขนาดเล็กที่สุด การกำหนดค่าใด ๆ เป็น "ส่วนที่เคลื่อนไหวได้" ของแอปพลิเคชันของคุณและระบบใด ๆ ที่มีความทนทานยิ่งน้อยกว่าชิ้นส่วนที่เคลื่อนไหวได้ ตัวบ่งชี้ที่ดีของสิ่งที่อยู่ในการกำหนดค่าคือคุณต้องแก้ไขทุกครั้งที่คุณย้ายรหัส สิ่งที่ไม่จำเป็นต้องแก้ไขอาจยังคงเป็นค่าคงที่ในรหัส
ทำให้การใช้งานของคุณ คุณสามารถทำได้โดยใช้สคริปต์ Bash ในเครื่องของคุณ ทราบว่าคุณสามารถเรียกใช้คำสั่งใด ๆ บนเครื่องระยะไกลssh
ผ่าน ตัวอย่างเช่น
svn export yourprojectpath /tmp/exportedproject
tar czf /tmp/yourproject.tgz /tmp/exportedproject
scp /tmp/myproject.tgz youruser@remotemachine:~/dev
## Remote commands are in the right hand side, between ''
ssh youruser@remotemachine 'tar xzf ~/dev/yourproject.tgz'
ssh youruser@remotemachine 'qsub ~/dev/yourproject/script.py'
เพื่อให้สามารถใช้งานได้คุณต้องมีการลงชื่อเข้าใช้แบบไม่ใช้รหัสผ่านโดยยึดตามคีย์สาธารณะ / ส่วนตัวตั้งค่าระหว่างเครื่องของคุณกับเครื่องระยะไกล
หากคุณต้องการมากกว่านี้คุณสามารถคิดของการใช้ ธผ้าหรือระดับที่สูงกว่าอาหาร