คำถามติดแท็ก jenkins

8
จะจัดการกับการทดสอบที่ล้มเหลวจำนวนมากได้อย่างไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันกำลังทำงานในการพัฒนาโครงการเก่าที่เขียนใน Java เรามีมากกว่า 10 ล้าน LOC และยิ่งกว่านั้นมากกว่า 4,000 ทดสอบการทำงาน การทดสอบที่กำหนดโดยฮัดสันนั้นล้มเหลวอย่างบ้าคลั่งเมื่อมีการเปลี่ยนแปลงรหัสที่ใหญ่กว่าทุกครั้ง การตรวจสอบความล้มเหลวในการทดสอบ - หากเป็นปัญหาในผลิตภัณฑ์หรือในการทดสอบใช้เวลาเป็นเดือน เราไม่สามารถลบการทดสอบเก่าออกได้เพราะเราไม่รู้ว่าเป็นการทดสอบอะไร! เราทำอะไรได้บ้าง วิธีดำเนินการกับการทดสอบแบบดั้งเดิมจำนวนเท่าใด

7
บูรณาการอย่างต่อเนื่อง: ความถี่ใด
ฉันเปิดตัวบิลด์ทุกครั้งหลังทำคอมมิชชัน แต่ในโปรเจ็กต์ใหม่นี้สถาปนิกเพิ่งขอให้ฉันเปลี่ยนความถี่เป็น "สร้างทุก ๆ 15 นาที" และฉันก็ไม่เข้าใจว่าทำไมจึงเป็นเหตุผลที่ดี การสร้างในแต่ละการกระทำ " ก่อนปิดรายละเอียดบางอย่าง: โครงการ Objective-C (iOS 5) 10 ผู้พัฒนา แต่ละบิลด์ใช้เวลาประมาณ 1 นาทีและรวมถึงการสร้างและทดสอบหน่วย เซิร์ฟเวอร์การรวมเป็น Mac Mini ดังนั้นพลังการประมวลผลจึงไม่เป็นปัญหาสำหรับที่นี่ เราใช้ Jenkins กับปลั๊กอิน XCode ข้อโต้แย้งของฉันคือถ้าคุณสร้างแต่ละการกระทำคุณสามารถเห็นได้ในขณะนี้สิ่งที่ผิดพลาดและแก้ไขข้อผิดพลาดของคุณโดยตรงโดยไม่ต้องรบกวน dev อื่น ๆ บ่อยเกินไป นอกจากนี้ผู้ทดสอบของเราก็ใส่ใจน้อยลงด้วยข้อผิดพลาด UT ด้วยวิธีนี้ ข้อโต้แย้งของเขาคือการที่ devs จะถูกน้ำท่วมโดยอีเมล "ข้อผิดพลาดในการสร้าง" (ซึ่งไม่เป็นความจริงอย่างสมบูรณ์เนื่องจากเจนกินส์สามารถกำหนดค่าให้ส่งอีเมลสำหรับการสร้างที่พังครั้งแรกเท่านั้น) และเมตริกนั้นไม่สามารถทำได้อย่างถูกต้องหากความถี่ ของงานสร้างสูงเกินไป ดังนั้นคุณคิดอย่างไรกับเรื่องนี้?

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

2
Jenkins เพื่อทำการปรับใช้แอพพลิเคชัน ASP.NET โดยอัตโนมัติ
มีความเป็นไปได้หรือไม่ที่จะทำการปรับใช้แบบอัตโนมัติ / กึ่งอัตโนมัติของเว็บแอปพลิเคชัน ASP.NET โดยใช้เจนกินส์ สามารถอยู่ภายใต้สภาพแวดล้อมที่มีการควบคุมหรือไม่สามารถควบคุมได้สำหรับผู้ใช้ที่ไม่สามารถควบคุมได้ต้องป้อนรหัสผู้ใช้และรหัสผ่าน ฉันกำลังมองหาวิธีการคัดลอกไฟล์จากเป้าหมายไปยังปลายทางและเรียกใช้สคริปต์ sql ในสถานการณ์ฟาร์มเว็บ แก้ไข ขณะนี้เรากำลังใช้ไฟล์ค้างคาวเพื่อ xcopy / กำหนดค่าแอพพูล / sql cmd ฯลฯ เพื่อปรับใช้แอปพลิเคชัน แต่เพื่อให้ทำงานได้ทีมสนับสนุนการผลิตจำเป็นต้องดาวน์โหลดซอร์สโค้ดสร้างโครงการและเรียกใช้ไฟล์แบ็ตเพื่อปรับใช้แอปพลิเคชัน ตอนนี้เราต้องการทำการปรับใช้โดยอัตโนมัติโดยไม่ต้องให้ผู้ใช้ดาวน์โหลดซอร์สโค้ดและผู้ใช้ปลายทางเพียงแค่ไปที่ URL และกรอกพารามิเตอร์ผู้ใช้และรหัสผ่านและเลือกแท็ก svn และควรได้รับการปรับใช้ แต่เจนกินส์กำลังทำงานภายใต้การลงชื่อเข้าใช้แบบไม่ระบุชื่อดังนั้นไฟล์ค้างคาวที่มีอยู่จะไม่ทำงานเนื่องจากไม่มีสิทธิ์ในการเรียกใช้สคริปต์ ดังนั้นฉันอยากรู้ว่ามีทางเลือกอื่นสำหรับสถานการณ์เช่นนี้หรือไม่ จะเป็นการดีถ้าบริบทผู้ใช้ถูกเลียนแบบโดยใช้หมายเลขผู้ใช้และรหัสผ่านที่ป้อนเพื่อให้ไฟล์แบตช์ที่มีอยู่สามารถรันได้โดยไม่ต้องมีการเปลี่ยนแปลงเพิ่มเติม หากเป็นไปไม่ได้เราต้องการสำรวจความคิดอื่น ๆ ด้วย แต่เราไม่มีความยืดหยุ่นในการเลือกเครื่องมืออัตโนมัติเช่นหุ่นเชิด ฯลฯ เราควรยึดติดกับไฟล์แบตช์เหล่านี้

2
สคริปต์การปรับใช้ควรเป็นสิ่งประดิษฐ์ของบิลด์หรือไม่
นี่เป็นโครงการเว็บที่เขียนด้วย Java ดังนั้นฉันจึงเขียน build และสคริปต์การปรับใช้ ในการสร้างงานสร้างฉันใช้มด การสร้างอย่างต่อเนื่องจะทำกับเจนกินส์ บิลด์สร้างสิ่งประดิษฐ์ 3 แบบที่แตกต่างกัน: ไฟล์สงคราม ซิปพร้อมโครงร่าง ซิปพร้อมรูปภาพ จนถึงตอนนี้ดีมาก แต่ตอนนี้ฉันต้องเขียนสคริปต์การปรับใช้ซึ่งควรจะ: ปรับใช้ war (ส่วนที่ 1) กับ tomcat ที่รันที่เซิร์ฟเวอร์ 1 วางส่วนที่2ที่เซิร์ฟเวอร์ 1ในไดเร็กทอรีเฉพาะ วางส่วนที่3ที่เซิร์ฟเวอร์ 2ในไดเร็กทอรีเฉพาะ ดังนั้นฉันจึงได้พูดคุยกับเพื่อนร่วมงานของฉันและเขาบอกว่าเราควรสร้างสิ่งประดิษฐ์ (บางทีdeploy.xml ) ที่ปรับใช้สิ่งประดิษฐ์เหล่านี้เมื่อวางไว้ที่เซิร์ฟเวอร์ที่ถูกต้อง ดังนั้นจะมีสคริปต์อื่นที่จะ: ดาวน์โหลดสิ่งประดิษฐ์เจนกินส์ scp ไปยังแต่ละเซิร์ฟเวอร์และวาง deploy.xml ที่นั่น เรียกใช้ deploy.xml แบบรีโมต สิ่งที่ทำให้ฉันรู้สึกไม่สบายใจเล็กน้อยคือการมี deploy.xml เป็นงานสร้าง แรงจูงใจที่อยู่เบื้องหลังสิ่งนี้จะทำให้สามารถปรับใช้โดยไม่จำเป็นต้องเข้าถึงคลังเก็บ VCS ดังนั้นงานสร้างจะต้องมีในตัวเองกล่าวคืองานสร้างใด ๆ ที่สามารถเข้าสู่การผลิตได้เฉพาะสิ่งที่เจนกินส์สร้างขึ้น ควรวางสคริปต์การปรับใช้ไว้ที่ใด พวกเขาควรจะเพียงที่ …

2
git, maven และ jenkins - versioning, dev และ release สร้างเวิร์กโฟลว์
เป็นวิธีที่ต้องการทำต่อไปนี้ด้วยคอมไพล์ maven และเจนกินส์คืออะไร: ฉันกำลังพัฒนาแอปพลิเคชันซึ่งฉันต้องการรักษาสาขา "dev" และ "release" ฉันต้องการเจนกินส์เพื่อสร้างทั้งสอง อาจเป็นไปได้ว่าการเผยแพร่สิ่งประดิษฐ์จะมีรุ่นเช่น 1.5.2 และ dev-builds จะเป็น 0.0.1-SNAPSHOTs ฉันไม่ต้องการไฟล์ pom.xml 2 ไฟล์ ฉันดูโปรไฟล์ แต่ดูเหมือนว่าพวกเขาจะไม่สามารถเปลี่ยนเวอร์ชันสิ่งประดิษฐ์ได้ วิธีหนึ่งที่ฉันสามารถดูได้คือการเพิ่ม 'ตัวระบุ' ลงในการทดสอบสร้าง แน่นอนฉันสามารถเปลี่ยนชื่อไฟล์ได้เนื่องจากข้อมูลสิ่งประดิษฐ์จริงในเรื่องนี้ไม่สำคัญเพราะแอปเป็นแบบสแตนด์อโลน สิ่งที่จะเป็นวิธีที่ต้องการในการทำเช่นนี้? หรือคุณจะทำอย่างไร

6
การต่อสู้และการพัฒนาที่มั่นคงสร้างความขัดแย้งหรือไม่?
ฉันเป็นส่วนหนึ่งของกลุ่มพัฒนา 5 ทีมรวมนักพัฒนาประมาณ 40 คน เรากำลังติดตามวิธีการแย่งชิงกันโดยใช้เวลา 3 สัปดาห์ เรามีการตั้งค่าการรวมระบบอย่างต่อเนื่อง (เจนกินส์) โดยมีขั้นตอนการสร้างใช้เวลาหลายชั่วโมง (เนื่องจากการทดสอบอัตโนมัติที่กว้างขวาง) โดยทั่วไปกระบวนการพัฒนาทำงานได้ดี อย่างไรก็ตามเราสังเกตว่าหลังจากสองสามวันไปสู่การวิ่งใหม่งานสร้างของเรามักจะไม่เสถียรและยังคงสั่นคลอนจนสิ้นสุดการวิ่ง "หยุดทำ" ผลข้างเคียงของสิ่งนี้คือการสร้างขั้นตอนไกลไปป์ไลน์โดยเฉพาะอย่างยิ่ง UI- / การทดสอบทางเว็บจะไม่ถูกดำเนินการเป็นเวลาหลายวัน ดังนั้นข้อผิดพลาดที่แนะนำใหม่มักตรวจพบได้ช้ามากในการวิ่ง การยืนยันแต่ละครั้งจะถูกตรวจสอบกับชุดการทดสอบพื้นฐาน เมื่อตรวจสอบแล้วการเปลี่ยนแปลงจะถูกส่งไปยังต้นแบบหลังจากตรวจสอบโค้ด (Gerrit) การทดสอบหน่วยพื้นฐานทำงานทุก 30 นาทีระยะเวลาน้อยกว่า 10 นาที การทดสอบการรวมจะทำงานทุก 2 ชั่วโมงและระยะเวลา 1 ชั่วโมง UI- / Webtests ทำงานบนการทดสอบการรวมที่ประสบความสำเร็จใช้เวลาหลายชั่วโมง ขึ้นอยู่กับว่าใครเป็นผู้รับผิดชอบในการสร้างความมั่นคงในระหว่างการวิ่ง (ความรับผิดชอบนั้นจะถูกส่งต่อการวิ่ง) อาจจะมีระดับกลางโฆษณาเฉพาะกิจ "คอมมิชชันหยุด" เพื่อให้ได้งานสร้างกลับมาที่มั่นคง ดังนั้นเราต้องการ: ทีมนักพัฒนาของเราในการพัฒนาและกระทำการเปลี่ยนแปลงในระหว่างการวิ่งไม่ จำกัด กระบวนการสร้างของเราที่จะละทิ้งหากขั้นตอนการสร้างล้มเหลวเนื่องจากผลการสร้างต่อมามีความหมายน้อย กระบวนการสร้างของเราเพื่อให้ข้อเสนอแนะในการพัฒนาคุณภาพแก่นักพัฒนาในเวลาที่เหมาะสม รับ (2) คะแนน …

5
Continous Integration (CI) คืออะไรและมีประโยชน์อย่างไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา บางคนสามารถอธิบายแนวคิดของการบูรณาการอย่างต่อเนื่องกับฉันได้อย่างไรมันทำงานอย่างไรในวิธีที่เข้าใจง่าย และทำไม บริษัท จึงควรใช้ CI ในขั้นตอนการจัดส่งโค้ด ฉันเป็นนักพัฒนาและ บริษัท ของฉัน (ส่วนใหญ่เป็นทีมงานสร้าง) ใช้ Team City ในฐานะนักพัฒนาฉันทำการเช็คเอาต์อัปเดตและส่งมอบรหัสให้กับ SVN แต่ไม่จำเป็นต้องกังวลเกี่ยวกับ TeamCity หรือ CI โดยทั่วไป ดังนั้นฉันอยากจะเข้าใจว่า CI มีประโยชน์อย่างไร? CI เป็นส่วนหนึ่งของระเบียบวิธี Agile หรือไม่?

1
Jenkins Paramerized Trigger + Copy Artifact
ฉันกำลังทำงานเพื่อจัดตั้งเจนกินส์เพื่อจัดการงานสร้างของเรา บิลด์ประกอบประกอบด้วยตัวติดตั้ง Windows ที่มีไบนารีบางตัวที่ต้องสร้างบน Linux นี่คือสิ่งที่ฉันมี: ส่วน Windows และ Linux ถูกตั้งค่าเป็นโครงการแยกเจนกินส์ โครงการ Windows ได้รับการกำหนดพารามิเตอร์โดยใช้แท็ก Subversion เพื่อสร้างและปล่อย ในฐานะส่วนหนึ่งของการสร้างโครงการ Windows จะเรียกใช้บิลด์ของ Subversion แท็กเดียวกันสำหรับโครงการ Linux (โดยใช้ปลั๊กอินParameterized Trigger ) จากนั้นคัดลอกส่วนจากโครงการ Linux (ใช้ปลั๊กอินCopy Artifact ) ไปยังพื้นที่ทำงานของโครงการ Windows เพื่อให้ สามารถรวมไว้ในตัวติดตั้ง Windows ได้ จุดที่ฉันติดอยู่: ตอนนี้ Copy Artifact ได้รับการตั้งค่าเพื่อคัดลอกงานสร้างที่สำเร็จครั้งล่าสุด ดูเหมือนว่าจะมีประสิทธิภาพมากกว่าในการกำหนดค่า Copy Artifact เพื่อคัดลอกจากบิลด์ที่แน่นอนที่ทริกเกอร์ Parameterized ทริกเกอร์ แต่ฉันมีปัญหาในการหาวิธีการทำงาน มีตัวเลือกสำหรับพารามิเตอร์ "build …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.