เจนกินส์ไปป์ไลน์: ตัวแทน vs โหนด?


134

อะไรคือความแตกต่างระหว่างตัวแทนและโหนดในท่อเจนกินส์?

ฉันพบคำจำกัดความเหล่านั้น:

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

ดังนั้นทั้งสองจึงใช้สำหรับดำเนินการขั้นตอนไปป์ไลน์ แต่จะใช้ตัวไหนเมื่อไหร่?

คำตอบ:


146

คำตอบง่ายๆคือAgentมีไว้สำหรับไพพ์ไลน์ที่เปิดเผยและโหนดสำหรับไปป์ไลน์แบบสคริปต์

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

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

ไปป์ไลน์ที่ประกาศและสคริปต์ (แก้ไขตามความคิดเห็น):

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

5
ใช่และไม่ใช่ไปป์ไลน์ที่เปิดเผยเป็นส่วนขยายใหม่ของ DSL ไปป์ไลน์ (โดยพื้นฐานแล้วเป็นสคริปต์ไปป์ไลน์ที่มีเพียงขั้นตอนเดียวคือขั้นตอนไปป์ไลน์ที่มีอาร์กิวเมนต์ (เรียกว่าคำสั่ง) คำสั่งเหล่านี้ควรเป็นไปตามไวยากรณ์เฉพาะประเด็นของรูปแบบใหม่นี้คือ ว่ามันเข้มงวดกว่าและด้วยเหตุนี้ควรจะง่ายกว่าสำหรับผู้ที่เพิ่งเริ่มใช้ไปป์ไลน์อนุญาตให้มีการแก้ไขกราฟิกและอื่น ๆ อีกมากมายดูรายการคุณสมบัติในลิงก์ของคุณด้านบนดังนั้นสำหรับงานง่ายๆฉันจะบอกว่าเป็นแนวทางที่แนะนำ แต่สำหรับขั้นสูงกว่า กรณีที่สคริปต์เป็นทางเลือก
Jon S

6
ขณะนี้มี 3 ชื่อที่มีnode, agentและslave!
mkobit

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

1
@DenCowboy Aha ใช่ฉันจะบอกว่าแนวทางปฏิบัติที่ดีที่สุดประการที่ 4 มีผลเฉพาะกับไปป์ไลน์ที่มีสคริปต์เท่านั้นเนื่องจากการประกาศจะจัดสรรโหนดเสมอคำสั่งตัวแทนจะ จำกัด เฉพาะโหนดที่จัดสรรเท่านั้น
Jon S

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