เมื่อก่อนเรา
เรื่องราว
วลีการจัดส่งแบบต่อเนื่องสามารถเห็นได้อีกครั้ง
ในปี 2010 Jez Humble และ David Farley ออกฉาย
หลังจากการตีพิมพ์หนังสือเล่มนี้ แนวทางนี้เริ่มได้รับความนิยมและในเวลาเพียงไม่กี่ปีก็เกือบจะเป็นที่ยอมรับในระดับสากล ตาม
ตอนนี้แนวทางนี้ยังคงเป็นหนึ่งในแนวทางที่ได้รับความนิยมมากที่สุด จากการศึกษาในปี 2018 ที่เกี่ยวข้องกับชุมชนไอที DevOps และ Jenkins Community
การจัดส่งแบบต่อเนื่องทำงานอย่างไร
พื้นฐานซีดีคือความพร้อมของโค้ดสำหรับการปรับใช้ เพื่อให้งานนี้สำเร็จ จะใช้กระบวนการอัตโนมัติในการเตรียมซอฟต์แวร์สำหรับการเปิดตัว ควรเป็นมาตรฐานในสภาพแวดล้อมการพัฒนาที่แตกต่างกัน ซึ่งจะช่วยค้นหาจุดอ่อนและเพิ่มประสิทธิภาพได้อย่างรวดเร็ว เช่น เร่งการทดสอบ
ตัวอย่างของกระบวนการจัดส่งแบบต่อเนื่องมีลักษณะดังนี้:
หากแนวทางการรวมแบบต่อเนื่องมีหน้าที่รับผิดชอบในการทำให้สองขั้นตอนแรกเป็นอัตโนมัติ การจัดส่งแบบต่อเนื่องจะรับผิดชอบในสองขั้นตอนถัดไป ระบบรับประกันความเสถียรของกระบวนการ เหนือสิ่งอื่นใด
ข้อกำหนดต่อไปนี้ถูกกำหนดไว้ในกระบวนการ:
- ความพร้อมใช้งานของข้อมูลเกี่ยวกับความพร้อมในการเข้าสู่สภาพแวดล้อมการผลิตและความพร้อมสำหรับการเผยแพร่ทันที (เครื่องมือซีดีทดสอบโค้ดและทำให้สามารถประเมินผลกระทบของการเปลี่ยนแปลงในการเผยแพร่)
- ความรับผิดชอบโดยรวมสำหรับผลิตภัณฑ์ขั้นสุดท้าย ทีมผลิตภัณฑ์ - ผู้จัดการ นักพัฒนา ผู้ทดสอบ - คิดถึงผลลัพธ์ ไม่ใช่แค่เกี่ยวกับขอบเขตความรับผิดชอบของพวกเขาเท่านั้น (ผลลัพธ์คือเวอร์ชันที่ใช้งานได้สำหรับผู้ใช้ผลิตภัณฑ์)
ในซีดีมักจะใช้
มีประโยชน์อะไร
การจัดส่งอย่างต่อเนื่องช่วยลดความซับซ้อนในการปรับใช้โค้ด ซึ่งส่งผลเชิงบวกต่อประสิทธิภาพการทำงาน และลดโอกาสที่พนักงานจะเหนื่อยหน่าย ท้ายที่สุดแล้วสิ่งนี้จะช่วยลดต้นทุนการพัฒนาโดยรวม ตัวอย่างเช่น CD ช่วยหนึ่งในทีม HP
นอกจากนี้ จากการศึกษาในปี 2016 (หน้า 28
ข้อดีอีกประการหนึ่งคือการเร่งการเผยแพร่ จัดส่งอย่างต่อเนื่องที่สตูดิโอพัฒนาฟินแลนด์
ความยากลำบากที่อาจเกิดขึ้น
ปัญหาแรกและหลักคือความจำเป็นในการสร้างกระบวนการที่คุ้นเคยขึ้นมาใหม่ เพื่อแสดงประโยชน์ของแนวทางใหม่ ควรค่อยๆ เปลี่ยนไปใช้ซีดี โดยเริ่มจากแอปพลิเคชันที่ใช้แรงงานมากที่สุด
ปัญหาที่อาจเกิดขึ้นประการที่สองคือสาขาโค้ดจำนวนมาก ผลที่ตามมาของ "การแตกแขนง" คือความขัดแย้งที่เกิดขึ้นบ่อยครั้งและการสูญเสียเวลาจำนวนมาก แนวทางแก้ไขที่เป็นไปได้ - แนวทาง
โดยเฉพาะอย่างยิ่งในบางบริษัท ความยากลำบากหลักเกิดขึ้นกับการทดสอบ ซึ่งใช้เวลานานเกินไป มักจะต้องวิเคราะห์ผลการทดสอบด้วยตนเอง แต่วิธีแก้ปัญหาที่เป็นไปได้อาจเป็นการทำการทดสอบแบบขนานในระยะแรกของการนำซีดีไปใช้
คุณควรฝึกอบรมพนักงานให้ทำงานกับเครื่องมือใหม่ - โปรแกรมการศึกษาเบื้องต้นจะช่วยประหยัดความพยายามและเวลาของนักพัฒนา
/flickr/
เครื่องมือ
ต่อไปนี้เป็นเครื่องมือแบบเปิดบางส่วนสำหรับการจัดส่งแบบต่อเนื่อง:
โกซีดี — เซิร์ฟเวอร์สำหรับการจัดส่งอย่างต่อเนื่องใน Java และ JRuby on Rails ช่วยให้คุณควบคุมกระบวนการจัดส่งแอปพลิเคชันทั้งหมด: สร้าง—ทดสอบ—เผยแพร่ เครื่องมือนี้เผยแพร่ภายใต้ลิขสิทธิ์ Apache 2.0 คุณสามารถค้นหาได้จากเว็บไซต์อย่างเป็นทางการคู่มือการตั้งค่า .Capistrano — เฟรมเวิร์กสำหรับการสร้างสคริปต์ที่ทำให้การใช้งานแอปพลิเคชันใน Ruby, Java หรือ PHP เป็นแบบอัตโนมัติ Capistrano สามารถรันคำสั่งบนเครื่องระยะไกลได้โดยเชื่อมต่อผ่าน SSH ทำงานร่วมกับเครื่องมือบูรณาการและส่งมอบอย่างต่อเนื่องอื่นๆ เช่น เซิร์ฟเวอร์ Integrity CIGradle เป็นเครื่องมือหลายแพลตฟอร์มที่ทำให้วงจรการพัฒนาแอปพลิเคชันทั้งหมดเป็นแบบอัตโนมัติ Gradle ทำงานร่วมกับ Java, Python, C/C++, Scala ฯลฯ มีการทำงานร่วมกับ Eclipse, IntelliJ และ Jenkinsเสียงหึ่งๆ - แพลตฟอร์มซีดีในภาษา Go โดรนสามารถใช้งานได้ทั้งในสถานที่หรือบนคลาวด์ เครื่องมือนี้สร้างขึ้นบนคอนเทนเนอร์และใช้ไฟล์ YAML ในการจัดการใบเล็กสำหรับเรือแข่ง — แพลตฟอร์มสำหรับการส่งมอบโค้ดอย่างต่อเนื่องในระบบมัลติคลาวด์ พัฒนาโดย Netflix วิศวกรของ Google มีบทบาทสำคัญในการพัฒนาเครื่องมือนี้ คำแนะนำในการติดตั้งค้นหาได้จากเว็บไซต์อย่างเป็นทางการ .
สิ่งที่ต้องอ่านในบล็อกบริษัทของเรา:
DevOps ในบริการคลาวด์โดยใช้ตัวอย่างของ 1cloud.ru คุณจะบันทึกโดยใช้ API ของเราได้อย่างไร วิวัฒนาการของสถาปัตยกรรมคลาวด์ 1cloud
ที่มา: will.com