เครื่องมือสำหรับการจัดเก็บตามการกำหนดค่าสภาพแวดล้อม


11

ฉันมีความต้องการในการจัดเก็บข้อมูลการกำหนดค่าตามสภาพแวดล้อมพื้นฐานในเครื่องมือ

นี่คือเครื่องมือที่มี GUI สำหรับการเพิ่ม / อัปเดตค่าการกำหนดค่า (เช่นสตริงการเชื่อมต่อ) สิ่งนี้ควรมีค่าเริ่มต้นและสามารถเปลี่ยนแปลงได้ตามสภาพแวดล้อมที่แตกต่างกัน

ควรมี API เพื่อดึงค่าการกำหนดค่าเหล่านี้ระหว่างการปรับใช้กับสภาพแวดล้อมเฉพาะเพื่อเพิ่มไปยังแอปพลิเคชัน

ฉันค้นหามาระยะหนึ่งแล้วและไม่เห็นเครื่องมือใด ๆ ที่เหมาะกับรายการนี้ มีข้อเสนอแนะหรือไม่?

หมายเหตุ : ปัจจุบันการตั้งค่าอยู่ในตัวแปร TeamCity และการปรับใช้นั้นใช้สคริปต์ PowerShell


ขึ้นสำหรับสิ่งที่จ่าย? คุณมีระบบจัดการการตั้งค่าหรือไม่? คุณใช้อะไรในการปรับใช้
Tensibai

ตัวเลือกการชำระเงินจะถูกกำหนดค่า ขณะนี้การตั้งค่าอยู่ในตัวแปร TeamCity และการปรับใช้ผ่านสคริปต์ PowerShell
ทิม

ไม่ใช่คำตอบอย่างเคร่งครัดดังนั้นความคิดเห็น - คุณได้พิจารณาใช้Octopus Deployสำหรับการปรับใช้เนื่องจากช่วยให้คุณสามารถจัดการการกำหนดค่าด้านสิ่งแวดล้อมได้อย่างยืดหยุ่น
Richard Slater

หากคุณใช้ระบบควบคุมแหล่งสาขาแบบกระจัดกระจายเช่น ClearCase คุณสามารถแยกไฟล์ด้วยการปรับเปลี่ยนคุณสามารถดูกลยุทธ์สำหรับการจัดการการเปลี่ยนแปลง OSD (ขึ้นอยู่กับระบบปฏิบัติการ) ใน VCS หากคุณใช้คอมไพล์คุณจะต้องทำการรีบูทสาขาที่ไม่ใช่ค่าเริ่มต้นอย่างต่อเนื่อง เครื่องมือการกำหนดค่าบางอย่างมีต่อการตั้งค่าสภาพแวดล้อมผ่านตัวแปร ใน Ansible ฉันมีไฟล์ที่มีค่าเริ่มต้นตัวแปรและการซ้อนทับสำหรับสภาพแวดล้อมที่ไม่ใช่การผลิต อย่าเก็บการตั้งค่าใด ๆ ในเครื่องมือ CI ซึ่งควรอยู่ใน VCS รวมถึงการกำหนดค่า TC
Jiri Klouda

แนะนำให้เก็บการกำหนดค่าทั้งหมดด้วยแหล่งที่มา เรามีบริการหลายสีฟ้าและใช้ไวยากรณ์การแปลงสีฟ้าสำหรับการปรับแต่งสภาพแวดล้อมทั้งหมด ดูmsdn.microsoft.com/en-us/library/dd465318(v=vs.100).aspx และจริง ๆ แล้วเราทำสิ่งนี้ด้วย powershell ณ เวลาที่ใช้งานเป็นส่วนหนึ่งของการติดตั้ง ขึ้นอยู่กับตำแหน่งที่คุณขอไปป์ไลน์คุณสามารถทำได้ก่อนใส่บิตลงในกล่องหรือสำหรับรหัสผ่านหลังจากนั้น เราใช้ Azure Key Vault สำหรับความลับเพื่อไม่ให้ปรากฏในการควบคุมแหล่งที่มา
ไม่มีการคืนเงินไม่มีผลตอบแทน

คำตอบ:


6

มีเครื่องมือมากมายที่สามารถทำสิ่งนี้ได้รวมถึงเครื่องมือการจัดการการกำหนดค่าเช่น Chef, Ansible หรือ Puppet และเครื่องมือ KVS เช่นกงสุลและอื่น ๆ คุณสามารถรวมเข้าด้วยกันเป็นขั้นตอนการสร้างในเซิร์ฟเวอร์ CI ของคุณหรือก้าวเท้าเลี่ยงปัญหาโดยใช้การกำหนดค่าสดที่รันไทม์กับที่เก็บการตั้งค่าภายนอก (อีกครั้งเช่น Consul หรือ etcd หรือฐานข้อมูลใด ๆ เลย)


1

อาจเป็นธุรกรรมซื้อคืนที่แตกต่างกัน? มีสาขาสำหรับ QA, UAT, Prod (หรือมากกว่า) repo ที่แตกต่างจาก repos "Code as Code" และ "Infrastructure as Code"

มันเป็นที่เหมาะสมยิ่ง ค่ากำหนดต่อ env มันสลับไปมาระหว่างการเปิดตัวหรือไม่? ควรสลับรัฐรักษาสถานะแม้ไบนารีปรับใช้ ลูกค้าลูกค้าแขกหรือผู้ใช้ที่คุณรักษาการตั้งค่าไว้

ฉันเขียนกลุ่มบล็อก (และต้นแบบ / ตัวอย่าง) ในหัวข้อมากกว่า 5 ปี - รวมถึง UIs สำหรับการสลับ (ถ้าคุณต้องการ)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.