วิธีการใช้ขั้นตอนแบบแมนนวลเมื่อสิ้นสุดการจัดส่งอย่างต่อเนื่อง?


13

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

  • อัตโนมัติ).
  • คู่มือ.

ฉันไม่สามารถจินตนาการได้ว่าจะมี "ผู้ดำเนินการ" ที่น่าสงสารที่อีกด้านหนึ่งของกำแพง DevOps ซึ่งจะต้องทำอะไรบางอย่างที่สอดคล้องกับสิ่งที่ "คู่มือ" หมายถึง ... คำถามของฉัน:

  • การอ้างอิงของฉัน (ในคำถามของฉัน) เพื่อ "แจกจ่าย" กับ "ติดตั้ง" ใกล้เคียงกับการใช้งานที่เป็นไปได้ของ "คู่มือ" - ทุกอย่าง? นี่คือคำพูดที่เกี่ยวข้องกับคำถามที่เกี่ยวข้องของฉัน:
  • แจกจ่ายไปยังสภาพแวดล้อมเป้าหมายโดยใช้บางอย่างเช่น FTP (หากสำเนามาตรฐานไม่สามารถเชื่อมช่องว่าง) แต่ยังไม่เปิดใช้งานในเป้าหมาย นั่นคือสิ่งที่ควรจะคล้าย / ใกล้เคียงกับการจัดส่งอย่างต่อเนื่องหรือไม่?
  • ติดตั้ง (หรือเปิดใช้งาน ) ในบางสภาพแวดล้อมเป้าหมายรวมกับสิ่งต่าง ๆ เช่นการผูกการหยุด / เริ่มการทำงานเป็นต้นนั่นคือสิ่งที่ควรจะคล้าย / ใกล้เคียงกับการปรับใช้อย่างต่อเนื่องหรือไม่?
  • การใช้งานที่เป็นไปได้อื่น ๆ ของมันคืออะไร?

สำหรับการปรับใช้ AWS ฉันสร้างสคริปต์อัพโหลด / ปรับใช้ซึ่งมีเพียงผู้จัดการทีมเท่านั้นที่สามารถเข้าถึงได้ ดังนั้นในการปรับใช้กับการผลิตผู้จัดการทีมจำเป็นต้องเรียกใช้สคริปต์
Turtle

ขออภัยที่จะทำลายความฝันของคุณ แต่เรายังคงมีทีมงาน´deploy ซึ่ง Oek จะเปิดตัวการอัพเดทฐานข้อมูลบน Db2-iSeries ด้วย ARCAD จากนั้นพ่อครัวบนเซิร์ฟเวอร์ Tomcart เพื่อปรับใช้เวอร์ชันในการผลิตทุก 2 วันพฤหัสบดีระหว่าง 20.00 น. ถึงเที่ยงคืน ดังนั้นน่าเศร้าที่บางครั้งมีผู้ปฏิบัติงานไม่ดี (หวังว่าจะไม่ใช่งานของพวกเขาเท่านั้น)
Tensibai

คำตอบ:


5

โดยส่วนตัวฉันถือว่าdistributionซอฟต์แวร์เป็นเป้าหมายเพียงขั้นตอนตัวกลางในการปรับใช้ - การติดตั้ง / เปิดใช้งานซอฟต์แวร์นั้นมีความจำเป็นเพื่อให้การปรับใช้นั้นเสร็จสมบูรณ์

สำหรับฉันแล้วdelivery(ในcontinuos delivery) หยุดเมื่อซอฟต์แวร์ที่จะใช้งานถูกสร้างขึ้นและให้พร้อมสำหรับการใช้งาน (เช่นสำหรับการกระจายการติดตั้งและการเปิดใช้งาน)

ดังนั้นเพื่อตอบคำถามที่ 1 ของคุณไม่ใช่ฉันจะไม่พิจารณาการจัดจำหน่ายและการติดตั้งเนื่องจากสะท้อนขั้นตอนที่ทำด้วยตนเองซึ่งแตกต่างจากการจัดส่งอย่างต่อเนื่องจากการปรับใช้อย่างต่อเนื่อง

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

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

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

ดังนั้นฉันจะไม่ดูขั้นตอนด้วยตนเองเพียงแค่เป็นปัญหาการใช้งาน


Merci (oeps: ขอบคุณ) สำหรับการแบ่งปันมุมมองของคุณเกี่ยวกับเรื่องนี้ ดูเหมือนว่าเรามีการรับรู้ที่แตกต่างกันของ "การกระจาย" ขอผมเพิ่มอีก 1 สถานการณ์: คุณมีหน้าต่าง 1 ชั่วโมงสำหรับระบบธนาคารออนไลน์ในตอนเช้าตรู่ของวันอาทิตย์เพื่อ "เปิดใช้งาน" ปฏิบัติการที่อัปเดตแล้ว 150.000 ชุด และหากจำเป็นต้องใช้การย้อนกลับไม่ว่าด้วยเหตุผลใดก็ตามจะไม่สามารถยกเลิกการขยายเพื่อขยายหน้าต่างนั้นได้ คุณต้องการที่จะเสียเวลาในการ "กระจาย" แทนที่จะใช้เวลาที่จำเป็นสำหรับ "ในกรณีที่จำเป็นต้องย้อนกลับหรือไม่คิดสองครั้ง: ถ้าใช้เวลานานกว่า 1 ชั่วโมง .. คุณถูกไล่ออก ... ???
Pierre.Vriens

นั่นคือ IMHO เพียงการเพิ่มประสิทธิภาพหรือรายละเอียดการใช้งานของการปรับใช้เองซึ่งสามารถใช้ได้ในกรณีของคุณ (แต่นั่นไม่ได้ทำให้เป็นกฎ) เพียงเพราะคุณกำลังดำเนินการบางส่วนของการปรับใช้ของคุณก่อนที่จะปิดตัวลงการดำเนินการ sw แบบเก่าไม่ได้หมายความว่างานนั้นเป็นส่วนหนึ่งของขั้นตอนการจัดส่ง นอกจากนี้ยังไม่ได้หมายความว่าเมื่อคุณเริ่มการปรับใช้คุณจะต้องดำเนินการให้เสร็จสมบูรณ์ sw ได้รับการจัดส่งอย่างมีประสิทธิภาพ (เช่นพร้อมใช้งาน / พร้อมสำหรับการปรับใช้) แม้ว่าคุณจะไม่ได้ใช้งานจริง
Dan Cornilescu

2

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

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

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