มีเหตุผลที่จะเรียกใช้กระบวนการด้วยเครื่องมือ CI หรือไม่


29

ที่ บริษัท ของฉันเรามีปัญหาของงาน cron ที่แตกต่างกัน (ในหลาย ๆ ระบบ) และเริ่มกระบวนการด้วยตนเองซึ่งทำให้การทำงานทางธุรกิจของเราเป็นผลมาจากการพัฒนาที่รวดเร็วและการละเลยในเวลาต่อมา

สักวันเราจะต้องหาวิธีแก้ปัญหาแบบรวมศูนย์ด้วยเหตุผลที่ชัดเจน

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

คำถามของฉันคือ: บริษัท อื่น ๆ กำลังทำเช่นนี้หรือไม่? นี่เป็นวิธีปฏิบัติที่ยอมรับกันโดยทั่วไปหรือไม่ สิ่งนี้ขัดแย้งกับคำจำกัดความของเครื่องมือ CI โดยนัยในชื่อหรือไม่? มีตัวเลือกอื่น ๆ อีกไหม?

หมายเหตุ: https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins

เจนกินส์อ้างว่ามันมุ่งเน้นไปที่ "การตรวจสอบการดำเนินการของงานที่ดำเนินการจากภายนอกเช่นงาน cron และงาน procmail" ฉันไม่แน่ใจว่านี่เป็นสิ่งที่ฉันกำลังพูดถึงหรือไม่


2
คุณสามารถอธิบายลักษณะของงานและกระบวนการต่าง ๆ ที่คุณมีอยู่ในใจได้หรือไม่?
Stephen Gross

การผสมผสานของสคริปต์ในภาษาต่าง ๆ กระบวนการของจาวาและคำสั่ง linux
smp7d

เราต้องการรายละเอียดเพิ่มเติม ลักษณะของงานคืออะไร? พวกเขาทำอะไร? พวกเขาจัดการได้อย่างไร?
สตีเฟ่

@StephenGross รวบรวมข้อมูลจากระบบภายนอกสำหรับการจัดเก็บในตัวเครื่องส่งการแจ้งเตือนไปยังผู้ใช้ตามกฎเกณฑ์ทางธุรกิจตรวจสอบการใช้งานดิสก์ลบเด็กกำพร้าและอื่น ๆ อีกนับพันรายการ พวกเขาทั้งหมดถูกจัดการโดย cron หากพวกเขาได้รับการจัดการที่จุดนี้ ทำไมคุณต้องการรายละเอียดเหล่านี้? คุณสามารถสันนิษฐานได้ว่าพวกเขาทำหน้าที่ทางธุรกิจที่สำคัญตามกำหนดเวลา
smp7d

2
เหตุผลที่ฉันต้องการรายละเอียดเหล่านี้ก็เพราะเพื่อช่วยให้คุณมีปัญหาฉันต้องเข้าใจปัญหา แม้ว่าคุณจะรู้มากมายเกี่ยวกับงาน / กระบวนการเหล่านี้ แต่ฉันก็ไม่ได้ การเข้าใจลักษณะของงานที่ต้องดำเนินการเมื่อมีการประเมินว่าโซลูชันทางเทคนิคแบบใดทำงานได้ดีที่สุด
Stephen Gross

คำตอบ:


17

เราใช้เจนกิ้นส์เป็นตัวลดลงเป็นสองสามปีแล้วและนี่คือข้อดีและข้อเสีย:

ข้อดี

  • หากคุณกำลังจัดการกระบวนการจำนวนมากในเซิร์ฟเวอร์หลายสิบเครื่องและสภาพแวดล้อมที่หลากหลายมันทำให้ง่ายขึ้น คุณจะได้รับการแจ้งเตือนทางอีเมลนอกกรอบแดชบอร์ดทั่วไปสำหรับทุกอย่างเว็บอินเตอร์เฟสสำหรับบันทึกและวิธีง่ายๆในการตั้งค่าโหนดเพิ่มเติมเพื่อเรียกใช้งาน ทีมสนับสนุนโดยเฉพาะอย่างยิ่งขอบคุณที่มีที่ตั้งส่วนกลางนี้เพื่อตรวจสอบปัญหาและทำงานซ้ำ

  • ปลั๊กอินระบบนิเวศของเจนกินส์นั้นใช้งานได้ดีและมีโฮสต์ของฟังก์ชั่นเพิ่มเติม ... ฉันคิดว่านี่เป็นคุณสมบัติ 'นักฆ่า' ของเจนกินส์เพราะถ้าเจนกินส์เองไม่ได้ให้สิ่งที่คุณต้องการ (บ่อยครั้ง) มากกว่า บ่อยกว่าไม่มีปลั๊กอินที่ทำ รายการโปรดของฉันบางส่วน: คอลัมน์ Cron, สร้างใหม่, พารามิเตอร์ NodeLabel, ตัวแยกวิเคราะห์บันทึกข้อมูลและอีเมลต่อ

  • การสนับสนุนการกำหนดตารางเวลาขั้นสูง / ทริกเกอร์ขั้นสูง: ไวยากรณ์กำหนดการโดยทั่วไปคือ cron ดังนั้นคุณจึงมีความยืดหยุ่นเช่นเดียวกับที่นี่ แต่จะเสริมด้วย Triggers, REST API และ Groovy / Java API

จุดด้อย

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

  • หากคุณมีหลายสภาพแวดล้อม (Dev, UAT, Prod) โดยทั่วไปคุณจะมีเวอร์ชันที่แตกต่างกันเล็กน้อยของงานที่ทำงานในแต่ละสภาพแวดล้อม การมีงานทั้งหมดเหล่านี้ในเจนกินส์หนึ่งสามารถกลายเป็นเรื่องไม่สะดวกและการกำหนดค่าด้วยตนเองจะกลายเป็นความเจ็บปวดครั้งใหญ่ ในกรณีของเราเราเรียกใช้ตัวอย่าง 'Cron' ของ Jenkins แยกกันสำหรับแต่ละสภาพแวดล้อม อินสแตนซ์ถูกติดตั้งและกำหนดค่าโดยอัตโนมัติโดยใช้เครื่องมือการปรับใช้ภายในองค์กร คุณอาจไม่มีอะไรแบบนั้น แต่มีเครื่องมือโอเพ่นซอร์สที่ทำสิ่งที่คล้ายกัน (สร้างการกำหนดค่าโดยใช้แม่แบบ) หากคุณสามารถแก้ปัญหาการสร้างการกำหนดค่าสิ่งนี้จะทำให้การตั้งค่าและการปรับใช้ Jenkins ง่ายขึ้นมากและยังทำให้การควบคุมทุกอย่างของคุณอยู่ในแหล่งข้อมูลได้ง่ายขึ้น

  • การอัพเกรดเจนกินส์บางครั้งก็เป็นการทำลายการทำงานโดยเฉพาะอย่างยิ่งกับปลั๊กอิน อย่าอัปเกรดอินสแตนซ์ของ Jenkins ที่มีความสำคัญต่อภารกิจจนกว่าคุณจะได้ลองเวอร์ชันใหม่ก่อน นี่คือที่ที่มีสภาพแวดล้อมของ Dev Dev ที่มี Jenkins เป็นของตัวเอง

บางทีสิ่งหนึ่งที่จะเน้นย้ำ: เราใช้ Jenkins สำหรับ CI ด้วยเช่นกัน แต่นี่เป็นตัวอย่างที่แยกจากกัน ... อินสแตนซ์ 'cron' นั้นอุทิศให้กับการจัดการงานและอินสแตนซ์ 'CI' ทุ่มเทให้กับ CI การแยกข้อกังวลออกดูเหมือนจะทำให้ทุกอย่างสะอาดขึ้น

ในฐานะที่เป็นข้อความด้านข้างฉันใช้ Jenkins แทน cron ในกล่อง Linux ที่บ้าน :)

โดยวิธีการนี้เป็นจริงกรณีใช้เจนกินส์สวย ตัวอย่างเช่น Sandia National Lab ใช้ Jenkins ด้วยวิธีนี้: https://software.sandia.gov/trac/fast/wiki/Hudson

และมีบทความบล็อกและแบบฝึกหัดมากมายที่อธิบายสิ่งนี้ นี่คือตัวอย่างสองสามอย่าง: http://blog.vuksan.com/2011/08/22/using-jenkins-as-a-cron-server/

http://morgajel.net/2011/12/12/1108

ฉันควรเพิ่มว่าเรื่องนี้เกี่ยวข้องกับเจนกินส์จริง ๆ และไม่ใช่เครื่องมือ CI ทั้งหมดโดยทั่วไป เพียงเพราะเจนกิ้นส์มีความเหมาะสมที่จะทำสิ่งนี้ไม่ได้หมายความว่าคนอื่น ๆ (TeamCity, buildbot ฯลฯ ) คือ ...


8

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

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

ข้อดีอีกอย่างคือคุณสามารถตรวจสอบระบบได้จากระยะไกล (หากคุณต้องการ)

ดังนั้นในความสมดุลฉันจะบอกว่ามันเป็นสิ่งที่สมเหตุสมผลที่จะทำ


ความรู้สึกของคุณในเรื่องสะท้อนถึงตัวฉัน เนื่องจากโดยทั่วไป CI นั้นเป็นที่รู้จักกันดีสำหรับการสร้างและการทดสอบฉันจึงเห็นว่ามันเป็นวิธีแก้ปัญหานอกรีต คำตอบอื่น ๆ สำหรับคำถามนี้ได้แสดงให้เห็นอย่างชัดเจนว่าเป็นกรณีที่คนส่วนใหญ่เห็นว่าเป็นเครื่องมือที่ผิดสำหรับงาน เนื่องจาก TeamCity อาจทำงานเพิ่มเติมเหล่านี้เครื่องมือ CI ใด ๆ ที่ใช้โครงการ Maven สามารถทำสิ่งต่าง ๆ ได้หลายอย่าง ฉันยังคงอึดอัดที่มันเป็นความคิดที่ดี
smp7d

1
@ smp7d - เห็นด้วย มันเป็นทางออกที่เป็นไปได้แต่ไม่ใช่ทางออกที่ดีที่สุด
ChrisF

6

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

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


2

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

คุณไม่ได้พูดถึงงานของคุณ แต่การที่คุณพูดถึง CRON ทำให้ฉันคิดว่าพวกเขาเป็นเชลล์สคริป ฯลฯ มีโอเพ่นซอร์สและแพคเกจตัวกำหนดเวลางานเชิงพาณิชย์เอาไว้ที่นั่น บางครั้งพวกเขาจะเรียกว่าเป็นตัวกำหนดเวลาแบทช์ บางคนจะปิดท้าย CRON และทำให้มันเป็นมิตร บางอย่างเช่น Quartz scheduler ทำหน้าที่จัดการงานที่มีประสิทธิภาพ แต่ต้องการให้พวกเขานำไปใช้เป็นคลาส Java คุณสามารถใช้สิ่งนั้นและตัดการเรียกใช้รันไทม์ไปยังสคริปต์ต่างๆของคุณโดยใช้โปรแกรมตัดคำภาษาจาวา ฉันเชื่อว่าคุณจะพบตัวเลือกมากมายหากคุณมองไกล


งานคือการผสมผสานของสคริปต์ในภาษาต่างๆ, กระบวนการจาวาและคำสั่ง linux ควอตซ์เพียงอย่างเดียวจะไม่ให้ส่วนหน้า / สร้างส่วนบริหารที่เจนกินส์จัดหาให้และฉันไม่ต้องการสร้างทุกสิ่ง ฉันจะไม่แปลกใจถ้าเจนกินส์ใช้ควอตซ์หลังฉาก ฉันจะตรวจสอบตัวจัดการควอตซ์นี้ว่า ( terracotta.org/products/quartz-scheduler )
smp7d

2

ห้ามใช้ CI สำหรับการรันงานเป็นระยะที่ไม่เกี่ยวข้องกับบิลด์

ยังหลีกเลี่ยง cron สำหรับงานที่ไม่เกี่ยวข้องกับการบำรุงรักษาระบบ

ใช้เครื่องมือที่เหมาะสม สำหรับความต้องการของแอปพลิเคชัน - ลองใช้โซลูชันที่ใช้ AMQP

ป.ล. ฉันเห็นว่า cron ที่เหมาะกับกรณีของคุณ ในทางกลับกันคุณมีงานจำนวนมากดังนั้นให้ลองเขียนแอปผู้ดูแลสำหรับพวกเขา


1
ขอบคุณสำหรับคำตอบ. คุณช่วยอธิบายความหมายของ "แอพผู้ดูแล" ได้ไหม?
smp7d

ในสองสามคำ - มันเป็นsupervisord.org โปรแกรม Meta ที่ควบคุมสถานะและการดำเนินการของกระบวนการอื่น ๆ คุณสามารถพัฒนาโซลูชันของคุณเองที่เหมาะกับความต้องการของคุณ ฉันมีชุดของงานตามกำหนดเวลาในโครงการของฉันและgithub.com/ask/django-celeryช่วยฉันออกจาก cron
Nikolay Fominyh

ขอบคุณฉันจะดูเป็นหัวหน้างาน วัตถุประสงค์ของการใช้เครื่องมือ CI คือเพื่อป้องกันไม่ให้เราต้องเขียนเครื่องมือของเราเอง เครื่องมือ CI เรียบเนียนเหมือนเดิม
smp7d

1
เดาว่าฉันไม่มีตัวแทนลงคะแนนนี้ แต่มันเป็นคำตอบที่แย่มาก - น่าเสียดายที่มันได้รับความโปรดปราน อะไรทำให้เครื่องมือเป็น "เครื่องมือที่เหมาะสม"? แม้ว่ามันจะมีส่วนประกอบที่จำเป็นทั้งหมด แต่มันเป็น "เครื่องมือที่ผิด" เพราะมันถูกเรียกว่าระบบ CI?
DougW

1

คุณต้องใช้enterprise service bus (ESB) สำหรับงานประเภทนี้

ตอนนี้พื้นหลังของฉันอยู่ใน windows / BizTalk แต่ฉันแน่ใจว่าสิ่งที่เทียบเท่าทั้งหมดมีอยู่ในด้าน unix ของสิ่งต่าง ๆ เช่นกัน สิ่งที่เราจะทำตามปกติคือตั้งค่ากระบวนการในกล่อง BizTalk ที่จะรับผิดชอบในการเตะสิ่งต่าง ๆ ในกล่องอื่น ๆ ตรวจสอบความคืบหน้า / ข้อผิดพลาดและรายงานสถานะกลับไปยังพอร์ทัล SharePoint (หรือเว็บ) หรือส่งอีเมลและ เช่นถ้าต้องการความสนใจ

ประโยชน์ของวิธีนี้คือการกำหนดค่าและการจัดการทั้งหมดของกระบวนการทางธุรกิจของคุณตั้งอยู่ใจกลางเมืองดังนั้นคุณจึงรู้ว่าจะเริ่มมองหาที่ไหน มีซอฟต์แวร์อยู่แล้วที่ให้คุณแยกส่วนการเข้ารหัสจากการกำหนดค่าทางกายภาพ (ใน BizTalk คุณสามารถตั้งโปรแกรมกับ 'พอร์ต' แบบโลจิคัลเช่นเซิร์ฟเวอร์ sql และจากนั้นใน prod ถ้ากล่อง sql เปลี่ยนตำแหน่งหรืออัพเกรดหรืออะไรก็ตามคุณ สามารถเปลี่ยนพอร์ตฟิสิคัลที่กำหนดค่าโดยใช้เครื่องมือผู้ดูแลระบบของพวกเขาอีกครั้งฉันแน่ใจว่ามีอยู่เทียบเท่าในด้าน unix)

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


อาจใช้งานได้ แต่ฉันไม่แน่ใจว่าเป็นอีกกรณีของการใช้เครื่องมือที่ผิดเนื่องจาก CI จะเป็นเช่นนั้น มันเป็นความประทับใจของฉันที่ ESB จะถูกใช้เมื่อต้องการการสื่อสารหรือการออกแบบกระบวนการ ในกรณีนี้เราแค่ต้องการการจัดการจากศูนย์กลางสำหรับกระบวนการแบบสแตนด์อโลน เราสามารถใช้คำสั่ง linux แบบกำหนดเองได้แม้ว่าการจัดการจากศูนย์กลางดังนั้นการไม่เชื่อเรื่องพระเจ้าของภาษา OS / Programming อาจเกินความจำเป็น นี่อาจเป็นสิ่งที่ควรค่าแก่การพิจารณาขอบคุณ
smp7d

หากคุณเป็นร้านยูนิกซ์ไปด้วยแน่นอนฉันรู้ว่า IBM มีผลิตภัณฑ์ในบรรทัด websphere ของพวกเขาและมี webmethods เช่นเดียวกับที่ใช้ในเชิงพาณิชย์และ appache มีข้อเสนอโอเพนซอร์ส คุณถูกต้องตามความหมายของ ESB แต่น่าเสียดายที่ ESB มีความคลุมเครือในการใช้งาน แต่พิจารณาว่าในที่สุดคุณต้องการเพิ่มการรายงานข้อผิดพลาดจากส่วนกลางหรือการรายงานใด ๆ เช่น 'มัน' เข้าสู่กระบวนการของคุณ การออกแบบท่าเต้น
aceinthehole

@ smp7d ฉันรู้ว่า webMethods Integration Server มีการสนับสนุนการตั้งเวลาชั้นหนึ่ง ทำได้ดี.
Robert Grant

1

ในทางทฤษฎีมันสมเหตุสมผลสำหรับคุณที่จะมีสถานที่เดียวสำหรับการควบคุมงานที่แตกต่างกันทั้งหมด แต่ขึ้นอยู่กับประสบการณ์ในอุตสาหกรรมที่เหมือนกับ "Holy Grail" คุณจะต้องมีงาน cron ที่นี่ทุบตีสคริปต์ที่นั่นและสคริปต์ cli ที่นี่

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

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

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


นี่เป็นความคิดที่ดี ดังนั้นคุณคิดว่าสิ่งที่ฉันกำลังมองหาไม่มีอยู่และเครื่องมือ CI ไม่ใช่ทางเลือกที่สมเหตุสมผล?
smp7d

อาจมีอยู่ แต่การใช้ประโยชน์ในสิ่งที่คุณใช้อาจทำให้คุณยังคงมีงาน cron และสคริปต์ทุบตี อย่างไรก็ตามการใช้สภาพแวดล้อม CI ของคุณอาจเป็นอุปสรรคในภายหลังเพราะ CI นั้นเป็นขั้นตอนการพัฒนาขั้นต้น แต่เมื่อสภาพแวดล้อมเป็นผู้ใหญ่ที่คุณกำลังมองหาโซลูชันที่เกี่ยวข้องกับการดำเนินงาน หลังจากนั้นคุณอาจตัดสินใจที่จะย้ายการควบคุมเวอร์ชัน / CI ของคุณไปยังคลาวด์คุณไม่ต้องการให้มันจมอยู่กับการทำงานขององค์กรของคุณในแต่ละวัน
Stephen Senkomago Musoke

เราคิดว่าเราจะใช้เครื่องมือ CI แยกต่างหากสำหรับการจัดการกระบวนการ แต่ฉันเห็นสิ่งที่คุณพูด
smp7d

เนื่องจากคุณกำลังมองหา CI แยกต่างหากทำไมไม่ลองดูเครื่องมือที่เน้นการจัดการกระบวนการการตรวจสอบและการรายงาน ด้วยวิธีนี้คุณจะใช้ความพยายามในการตั้งค่า CI เพื่อให้ได้เครื่องมือที่เหมาะสมสำหรับงานถ้ามันล้มเหลวคุณมี CI ที่จะต้องถอยกลับไป
Stephen Senkomago Musoke

ฉันยอมรับว่านี่เป็นเส้นทางที่สมเหตุสมผลที่สุด Quartz Scheduler, supervisord.org และ ESB ได้รับการแนะนำ คุณมีคำแนะนำหรือความคิดเห็นเพิ่มเติมเกี่ยวกับสิ่งเหล่านี้หรือไม่? (เช่น: เมื่อฉันบอกว่าแยก CI ฉันแค่หมายถึงการติดตั้งเครื่องมือปัจจุบันของเราด้วยการสร้างตราสินค้าใหม่บางอย่าง ... การติดตั้งจะไม่เป็นปัญหา)
smp7d

0

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

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


คำแนะนำของคุณนำฉันมาสู่สิ่งนี้ ... en.wikipedia.org/wiki/Job_scheduler - ไม่มีใครที่จะเอ่ยชื่อเครื่องมือนี้ได้ นี่อาจเป็นสิ่งที่ฉันกำลังมองหาราวกับว่ามันถูกออกแบบมาเพื่อทำสิ่งที่ฉันกำลังมองหาเวลาอาจจะแสดงว่ามันทำได้ดีกว่าเครื่องมือ CI จะใช้เวลาวิจัยเพื่อตรวจสอบว่าแม้ว่า
smp7d
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.