คำถามติดแท็ก continuous-integration

การผสานรวมอย่างต่อเนื่อง (CI) คือการสร้างและการทดสอบอัตโนมัติของผลิตภัณฑ์ซอฟต์แวร์ตัวเต็มตามกำหนดเวลาบ่อย ๆ : อย่างน้อยวันละครั้งบ่อยครั้งวันละหลายครั้งและบางครั้งก็บ่อยพอ ๆ กับการเช็คอินระบบควบคุมเวอร์ชันทุกครั้ง

8
วิธีการเลือกระหว่างฮัดสันและเจนกินส์? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันใช้เวลาหนึ่งชั่วโมงหรือมากกว่านั้นในการทำงานจากฮัดสันเพิ่งจะแตกแขนงออกไปเมื่อเร็ว ๆ นี้ (ม.ค. / 2554) ฉันไม่รู้เลยว่าการเปลี่ยนแปลงของแต่ละสาขาเป็นอย่างไรตอนนี้ แต่ที่สำคัญกว่าคือทิศทางของแต่ละสาขาคืออะไร จุดหนึ่งสามารถเลือกระหว่างที่จะไปด้วย? ใครมีลิงค์ไปยังแผนงานผลิตภัณฑ์และความแตกต่างของคุณสมบัติ?

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

3
Jenkins vs Travis-CI คุณจะใช้อันไหนกับโครงการโอเพ่นซอร์ส [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ สำหรับโครงการของฉันฉันต้องเลือกระหว่าง Jenkins และ Travis-CI ฉันใช้ Jenkins มาหลายปีแล้ว แต่ฉันก็อ่านบทวิจารณ์ที่ดีเกี่ยวกับ Travis-CI ด้วย คุณจะใช้อันไหนกับโครงการโอเพ่นซอร์ส ประโยชน์หรือข้อดีหลักของทั้งคู่คืออะไร

12
ฉันจะโคลนงานในเจนกินส์ได้อย่างไร
JenkinsมีGerritปลั๊กอินในสถานที่เพื่อที่ว่าเมื่อเราทำเช็คอินเพื่อGerrit, Jenkinsดำเนินการสร้างและถ้ามันประสบความสำเร็จแล้วการปรับเปลี่ยนในGerritที่มีการยืนยัน หากบิลด์ล้มเหลวก็ไม่ได้ Jenkinsความเข้าใจของฉันอยู่ที่นี้สามารถทำได้โดยใช้งานการตั้งค่าใน ตอนนี้เราได้สร้างสาขาใหม่ ( git) และฉันคิดว่าฉันต้องโคลนงานที่มีอยู่ที่ชี้ไปยังสาขาอื่นเพื่อให้เวิร์กโฟลว์เดียวกันนี้เกิดขึ้นและการสร้างจะดำเนินการทุกการกระทำ ใครสามารถอธิบายได้ว่าฉันจะโคลนงานเหล่านี้ได้อย่างไร ฉันดูเหมือนจะไม่เห็นวิธีการที่จะทำผ่าน UI และฉันยังสามารถดูวิธีการแสดงรายการงานผ่าน UI

14
วิธีการตั้งค่าตัวแปรสภาพแวดล้อมในเจนกินส์?
ฉันต้องการที่จะทำสิ่งที่ชอบ: AOEU=$(echo aoeu) AOEU=aoeuและมีชุดเจนกินส์ ตัวแปรของสภาพแวดล้อมในส่วนเจนกินส์ไม่ได้ทำ AOEU='$(echo aoeu)'แต่จะกำหนด ฉันจะทำให้เจนกินส์ประเมินค่าคำสั่งเชลล์และกำหนดผลลัพธ์ให้กับตัวแปรสภาพแวดล้อมได้อย่างไร ในที่สุดฉันต้องการที่จะสามารถกำหนดตัวดำเนินการของงานให้กับตัวแปรสภาพแวดล้อมที่สามารถส่งผ่านไปยังหรือใช้งานโดยสคริปต์อื่น ๆ

6
อะไรคือความแตกต่างระหว่าง“ การติดตั้ง npm” และ“ npm ci”?
ฉันทำงานกับการรวมอย่างต่อเนื่องและค้นพบคำสั่งnpm ci ฉันไม่สามารถคิดได้ว่าข้อดีของการใช้คำสั่งนี้สำหรับเวิร์กโฟลว์ของฉันคืออะไร เร็วขึ้นไหม มันทำให้การทดสอบยากขึ้นโอเคและหลังจากนั้นหรือไม่

9
การตั้งค่าวงจรการปรับใช้ / สร้าง / CI สำหรับโครงการ PHP
ฉันเป็นนักพัฒนาคนเดียวที่ใช้เวลาส่วนใหญ่ทำงานกับโปรเจคใหญ่ ๆ ที่ใช้ PHP เป็นหลัก ฉันต้องการทำให้เป็นมืออาชีพโดยอัตโนมัติและจัดการการเปลี่ยนแปลงของรหัสฐานและสร้างกระบวนการบูรณาการอย่างต่อเนื่องที่ทำให้การเปลี่ยนแปลงในการทำงานเป็นทีมเป็นไปได้โดยไม่ต้องทำการเปลี่ยนแปลงพื้นฐาน สิ่งที่ฉันทำตอนนี้คือฉันมีสภาพแวดล้อมการทดสอบในท้องถิ่นสำหรับทุกโครงการ ฉันใช้ SVN สำหรับแต่ละโครงการ การเปลี่ยนแปลงจะถูกทดสอบภายในเครื่องจากนั้นโอนไปยังเวอร์ชันออนไลน์โดยปกติผ่าน FTP เอกสาร API ถูกสร้างขึ้นด้วยตนเองจากซอร์สโค้ด การทดสอบหน่วยเป็นสิ่งที่ฉันกำลังเข้าสู่ช้าและยังไม่ได้เป็นส่วนหนึ่งของกิจวัตรประจำวันของฉัน "วงจรการสร้าง" ฉันจินตนาการว่าจะทำสิ่งต่อไปนี้: เซ็ตการแก้ไขจะถูกตรวจสอบใน SVN หลังจากผ่านการทดสอบในเครื่องแล้ว ฉันเริ่มกระบวนการสร้าง การแก้ไข SVN HEAD ได้รับการตรวจสอบแก้ไขหากจำเป็นและพร้อมสำหรับการอัปโหลด เอกสาร API ได้รับการสร้างขึ้นโดยอัตโนมัติ - หากฉันยังไม่ได้ตั้งรายละเอียดโดยใช้เทมเพลตเริ่มต้นให้สแกนฐานรหัสทั้งหมด การแก้ไขใหม่ถูกปรับใช้กับตำแหน่งระยะไกลผ่าน FTP (รวมถึงการเปลี่ยนชื่อไดเรกทอรีบางส่วน chmodding การนำเข้าฐานข้อมูลและไลค์) นี่เป็นสิ่งที่ฉันชอบphingมาก แต่ฉันเปิดรับทางเลือกแน่นอน การทดสอบหน่วยที่อยู่ในสถานที่ที่กำหนดไว้ล่วงหน้าจะถูกเรียกใช้ ฉันได้รับแจ้งเกี่ยวกับความล้มเหลวหรือความสำเร็จของพวกเขาโดยใช้ E-Mail, RSS หรือ (ควร) เอาท์พุท HTML ที่ฉันสามารถคว้าและใส่ลงในหน้าเว็บ (เป็นทางเลือก) ไฟล์ข้อความ "changelog" …


5
ข้าม submodule ระหว่างการสร้าง Maven
เราจำเป็นต้องสามารถข้าม submodule ในสภาพแวดล้อมบางอย่าง โมดูลที่เป็นปัญหาประกอบด้วยการทดสอบการรวมและใช้เวลาครึ่งชั่วโมงในการรัน ดังนั้นเราต้องการรวมไว้เมื่อสร้างบนเซิร์ฟเวอร์ CI แต่เมื่อนักพัฒนาสร้างในเครื่อง (และทดสอบเรียกใช้) เราต้องการข้ามโมดูลนั้น มีวิธีทำเช่นนี้กับการตั้งค่าโปรไฟล์หรือไม่? ฉันทำ googling แล้วและดูคำถาม / คำตอบอื่น ๆ ที่นี่และไม่พบวิธีแก้ไขปัญหาที่ดี ฉันคิดว่าตัวเลือกหนึ่งคือการลบ submodule นั้นจากผู้ปกครองpom.xmlทั้งหมดและเพียงเพิ่มโครงการอื่นบนเซิร์ฟเวอร์ CI ของเราเพื่อสร้างโมดูลนั้น ข้อเสนอแนะ?

22
บูรณาการอย่างต่อเนื่องสำหรับ Ruby on Rails? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันค้นหาโซลูชันการรวมอย่างต่อเนื่องสำหรับ Ruby on Rails แต่ไม่พอใจกับผลลัพธ์มากเกินไป ฉันมาจากร้าน. NET ที่ใช้ CruiseControl.NET และรู้สึกแย่มากกับความสะดวกในการใช้งานและสถานะ / การรายงานที่หลากหลาย เป็นการดีที่ฉันกำลังมองหา: Git / SVN และ Test :: Unit Integration ที่เห็นได้ชัด การรวมเข้ากับ Rake และ / หรือ Capistrano เว็บอินเตอร์เฟสแสดงสถานะของบิลด์ แจ้งเตือนทางอีเมลของการสร้างล้มเหลว การแจ้งเตือนบนเดสก์ท็อป (อาจผ่าน Growl) REST API สำหรับสถานะบิลด์ เฟรมเวิร์กปลั๊กอินสำหรับการเรียกใช้เครื่องมือวิเคราะห์รหัสอื่น ๆ และรายงานผลใน UI

9
ฉันจะตั้งค่าเครื่อง C # build ได้อย่างไรและทำไม? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ฉันทำงานกับทีมพัฒนาขนาดเล็ก (4 คน) ในโครงการ C # ฉันได้เสนอการตั้งค่าเครื่องสร้างซึ่งจะทำการสร้างและทดสอบทุกคืนของโครงการเพราะฉันเข้าใจว่านี่เป็นสิ่งที่ดี ปัญหาคือเราไม่มีงบประมาณจำนวนมากที่นี่ดังนั้นฉันต้องพิสูจน์ค่าใช้จ่ายให้กับพลังที่เป็น ดังนั้นฉันต้องการทราบ: ฉันจะต้องมีเครื่องมือ / ใบอนุญาตประเภทใด ตอนนี้เราใช้ Visual Studio และ Smart Assembly เพื่อสร้างและบังคับใช้สำหรับการควบคุมแหล่งที่มา ฉันจะต้องการสิ่งอื่นหรือมีงาน cron ที่เทียบเท่าสำหรับการเรียกใช้สคริปต์อัตโนมัติหรือไม่ สิ่งนี้จะได้รับฉันอย่างแน่นอนนอกเหนือจากสิ่งบ่งบอกถึงโครงสร้างที่เสียหายหรือไม่? ฉันควรตั้งค่าโครงการทดสอบในโซลูชันนี้ (ไฟล์ sln) ที่จะเรียกใช้โดยสคริปต์เหล่านี้ดังนั้นฉันจึงสามารถทดสอบฟังก์ชั่นบางอย่างได้หรือไม่ ขณะนี้เรามีการทดสอบสองแบบเนื่องจากเรายังไม่มีเวลา (หรือประสบการณ์ที่ตรงไปตรงมา) เพื่อทำการทดสอบหน่วยที่ดี ฉันจะต้องใช้ฮาร์ดแวร์ชนิดใดสำหรับสิ่งนี้ เมื่อสร้างบิลด์เสร็จสิ้นแล้วและผ่านการทดสอบแล้วมันเป็นวิธีปฏิบัติทั่วไปหรือไม่ที่จะสร้างบิวด์ในไซต์ ftp หรือมีวิธีอื่นในการเข้าถึงภายใน แนวคิดคือเครื่องจักรนี้สร้างการสร้างและเราทุกคนไปที่มัน แต่สามารถแก้ไขข้อบกพร่องการสร้างถ้าเราต้อง เราควรสร้างสิ่งนี้บ่อยแค่ไหน? มีการจัดการพื้นที่อย่างไร หากเราสร้างงานยามค่ำคืนเราควรเก็บงานสร้างเก่า ๆ ไว้ทั้งหมดหรือเริ่มทิ้งงานพวกมันหลังจากผ่านไปประมาณหนึ่งสัปดาห์หรือมากกว่านั้น? มีอะไรอีกที่ฉันไม่เห็นที่นี่หรือ …

12
คุณรักษารหัสการพัฒนาและรหัสการผลิตอย่างไร [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบพร้อมข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการเมื่อปีที่แล้ว ปรับปรุงคำถามนี้ อะไรคือแนวทางปฏิบัติที่ดีที่สุดและกฎที่ควรปฏิบัติในขณะที่รักษาโค้ด เป็นแนวทางปฏิบัติที่ดีที่จะมีเฉพาะรหัสที่พร้อมใช้งานจริงในสาขาการพัฒนาหรือควรมีรหัสล่าสุดที่ยังไม่ทดสอบในสาขาการพัฒนา พวกคุณรักษารหัสการพัฒนาและรหัสการผลิตของคุณอย่างไร? แก้ไข - คำถามเสริม - ทีมพัฒนาของคุณปฏิบัติตาม "กระทำเร็วที่สุดเท่าที่จะเป็นไปได้และบ่อยครั้งแม้ว่าโค้ดจะมี - ข้อบกพร่องเล็กน้อยหรือไม่สมบูรณ์" โปรโตคอลหรือ "กระทำ - ONLY-perfect-code "โปรโตคอลในขณะที่ส่งรหัสไปยังสาขา DEVELOPMENT?

7
รับรองความถูกต้อง Jenkins CI สำหรับที่เก็บส่วนตัว Github
ฉันต้องการให้ Jenkins ดึงข้อมูลโดยอัตโนมัติจากที่เก็บส่วนตัวของฉันที่โฮสต์บน Github แต่ฉันไม่รู้ว่าจะทำงานนั้นให้สำเร็จได้อย่างไร .. พยายามเอกสารสร้าง ssh-key สำหรับผู้ใช้ jenkins และสิ่งที่ฉันเห็นคือ: "ไม่สามารถโคลน repo ได้" ฉันได้ตรวจสอบ URL แล้ว - ถูกต้อง เบาะแสใด ๆ คุณอาจจะรู้จักเอกสาร / บล็อก / อะไรก็ตามที่อธิบายถึงสิ่งประเภทนี้

2
mvn clean install เทียบกับ deploy เทียบกับ release
ฉันเพิ่งเรียนรู้ maven และเมื่อเร็ว ๆ นี้เราจำเป็นต้องไปมากขึ้นเรื่อย ๆ ฉันต้องการทราบความแตกต่างระหว่าง mvn clean install mvn release mvn deploy กรุณาอธิบายให้ละเอียดที่สุด

4
เก็บถาวรสิ่งประดิษฐ์ใน Jenkins
ใครช่วยอธิบายแนวคิดของสิ่งประดิษฐ์ในกระบวนการสร้างให้ฉันฟังได้ไหม ฉันมีไดเร็กทอรีเวิร์กสเปซที่ฉันตรวจสอบโค้ดเพื่อคอมไพล์และรันสคริปต์มดของฉันเป็นต้นในตอนท้ายในกรณีของฉันฉันได้รับไฟล์ jar ที่พร้อมติดตั้ง ถือว่าเป็นสิ่งประดิษฐ์หรือไม่? ฉันควรบอกบิลด์สคริปต์ให้ใส่ไฟล์ jar ไว้ที่ไหน ในไดเรกทอรีพื้นที่ทำงาน? ไฟล์ jar ของฉันได้รับชื่อไฟล์ที่ไม่ซ้ำกันขึ้นอยู่กับตัวแปรเช่นBUILD_IDและฉันจะบอกเจนกินส์ได้อย่างไรว่าจะเลือกไฟล์ jar ใด แก้ไข: โอเคฉันจึงลองทำสิ่งนี้: เส้นทางยังไม่มีอยู่ในพื้นที่ทำงานของฉันเนื่องจากสคริปต์การสร้างควรจะสร้างขึ้นและแน่นอนไฟล์ .jar.propertiesไฟล์และไฟล์ไม่ได้อยู่ที่นั่นเนื่องจากยังไม่ได้สร้าง ทำไมถึงแจ้งข้อผิดพลาด ดูเหมือนว่าฉันขาดอะไรไป นอกจากนี้เจนกินส์ยังลบอาร์ติแฟกต์หลังจากสร้างแต่ละครั้ง (ไม่ใช่อาร์ติแฟกต์ที่เก็บถาวรฉันรู้ว่าฉันสามารถบอกให้ลบสิ่งเหล่านั้นได้) มิฉะนั้นจะทำให้ฮาร์ดไดรฟ์อุดตันอย่างรวดเร็ว

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