'Nightly Builds' หมายถึงอะไร?


53

ฉันใช้โครงการโอเพ่นซอร์สมาระยะหนึ่งแล้วได้พัฒนาแอพพลิเคชั่นโอเพนซอร์สและบ่อยครั้งที่ฉันเจอคำว่า 'Nightly Build' และฉันมักจะสงสัยว่ามันหมายถึงอะไรจริง ๆ แท้จริงแล้วหมายถึงโครงการที่ทำอย่างหมดจดเหมือนโครงการด้านข้าง (โดยปกติแล้วในตอนกลางคืนหลังจากที่ทุกคนทำงานประจำวันเสร็จแล้ว) และไม่มีทีมพัฒนา / ผู้อุทิศตนที่แท้จริงหรือมีความซับซ้อนมากกว่านั้น


10
Google ล้มเหลวหรือ joelonsoftware.com/articles/fog0000000023.html ค่อนข้างสูงในรายการ โปรดอัปเดตคำถามของคุณเพื่อระบุสิ่งที่ขาดหายไปจากการโพสต์บล็อกนี้
S.Lott

2
@ S.Lott ลิงก์ที่คุณให้มาค่อนข้างยาวมันดีที่จะมีเวอร์ชั่นที่สั้นกว่าหรือมากกว่านั้นคือคำตอบที่ตรงไปตรงมาใน stack-overflow สำหรับผู้ที่ต้องการทราบเพิ่มเติมเกี่ยวกับหัวข้อสามารถไปที่ลิงค์ที่คุณให้
Andrew Lam Yat Weng

คำตอบ:


68

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


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

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

36

โดยทั่วไปหมายถึงการสร้างอัตโนมัติที่ทำวันละครั้งโดยทั่วไปหลังจากสิ้นสุดวันสำหรับนักพัฒนาส่วนใหญ่ สำหรับโครงการที่มีผู้พัฒนาในหลายโซนเวลาโดยทั่วไปแล้วจะเป็นเวลาประนีประนอม แนวคิดก็คือทุกคนที่จะตรวจสอบในรหัส "วันนี้" ได้ทำและสร้างอัตโนมัติจะทำให้แน่ใจว่าทุกอย่างรวบรวมและหวังว่าจะเรียกใช้การทดสอบหน่วยและการทดสอบอัตโนมัติอื่น ๆ ฯลฯ ที่มีอยู่แล้วผลิตติดตั้งขั้นสุดท้าย / executable เป็นต้น


13

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


7

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

แทนที่จะสร้างใหม่เสร็จสมบูรณ์โดยอัตโนมัติในช่วงกลางคืนเพื่อให้คอมพิวเตอร์สร้างมี 8-10-12 ชั่วโมงเพื่อสร้างและพร้อมสำหรับนักพัฒนาที่จะมาในเช้าวันรุ่งขึ้นเพื่อให้พวกเขาสามารถทำงานต่อไปได้เล็กน้อย ของรุ่นใหม่

วันนี้บ่อยครั้งที่โครงการมีการทดสอบจำนวนมากเพื่อรับรองการทำงานที่ถูกต้องของรหัสรวมถึงการสร้างและเผยแพร่เอกสารจากแหล่งที่มา (เช่น javadoc)


0

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

อ้างจาก: https://chess.eecs.berkeley.edu/softdevel/nightly.htm


4
อ่านมากขึ้นเช่นความเห็นดูวิธีการตอบ
gnat

ทำให้ฉันนึกถึงวันสอบของฉันนั่นคือวิธีที่เราใช้เพื่อเริ่มคำตอบของคำถาม 😂😜
ssi-anik

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