การปรับใช้อย่างต่อเนื่องกับ gitignore


12

เมื่อทำการปรับใช้อย่างต่อเนื่องกับ Git คุณจะจัดการไฟล์ที่ถูกละเว้นใน gitignore ได้อย่างไร? ไฟล์เหล่านั้นจะถูกละเว้นด้วยเหตุผลความเป็นส่วนตัว (เช่นไม่ต้องการให้ถูกส่งไปยังที่เก็บข้อมูลระยะไกลอื่น ๆเช่น GitHub) แต่ด้วยไฟล์ที่ถูกเพิกเฉยไม่ได้ถูกผลักไปยังที่เก็บการปรับใช้อย่างต่อเนื่องพวกเขาจะไม่ทำงาน จำเป็นสำหรับซอฟต์แวร์เพื่อให้ทำงานได้อย่างถูกต้อง)

คนทั่วไปจะไปเกี่ยวกับเรื่องนี้ได้อย่างไร ในกรณีนี้ Git ไม่ใช่ตัวเลือกที่ดีที่สุดสำหรับการปรับใช้อย่างต่อเนื่องเนื่องจากไฟล์ถูกละเว้นหรือไม่


2
ฉันลงคะแนนเพื่อปิดคำถามนี้เป็นนอกหัวข้อเนื่องจากไม่ได้แสดงความพยายามขั้นพื้นฐานในการวิจัยขั้นต่ำ
Scant Roger

3
ฉันไม่เห็นว่าขาดความพยายามในการวิจัย OP ดูเหมือนจะเข้าใจว่า gitignore ทำอะไรได้ดีอย่างสมบูรณ์แบบ สิ่งที่ฉันเห็นคือปัญหา XY แต่เนื่องจากทั้ง X และ Y ได้รับการอธิบายในคำถามหมอก็สามารถที่จะเขียนคำตอบที่ดีซึ่งหวังว่าจะแก้ปัญหาที่แท้จริงของ OP ได้
Ixrec

1
@ScantRoger: โดยสุจริตคำถามอาจจะเขียนได้ดีกว่า แต่มันก็ยังห่างไกลจากการรังผึ้งแย่มากจนสมควรได้รับการโหวตอย่างใกล้ชิด
Doc Brown

คำตอบ:


14

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

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


เห็นด้วยถ้าการเช็คเอาท์จาก vcs ไม่เพียงพอที่จะสร้างและเรียกใช้แม้ว่าจะมีความจุลดลงต้นไม้ต้นกำเนิดของคุณก็ไม่สมบูรณ์
Newtopian

@ Newtopian: โปรดทราบว่านี่อาจเป็นการจงใจและถูกต้อง (ดูตัวอย่างของฉัน)
Doc Brown

2

ตัวเลือกอื่นคือการจัดเก็บข้อมูลที่สำคัญภายในเครื่องมือปรับใช้ของคุณ และการกำหนดค่าเครื่องมือการปรับใช้ในแหล่งเก็บข้อมูลส่วนตัวแยกต่างหาก

การปล่อยข้อมูลที่ละเอียดอ่อนไว้ในเครื่องเป้าหมายทำงานได้ แต่อาจทำให้เกิดการหมุนเล็กน้อย - มีคนเปลี่ยนไปไม่ใช่ขั้นตอนการทำงานเบรกของเครื่องและไม่มีใครจำการตั้งค่าที่ถูกต้อง ฯลฯ

ตัวอย่าง Saltstack มี https://docs.saltstack.com/en/latest/topics/pillar/index.html

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