Start CI/CD with Jenkins and Create Basic Pipeline Script
ในบทความนี้ ผมจะพูดถึงจุดเริ่มต้นของการใช้งาน Jenkins สำหรับการสร้าง Pipeline CI/CD สำหรับการทำ Deployment ของ Application โดยเริ่มต้นจากการติดตั้ง Jenkins ก่อนเลยครับ
การลง Jenkins
- ติดตั้ง JAVA ด้วย brew cask install java8
- ติดตั้ง Jenkins ด้วย brew install jenkins-lts
- เข้าหน้า interface ของ Jenkins เพื่อแก้ IP ที่ไฟล์ config ก่อนด้วย : sudo nano /usr/local/opt/jenkins-lts/homebrew.mxcl.jenkins-lts.plist
ในส่วนวิธีการ Start/Stop Jenkins ด้วย command
- Start Jenkins โดย brew services start jenkins-lts
- Stop Jenkins โดย brew services stop jenkins-lts
ในส่วนของการเข้าใช้งานให้เปิดเข้าไปที่ Browser ครับ
- พิมพ์ http://localhost:81/login?from=%2F ใช้ Chrome ในการเข้า Jenkins
หลังจากติดตั้งเสร็จ ให้เข้าไปที่ไฟล์ initialAdminPassword เพื่อไปเอา Admin Password ใส่ password โดย Copy initialAdminPassword แล้วเอามาใส่ที่ช่อง Administrator password กด Continuous
หลังจากนั้น ให้ทำการเลือก Install suggested plugins เพื่อให้ Jenkins install plugins ถ้ามี plugin ที่เราต้องการ ก็สามารถเพิ่ม plugin ใหม่ได้
หลังจาก Install suggested plugins เสร็จแล้ว Jenkins จะขึ้นหน้าให้สร้าง User สำหรับเข้าใช้งาน
Configuration Port
เมื่อติดตั้งเสร็จเรียบร้อยแล้ว เราก็สามารถเริ่มใช้งานได้เลยครับ
วิธีการติดตั้ง Plugin เพิ่มใน Jenkins
- ให้ไปที่ Manage Jenkins > Manage Plugins
เช่น เลือก JIRA Plugin (เมื่อติดตั้งแล้ว จะขึ้นมาใน installed)
ในบริการของ Jenkins จะมี Plugin มาให้มากมาย ดังนี้
การเริ่มสร้าง Pipeline เราสามารถเข้าไปสร้าง pipeline โดยผมสมมติ pipeline ที่มีชื่อว่า “testing” โดยอาจจะเลือกเป็น Pipeline
เมื่อเราสร้าง pipeline เสร็จ เราก็จะได้ pipeline ออกมา พร้อมที่จะทำงาน โดย เราสามารถ Configure Plugin ในตัว Jenkins ได้ครับ
การเพิ่ม URL JIRA Plugin ให้สามารถใช้ Link หลังจาก Build ไปที่ JIRA ได้
โดยวิธีการใส่ JIRA URL ให้กรอกลงในช่องตามที่ระบุนี้
ในการเพิ่มลิงค์ของ GIT Repository เพื่อเชื่อมต่อสำหรับการ Commit และ Push Comment โดยเราจะต้องสร้าง Github ไว้เพื่อทดสอบการ Commit File แล้วทดสอบการ Link ไปที่ JIRA โดยผ่าน Comment ของ Github โดย push ผ่าน Master Branch
หลังจากนั้น… เราจะมีการ Configuration ของ Source Code Management
ให้เพิ่ม Git ID เข้าไป
การสร้าง Token เราสามารถค้นหาจาก Git ได้
หลังจากนั้น… เมื่อ Show Git User เราก็จะสามารถใช้งาน Git ได้เลย
กรณีที่จะทดสอบผ่าน Github (ให้ไป Set Credentials ของ Github)
กรณีที่ต้องการทำ Webhook ให้เตรียม IP Address และ Set hook trigger เมื่อมีการ Commit และ Refresh ในหน้า Jenkins ก็จะปรากฏการ Change ให้เห็นก่อน Build
หลังจากนั้น… ลองทดสอบการ Build ครับ
สามารถใส่เลข Issue แล้ว Link ไปที่ JIRA ได้เลย
วิธีการทำ Jenkins pipeline ด้วยภาษา groovy
วิธีการเขียน Script
ตัวอย่างการดึง Issue จาก Board ของ JIRA ด้วยการเขียน Script ให้กับ Pipeline
การดึงเฉพาะ Issue ที่สนใจ
ในการเขียน Script กับ JIRA เราสามารถตามต่อได้ที่นี่ครับ
ส่วนการดู Stage ระหว่างการ Build ให้ใช้ Pipeline Stage View Plugin
แนะนำครับ…เมื่อใครมีปัญหาในการใช้งาน Jenkins ให้เข้ามาที่กลุ่มนี้ครับ ซึ่งเป็น Jenkins Community
การแจ้งปัญหาการใช้งาน สามารถแจ้งปัญหาได้ที่นี่
References