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