ฉันจะบอกเจนกินส์ให้ทำโครงการเฉพาะกับทาสคนหนึ่งได้อย่างไร
ฉันได้ตั้งค่าโหนดหลักของเจนกินส์และโหนดทาสที่ฉันต้องการใช้สำหรับการแสดงผลแอปพลิเคชัน แต่ฉันไม่สามารถหาวิธีกำหนดค่าโครงการให้ทำงานบนโหนดบ่าวที่ฉันสร้างขึ้นได้
ฉันจะบอกเจนกินส์ให้ทำโครงการเฉพาะกับทาสคนหนึ่งได้อย่างไร
ฉันได้ตั้งค่าโหนดหลักของเจนกินส์และโหนดทาสที่ฉันต้องการใช้สำหรับการแสดงผลแอปพลิเคชัน แต่ฉันไม่สามารถหาวิธีกำหนดค่าโครงการให้ทำงานบนโหนดบ่าวที่ฉันสร้างขึ้นได้
คำตอบ:
ตั้งค่าช่องทำเครื่องหมาย "จำกัด ตำแหน่งที่สามารถรันงานนี้" ในการกำหนดค่างานของคุณและระบุชื่อทาสของคุณ
หากคุณเพิ่มทาสมากขึ้นในภายหลังคุณสามารถกำหนดป้ายกำกับสำหรับทาสแต่ละคนและระบุพวกเขาในการกำหนดค่างานของคุณ
ดูเอกสารอ้างอิงนี้:
หากคุณกำลังใช้งานไปป์ไลน์คุณต้องเพิ่มป้ายกำกับ (เช่น 'ทาส') ไปยังโหนดสลาฟ (หรือเอเจนต์ตามที่ดูเหมือนว่าจะเรียกตอนนี้)
จากนั้นในสคริปต์ไพพ์ไลน์คุณระบุเลเบลที่งานรัน:
ไปป์ไลน์ที่ประกาศ:
pipeline {
agent {label 'slave'}
stages {
...
}
}
ไพพ์ไลน์ Scripted:
node (label: 'slave') {
...
}
งานนี้จะทำงานบนโหนดใด ๆ ที่มีป้ายกำกับ 'ทาส' หากคุณต้องการให้งานรันเฉพาะทาสคนนี้เท่านั้นอย่าใช้ฉลากซ้ำ และแน่นอนว่าฉลากไม่จำเป็นต้องเป็น 'ทาส' มันอาจเป็นสิ่งที่คุณต้องการ
ในไพพ์ไลน์สคริปต์หากโหนดของคุณชื่อ "My Node" คุณสามารถทำได้ดังนี้:
node ('My Node') {
...
}
หากคุณต้องการให้โค้ดบล็อกทำงานบนโหนดเฉพาะนั้นจะมีประโยชน์ อย่างไรก็ตามการใช้เลเบลมีความยืดหยุ่นมากขึ้นและสามารถเพิ่มโหนดเพื่อแบ่งใช้เวิร์กโหลดได้ง่ายขึ้น
หากคุณต้องการใช้ Node / Label เป็นพารามิเตอร์ให้ติดตั้งNodeLabel Parameter Plugin
params += new org.jvnet.jenkins.plugins.nodelabelparameter.LabelParameterValue('testServer', testServerLabel);
(แทนที่จะเป็นแบบปกติStringParameterValue
)