Start CI/CD with Jenkins and Create Basic Pipeline Script

Top'p Kullawattana
5 min readAug 1, 2020

--

ในบทความนี้ ผมจะพูดถึงจุดเริ่มต้นของการใช้งาน 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 ครับ

หลังจากติดตั้งเสร็จ ให้เข้าไปที่ไฟล์ 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 ได้เลย

การดึงเฉพาะ Issue ที่สนใจ

ในการเขียน Script กับ JIRA เราสามารถตามต่อได้ที่นี่ครับ

ส่วนการดู Stage ระหว่างการ Build ให้ใช้ Pipeline Stage View Plugin

แนะนำครับ…เมื่อใครมีปัญหาในการใช้งาน Jenkins ให้เข้ามาที่กลุ่มนี้ครับ ซึ่งเป็น Jenkins Community

การแจ้งปัญหาการใช้งาน สามารถแจ้งปัญหาได้ที่นี่

References

--

--

Top'p Kullawattana

Coding Stylist of Kept by Krungsri, I have experience of 10 years in the design and implementation of enterprise applications.