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

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

6
ไม้ไผ่กับ ฮัดสัน (หรือที่เรียกว่าเจนกินส์) เทียบกับระบบ CI อื่น ๆ [ปิด]
ตามที่กล่าวไว้ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ใครมีประสบการณ์กับทั้งฮัดสันและไผ่? มีความคิดเห็นเกี่ยวกับจุดแข็งและจุดอ่อนของผลิตภัณฑ์เหล่านี้หรือไม่? เอาล่ะเนื่องจากผู้คนมักพูดถึงผลิตภัณฑ์ CI อื่น ๆ ฉันจะเปิดสิ่งนี้ต่อไป นี่คือปัญหาทั่วไปของฉัน ฉันต้องการติดตั้งระบบ CI สำหรับโปรเจ็กต์ใหม่ โปรเจ็กต์นี้น่าจะมีคอมโพเนนต์ Java (WARs และ JARs) โมดูล python บางตัวและอาจเป็นคอมโพเนนต์. NET ดังนั้นฉันต้องการเซิร์ฟเวอร์ CI ที่สามารถ: จัดการหลายภาษา ปรับใช้สิ่งประดิษฐ์ไปยังเซิร์ฟเวอร์ (เช่นปรับใช้สงครามหากการทดสอบหน่วยทั้งหมดผ่าน) ฉันต้องการบางสิ่งที่รวมเข้ากับเครื่องมือครอบคลุมรหัสที่เหมาะสม รายงานที่ดูดีเป็นสิ่งที่ดี แต่ไม่จำเป็น กลไกการแจ้งเตือนหลายอย่างเมื่อเกิดข้อผิดพลาด ฉันไม่กังวลเกี่ยวกับการโฮสต์ ฉันจะเรียกใช้บนเซิร์ฟเวอร์ภายในหรือในอินสแตนซ์ของ Amazon นอกจากนี้สิ่งนี้อาจจะหมุนไปบนท้องฟ้า แต่มีบางอย่างที่สามารถสร้างแอพ iPhone ได้หรือไม่?

5
กำลังแสดงสถานะการสร้าง Travis ใน GitHub repo
ฉันจำได้ว่าเมื่อเร็ว ๆ นี้เห็นสถานะการสร้าง Travis ของ pr หรือกระทำใน GitHub เรียกดูที่เก็บ (แต่ไม่พบที่ใด) ฉันไม่ได้พูดถึงภาพสถานะการสร้าง Travis README.mdแต่เป็นคุณลักษณะ GitHub จริง (กล่องสีเขียวที่มีเครื่องหมายถูก) ในขณะที่ความมุ่งมั่นของฉันสร้างบน Travis แต่ฉันก็อยากได้ผลลัพธ์ที่แสดงใน GitHub (ซึ่งตอนนี้พวกเขาไม่ได้ทำ) ฉันต้องการทราบวิธีเปิดใช้งาน UPDATE พบตัวอย่างที่นี่ - ดูเครื่องหมายถูกสีเขียวขนาดเล็กที่ระบุว่า "Travis-CI build pass"?


11
CruiseControl [.Net] vs TeamCity สำหรับการรวมอย่างต่อเนื่อง?
ฉันอยากถามคุณว่าสภาพแวดล้อมการสร้างอัตโนมัติแบบใดที่คุณพิจารณาได้ดีกว่าโดยพิจารณาจากประสบการณ์จริง ฉันกำลังวางแผนที่จะทำ. Net และการพัฒนา Java บางอย่างดังนั้นฉันต้องการมีเครื่องมือที่รองรับทั้งสองแพลตฟอร์มนี้ ฉันได้อ่านและเรียนรู้เกี่ยวกับCruiseControl.NET ที่ใช้ในการพัฒนา stackoverflow และTeamCityด้วยการรองรับการสร้างเอเจนต์บนแพลตฟอร์ม OS ที่แตกต่างกันและอิงตามภาษาการเขียนโปรแกรมที่แตกต่างกัน ดังนั้นหากคุณมีประสบการณ์จริงเกี่ยวกับทั้งสองอย่างนี้คุณชอบอันไหนและเพราะเหตุใด ปัจจุบันฉันสนใจเรื่องความง่ายในการใช้งานและการจัดการเครื่องมือน้อยกว่ามากเนื่องจาก CC เป็นโอเพ่นซอร์สและ TC ขึ้นอยู่กับการออกใบอนุญาตในบางช่วงเวลาที่คุณมีโครงการมากมายที่ต้องดำเนินการ (เพราะฉัน จำเป็นสำหรับโครงการจำนวนเล็กน้อย) นอกจากนี้หากมีเครื่องมืออื่นที่ตรงตามที่กล่าวไว้ข้างต้นและคุณเชื่อว่าคุ้มค่ากับคำแนะนำโปรดอย่าลังเลที่จะรวมไว้ในการสนทนา

14
การผสานรวมอย่างต่อเนื่อง“ Pretty” สำหรับ Python
นี่เป็นคำถามที่ไร้สาระเล็กน้อย แต่ผลลัพธ์ของ BuildBot ไม่ค่อยดีนัก .. ยกตัวอย่างเทียบกับ .. phpUnderControl เจนกินส์ ฮัดสัน CruiseControl.rb .. และอื่น ๆBuildBotดูค่อนข้าง .. คร่ำครึ ฉันกำลังเล่นกับ Hudson แต่มันเป็น Java เป็นศูนย์กลาง (แม้ว่าจะมีคู่มือนี้แต่ฉันพบว่าการตั้งค่าง่ายกว่า BuildBot และให้ข้อมูลเพิ่มเติม) โดยพื้นฐานแล้ว: มีระบบการบูรณาการแบบต่อเนื่องใด ๆ ที่มุ่งเป้าไปที่ python ซึ่งสร้างกราฟที่เป็นประกายและสิ่งที่ชอบหรือไม่? อัปเดต:ตั้งแต่เวลานี้โครงการ Jenkins ได้แทนที่ฮัดสันเป็นเวอร์ชันชุมชนของแพ็คเกจ ผู้เขียนเดิมได้ย้ายมาที่โครงการนี้เช่นกัน ตอนนี้ Jenkins เป็นแพ็คเกจมาตรฐานบน Ubuntu / Debian, RedHat / Fedora / CentOS และอื่น ๆ การอัปเดตต่อไปนี้ยังคงถูกต้องเป็นหลัก จุดเริ่มต้นในการทำสิ่งนี้กับเจนกินส์นั้นแตกต่างกัน อัปเดต:หลังจากลองทางเลือกอื่น …

10
วิธีเลือก app.config อื่นสำหรับการกำหนดค่าบิลด์ต่างๆ
ฉันมีโครงการประเภท dllที่มีการทดสอบการรวม MSTest ในเครื่องของฉันการทดสอบผ่านและฉันต้องการให้สิ่งเดียวกันนี้เกิดขึ้นบนเซิร์ฟเวอร์ CI (ฉันใช้ TeamCity) แต่การทดสอบล้มเหลวเพราะฉันต้องปรับการตั้งค่าบางอย่างใน app.config นี่คือเหตุผลที่ฉันคิดว่าจะมีไฟล์ app.config ที่สองแยกต่างหากซึ่งจะเก็บการตั้งค่าสำหรับเซิร์ฟเวอร์ CI ดังนั้นฉันต้องการที่จะมี / Sln / Proj app.config (ฉันคิดว่าสิ่งนี้จำเป็นสำหรับ VS) app.Release.config (นี่คือไฟล์กำหนดค่าอิสระแบบสแตนด์อโลน) ดังนั้นถ้าฉันเลือก Release configuration ใน build config บน CI ฉันต้องการใช้ไฟล์ app.Release.config แทน app.config ปัญหา ดูเหมือนจะไม่ตรงไปตรงมาสำหรับโครงการประเภท. dll ธรรมดา ๆ สำหรับโครงการเว็บฉันสามารถแปลงการกำหนดค่าเว็บได้ ฉันพบแฮ็ควิธีทำการแปลงเหล่านี้สำหรับโปรเจ็กต์ประเภท dll แต่ฉันไม่ใช่แฟนตัวยงของแฮ็ค คำถาม วิธีมาตรฐานในการปรับแต่งไฟล์ app.config ขึ้นอยู่กับ build config …

12
ฉันจะเพิ่มเวอร์ชันแอสเซมบลี C # โดยอัตโนมัติผ่านแพลตฟอร์ม CI (ฮัดสัน) ได้อย่างไร
ตัวฉันและกลุ่มของฉันรู้สึกแย่กับการเพิ่มหมายเลขเวอร์ชันการประกอบและเราจัดส่งชุดประกอบที่มีเวอร์ชัน 1.0.0.0 อยู่บ่อยครั้ง เห็นได้ชัดว่าสิ่งนี้ทำให้ปวดหัวมาก เราเริ่มดีขึ้นมากกับแนวทางปฏิบัติของเราผ่านแพลตฟอร์มCIของเราและฉันต้องการตั้งค่าให้เพิ่มค่าภายในassemblyinfo.csไฟล์โดยอัตโนมัติเพื่อให้เวอร์ชันของแอสเซมบลีของเราได้รับการอัปเดตโดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงโค้ดในแอสเซมบลีนั้น ก่อนหน้านี้ฉันได้ตั้งค่า (ก่อนที่เราจะพบฮัดสัน ) วิธีเพิ่มค่าผ่านmsbuildบรรทัดคำสั่งอย่างใดอย่างหนึ่ง(จำไม่ได้) แต่ด้วยฮัดสันที่จะอัปเดตที่เก็บ SVN และทริกเกอร์บิวด์ ANOTHER นั่นจะส่งผลให้เกิดการวนซ้ำแบบไม่สิ้นสุดอย่างช้าๆขณะที่ฮัดสันสำรวจ SVN ทุกชั่วโมง การเพิ่มหมายเลขเวอร์ชันของฮัดสันเป็นความคิดที่ไม่ดีหรือไม่? จะมีทางเลือกอื่นให้ทำอย่างไร? ตามหลักการแล้วเกณฑ์ของฉันสำหรับการแก้ปัญหาคือ: เพิ่มหมายเลขบิวด์assemblyinfo.csก่อนสร้าง เพิ่มเฉพาะหมายเลขบิลด์ในแอสเซมบลีที่มีการเปลี่ยนแปลง สิ่งนี้อาจเป็นไปไม่ได้เนื่องจากฮัดสันจะล้างโฟลเดอร์โครงการทุกครั้งที่สร้าง ยอมรับ assemblyinfo.cs ที่เปลี่ยนแปลงลงในที่เก็บโค้ด (ปัจจุบันคือVisualSVN ) ไม่ทำให้ฮัดสันทริกเกอร์บิวด์ใหม่ในครั้งถัดไปที่สแกนหาการเปลี่ยนแปลง เมื่อพิจารณาถึงสิ่งนี้ในหัวของฉันฉันสามารถหาวิธีแก้ปัญหาส่วนใหญ่ได้อย่างง่ายดายผ่านไฟล์แบตช์ / คำสั่ง แต่ความคิดทั้งหมดของฉันจะทำให้ฮัดสันเรียกใช้งานสร้างใหม่ในครั้งต่อไปที่สแกน ฉันไม่ได้มองหาใครสักคนที่จะทำทุกอย่างเพื่อฉันเพียงแค่ชี้ทางที่ถูกต้องให้ฉันอาจเป็นเทคนิคที่จะทำให้ฮัดสันเพิกเฉยต่อการกระทำบางอย่างของ SVN เป็นต้น ทุกสิ่งที่ฉันพบจนถึงตอนนี้เป็นเพียงบทความที่อธิบายถึงวิธีการเพิ่มหมายเลขเวอร์ชันโดยอัตโนมัติโดยไม่ต้องคำนึงถึงแพลตฟอร์ม CI ที่สามารถหมุนวนเป็นวงวนไม่สิ้นสุด

9
คุณเรียกใช้การทดสอบ NUnit จาก Jenkins ได้อย่างไร
ฉันต้องการเรียกใช้การทดสอบ NUnit อัตโนมัติสำหรับแอปพลิเคชัน C # ทุกคืนและในแต่ละครั้งที่ส่งไปยัง svn นี่คือสิ่งที่ Jenkins-CI สามารถทำได้หรือไม่? มีบทช่วยสอนออนไลน์หรือเอกสารวิธีการที่ใช้เอกสารการตั้งค่าที่คล้ายกันที่ฉันสามารถดูได้หรือไม่?

3
จะอัพเกรด msbuild เป็น C # 6 ได้อย่างไร?
ฉันต้องการใช้ C # 6 ในโปรเจ็กต์ของฉัน (การขยายสัญญาณว่างคุณสมบัติอื่น ๆ ) ฉันได้ติดตั้ง VS 2015 บนพีซีของฉันแล้วและมันทำงานได้ยอดเยี่ยมและสร้างรหัสทดสอบเช่น var user = new SingleUserModel(); //all model fields are null var test = user.User?.Avatar?["blah"]; แต่เมื่อผมได้ผลักดันโครงการของฉันที่จะซื้อคืนและ CI ?เริ่มที่จะสร้างมันสร้างล้มเหลวเนื่องจากการได้รับการสนับสนุน ฉันได้ติดตั้ง VS2015 บนเซิร์ฟเวอร์ CI แล้ว แต่ก็เหมือนจะไม่ได้ใช้งาน ฉันจะทำอะไรได้บ้าง? CI - CruiseControl .NET สร้างด้วย C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe

4
Jenkins CI Pipeline Script ไม่อนุญาตให้ใช้เมธอด groovy.lang.GroovyObject
ฉันใช้ Jenkins 2 เพื่อรวบรวม Java Projects ฉันต้องการอ่านเวอร์ชันจาก pom.xml ฉันทำตามตัวอย่างนี้: https://github.com/jenkinsci/pipeline-plugin/blob/master/TUTORIAL.md ตัวอย่างแนะนำ: ดูเหมือนว่าจะมีปัญหาด้านความปลอดภัยในการเข้าถึงระบบไฟล์ แต่ฉันไม่สามารถเข้าใจได้ว่ามันให้อะไร (หรือทำไม) ปัญหานั้น: ฉันแค่ทำแตกต่างจากตัวอย่างเล็กน้อย: def version() { String path = pwd(); def matcher = readFile("${path}/pom.xml") =~ '<version>(.+)</version>' return matcher ? matcher[0][1] : null } ข้อผิดพลาดที่ฉันได้รับเมื่อเรียกใช้เมธอด 'เวอร์ชัน': org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use method groovy.lang.GroovyObject invokeMethod java.lang.String java.lang.Object (org.codehaus.groovy.runtime.GStringImpl …

18
“ Build Server” คืออะไร? [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันไม่ได้ทำงานในองค์กรขนาดใหญ่มากและฉันไม่เคยทำงานให้กับ บริษัท ที่มี "Build Server" จุดประสงค์ของพวกเขาคืออะไร? เหตุใดนักพัฒนาจึงไม่สร้างโครงการบนเครื่องในพื้นที่ของตนหรือ? บางโครงการมีขนาดใหญ่จนจำเป็นต้องใช้เครื่องจักรที่มีประสิทธิภาพมากกว่าในการสร้างในระยะเวลาที่เหมาะสมหรือไม่? ที่เดียวที่ฉันเห็นว่า Build Server มีประโยชน์คือสำหรับการรวมอย่างต่อเนื่องกับเซิร์ฟเวอร์ build ที่สร้างสิ่งที่มุ่งมั่นกับที่เก็บอย่างต่อเนื่อง ฉันไม่ได้ทำงานในโครงการที่ใหญ่พอหรือไม่? ใครบางคนโปรดให้ความรู้ฉัน: จุดประสงค์ของการสร้างเซิร์ฟเวอร์คืออะไร?

7
ไปป์ไลน์ที่เขียนสคริปต์ของเจนกินส์หรือไปป์ไลน์ที่เปิดเผย
ฉันกำลังพยายามแปลงขั้นตอนการทำงานพื้นฐานของโครงการแบบเก่าเป็นไปป์ไลน์ตาม Jenkins ในขณะที่อ่านเอกสารฉันพบว่ามีไวยากรณ์สองแบบที่แตกต่างกันชื่อscriptedและdeclarative. เช่นการdeclarativeเปิดตัวไวยากรณ์ของเว็บ Jenkins เมื่อเร็ว ๆ นี้ (ปลายปี 2016) แม้ว่าจะมีการเปิดตัวไวยากรณ์ใหม่ Jenkins ก็ยังสนับสนุนไวยากรณ์แบบสคริปต์เช่นกัน ตอนนี้ฉันไม่แน่ใจว่าสถานการณ์ใดทั้งสองประเภทนี้จะเข้ากันได้ดีที่สุด ดังนั้นจะdeclarativeเป็นอนาคตของท่อเจนกินส์หรือไม่ ใครก็ตามที่สามารถแบ่งปันความคิดเห็นเกี่ยวกับไวยากรณ์ทั้งสองประเภทนี้

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

12
กลยุทธ์การแตกแขนงที่ดีที่สุดเมื่อทำการบูรณาการอย่างต่อเนื่อง?
กลยุทธ์การแตกแขนงที่ดีที่สุดที่จะใช้เมื่อคุณต้องการผสานรวมอย่างต่อเนื่องคืออะไร? การแตกกิ่งก้าน:พัฒนาบนลำต้นเก็บกิ่งไว้สำหรับแต่ละรุ่น การแยกคุณสมบัติ:พัฒนาคุณลักษณะแต่ละอย่างในสาขาที่แยกจากกันผสานเพียงครั้งเดียวที่เสถียร มันสมเหตุสมผลหรือไม่ที่จะใช้ทั้งสองกลยุทธ์นี้ร่วมกัน เช่นเดียวกับคุณแยกสาขาสำหรับแต่ละรุ่น แต่คุณยังแตกสาขาสำหรับคุณสมบัติขนาดใหญ่ด้วย? หนึ่งในกลยุทธ์เหล่านี้เข้ากันได้ดีขึ้นด้วยการผสานรวมอย่างต่อเนื่องหรือไม่? การใช้การรวมแบบต่อเนื่องจะสมเหตุสมผลหรือไม่เมื่อใช้ลำต้นที่ไม่เสถียร

4
.NET 4.0 สร้างปัญหาบนเซิร์ฟเวอร์ CI
มีใครจัดการเพื่อรับแอปพลิเคชัน. NET 4.0 ที่รวบรวมบนเซิร์ฟเวอร์ CI โดยไม่ต้องติดตั้ง Visual Studio 2010 บนเซิร์ฟเวอร์ CI? ไม่มี SDK สำหรับ. NET 4.0 ได้ติดตั้ง. NET 4.0 บนเซิร์ฟเวอร์ CI Msbuild.exe ใช้งานได้กับโปรเจ็กต์ง่ายๆและให้คำเตือนต่อไปนี้: (GetReferenceAssemblyPaths เป้าหมาย) -> C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (847,9): คำเตือน MSB3644: แอสเซมบลีการอ้างอิงสำหรับเฟรมเวิร์ก ".NETFramework, เวอร์ชัน = v4.0" ไม่พบ ในการแก้ไขปัญหานี้ให้ติดตั้ง SDK หรือ Targeting …

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