สร้าง Dynamic parameters ด้วย Plugin “Active Choices” ใน jenkins กันเถอะ ( แจก script pipeline) 2/2
จากบทความที่แล้วเราสอนทำ Dynamic parameters ผ่านหน้า UI ของ Jenkins แต่ยังมีข้อเสียอยู่นะ ข้อเสียคือ ถ้ากรณีที่เราเผลอลบเราก็จะต้องเขียนมันขึ้นมาใหม่ ทีนี้ตอนที่ 2 นี่ เราจะเอา Dyanmic parameters ไปไว้ยัง pipeline Jenkins เมื่อเราเขียนแล้วก็เอาขึ้น GIT ตัว script เราก็จะอยู่ตลอดไป ซึ่งการ backup นี้นะมันเป็นหัวในหลักของชาวไอทีเลย
ย้าย Dynamic Parameters มาไว้ใน pipeline กัน เราจะยึดตามโจทย์เดิมนะคะ หน้าตาแบบนี้
เริ่มต้นกันเลย ก่อนอื่นติดตั้ง plugin ถ้าใครยังไม่รู้วิธีเข้าไปอ่านใน ตอนที่ 1 ได้เลย
เริ่มเขียน Jenkinsfile
Jenkinsfile คือ file สำหรับเขียน Jenkins Pipeline เป็น filetext ที่ไม่มีนามสกุล สำหรับ Syntax สามารถดูเพิ่มเติมได้ ที่นี่
สร้างตัวแปรไว้สำหรับเก็บค่า list value ของเรา
- บรรทัดที่ 1–8 สร้างตัวแปร movieNames เป็นตัวแปรที่สำหรับ reference กับตัวแปร movieTypes param
- บรรทัดที่ 10–11 สร้างตัวแปร movieTypes เป็นตัวแปรหลัก return string
สร้าง properties สำหรับประกาศ parameters
บรรทัดที่ 16–38 เป็นการสร้าง parameter MovieType
บรรทัดที่ 17 บอก type ของ input
บรรทัดที่ 21 ประกาศชื่อ
บรรทัดที่ 29 กำหนด script สำหรับ return เมื่อ script หลักมีปัญหา
บรรทัดที่ 34 กำหนด script หลักที่ต้องการ
บรรทัดที่ 39–62 เป็นการสร้าง parameter MovieName
บรรทัดที่ 40 บอก type ของ input
บรรทัดที่ 44 ประกาศชื่อ
บรรทัดที่ 46 กำหนด param ที่ต้องการ reference (สามารถกำหนดได้หลายตัวโดยการใช้ “ , ”)
บรรทัดที่ 53 กำหนด script สำหรับ return เมื่อ script หลักมีปัญหา
บรรทัดที่ 59 กำหนด script หลักที่ต้องการ
Choice Type Parameters มีทั้งหมด 4 อัน คือ PT_SINGLE_SELECT, PT_MULTI_SELECT, PT_RADIO, PT_CHECKBOX
สร้าง pipeline สำหรับทดสอบ
Pipeline อันนี้จะ print ชื่อของ Movie Type กับ Movie Name ที่เราเลือก เมื่อเรากด build ก็จะได้ผลดังนี้
สำหรับคนที่อยากลองเล่นสามารถเอา pipeline จาก git ไปลองได้เลย
สร้าง Job Jenkins เลือก pipeline เลือกเอา script จาก SCM เลือก git ระบุ url และบอก path ที่เก็บ Jenkinsfile (สำหรับตัว pipeline จาก git ต้อง build ก่อน 1 ที ครั้งต่อไปถึงจะมี parameters ขึ้นมานะคะ)
source code pipeline สามารถเข้าไปดูได้ที่ Githup
สำหรับใครที่อยากลองทำก็สามารถไป create parameters ได้ง่ายที่ Jenkins -> Pipeline Syntax -> Steps-> properties: Set job properties -> This project is paramterized -> เลือก Add parameters -> Generate Pipeline Script
จบแล้วหลังจากนี้ก็สามารถเขียน Dynamic Parameters ได้แล้ว ที่จริงมันยังมีความสามารถมากกว่านี้นะ สามารถไปอ่านเพิ่มได้ที่ website official ของ Active Choices ที่แปะไว้ของล่างนะคะ สำหรับบทความนี้ขอขอบคุณผู้อ่านมากๆเลยนะคะ ❤