SaltStack - Git เป็นไฟล์เซิร์ฟเวอร์

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

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

ข้อกำหนดเบื้องต้นของ Salt Server สำหรับการใช้ Git

ข้อกำหนดขั้นต่ำสำหรับ Salt Server ในการใช้ Git เป็นไฟล์เซิร์ฟเวอร์มีดังนี้ -

  • pygit2
  • Dulwich

Pygit2 และ Dulwich ได้รับการกำหนดค่าโดยใช้ gitfs_providerพารามิเตอร์ในไฟล์ config หลัก ถ้าgitfs_provider ไม่ได้กำหนดค่าไว้ในไฟล์หลัก Salt จะชอบ pygit2 หากมีเวอร์ชันที่เหมาะสมตามด้วย GitPython และ Dulwich.

ติดตั้ง pygit2

คำสั่งต่อไปนี้ใช้เพื่อติดตั้ง pygit2 ในระบบที่ใช้ Fedora และ Ubuntu -

  • Fedora-based system

yum install python-pygit2
  • Ubuntu-based system

apt-get install python-pygit2

ที่นี่เวอร์ชันขั้นต่ำที่รองรับของ pygit2 คือ 0.20.3

ติดตั้ง GitPYTHON

GitPython สามารถติดตั้งบนต้นแบบได้อย่างง่ายดายโดยใช้ไฟล์ yum / apt command ดังแสดงด้านล่าง

  • Fedora-based system

yum install GitPython
  • Ubuntu-based system

apt-get install python-git

ติดตั้ง DULWICH

สามารถติดตั้ง Dulwich บนต้นแบบได้อย่างง่ายดายโดยใช้คำสั่ง yum

  • Fedora-based system

yum install python-dulwich
  • Ubuntu-based system

apt-get install python-dulwich

ตอนนี้เราได้ติดตั้งการอ้างอิงทั้งหมดสำหรับเซิร์ฟเวอร์ไฟล์ Git แล้ว ตอนนี้ให้เรากำหนดค่าเซิร์ฟเวอร์ไฟล์ Git นี้โดยใช้ไฟล์fileserver_backend ในส่วน master config ไฟล์.

การกำหนดค่าแบ็กเอนด์

ในการใช้ไฟล์เซิร์ฟเวอร์ Git คุณต้องเพิ่ม Git ในรายการ fileserver_backend ในไฟล์กำหนดค่าหลัก มีรายละเอียดดังนี้ -

fileserver_backend:
   - git

ให้เราทำความเข้าใจเพิ่มเติมเกี่ยวกับวิธีกำหนดค่าเซิร์ฟเวอร์ไฟล์ Git ในการกำหนดค่าระยะไกล

การกำหนดค่า gitfs_remotes

คุณสามารถระบุ URL อย่างใดอย่างหนึ่งหรือทั้งหมดเช่น git: //, https: //, file: // หรือ ssh: // สำหรับการกำหนดค่า gitfs_remotes ในไฟล์หลัก ใช้เพื่อค้นหาไฟล์ที่ร้องขอ

ข้อกำหนด URL https แบบง่ายถูกกำหนดไว้ด้านล่าง

gitfs_remotes:
   - https://github.com

ssh การกำหนดค่าสามารถทำได้ดังภาพด้านล่าง

gitfs_remotes:
   - [email protected]:user1/sample.git
   - ssh://[email protected]/path/to/sample.git

ตอนนี้เราได้กำหนดค่าเซิร์ฟเวอร์ไฟล์ Git โดยใช้สองตัวเลือก fileserver_backend และ gitfs_remotes.

รีสตาร์ท Master

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

การกำหนดค่ารีโมทหลายรายการ

คำสั่งต่อไปนี้ใช้สำหรับการกำหนดค่าหลายรายการใน gitfs_remotes ในไฟล์หลัก

gitfs_remotes:
   - git://github.com/sample/sample1.git
   - https://github.com/sample/sample2.git
   - file:///root/user/sample

นี่คือที่เก็บ sample1.git, sample2.git, และ sample.doc อาจมีไฟล์ต่อไปนี้

sample1.git:
   top.sls
   
sample2.git
   edit/vimrc
   
sample.doc
   edit/vimrc