Jenkins The Series Episode 0

BXDMAN
3 min readJun 29, 2023

--

⚙️Installation

Describe

Documentation : Installing Jenkins

Jenkins คืออะไร (ฉบับแปลจาก Docs)??

Jenkins is a self-contained Java-based program, ready to run out-of-the-box, with packages for Windows, Linux, macOS and other Unix-like operating systems.

As an extensible automation server, Jenkins can be used as a simple CI server or turned into the continuous delivery hub for any project.

จากด้านบนที่ผมไปคัดลอกมาจาก Docs ของมันแล้วเนี่ยก็แปลได้คร่าวๆ ว่า Jenkins เนี่ยคือ โปรแกรมอเนกประสงค์ที่เขียนขึ้นมาด้วยภาษาจาวา ที่สามารถทำงานได้ทั้งบนระบบปฏิบัติการ Windows, Linux, macOS และ Unix อื่นๆ

Jenkins เป็น Automated Server สำหรับการทำ CI (Continuous Integration) พื้นฐาน หรือ การทำ CD (Continuous Delivery)

Jenkins คืออะไร (ฉบับความคิดของผู้เขียน)??

สำหรับความคิดของผมก็เหมือนด้านบนนั่นแหละ หยอกๆครับ เอาจริงๆละครับ แต่อันนี้แค่ความเข้าใจของผมนะ

Jenkins เนี่ยสำหรับผมเเล้วมันคือ tools ตัวนึงที่เอาไว้ทำ CI/CD เออมันก็เหมือนด้านบน เรามาขยายความเพิ่มดีกว่า ว่า CI/CD เนี่ยคืออะไร

CI => กระบวนการที่จัดการ Source Code ของเราให้ผ่านกระบวนการการ Testing, Building เพื่อให้แน่ใจว่า Source Code สามารถใช้งานได้จริง ไม่มีข้อผิดพลาด

CD => กระบวนการที่ช่วยเหลือให้เราสามารถ Deploy Software ของเราได้อย่างมีประสิทธิภาพ โดยการนำ Source Code ที่ผ่านการ Build และ Testing มาแล้ว ซึ่งอาจอยู่ในรูปแบบที่แตกต่างกัน ให้ Deploy ขึ้นไปอยู่บน Server ตามที่เราต้องการและสามารถใช้งานได้

ทำ CI/CD ไปทำไม??

ดูแล และ Update Software ง่าย คำนี้แหละโดนใจผมมากที่สุดแล้วจากการที่ต้องคอยแก้งาน หรือ deploy source code ที่ dev เป็นคนเขียน หากไม่มีการทำ CI/CD ไว้เนี่ยก็จะลำบากหน่อยๆ เราจะต้องอัพโหลด Source Code / push & pull มาจาก repository บน GitHub แล้วมาสั่ง build และ deploy ใหม่เอง

บางครั้งเราต้องเข้าไปใน server เพื่อทำการ pull ลงมาจาก GitHub โชคดีหน่อยถ้าเปิด FTP/SFTP ไว้ แต่มันก็ยังยุ่งยากอยู่ดี เพราะฉะนั้นเราเลยต้องมาเรียนรู้การทำ CI/CD กัน แล้วอาชีพที่นั่งทำงานประเภทนี้เนี่ยก็คือ DevOps นั่นเอง

ติดตั้ง Jenkins กันเถอะ

สำหรับใครที่อยากเปิดเอกสารคู่มือการติดตั้งไปด้วย แปะไว้ให้ด้านบนแล้วครับ ซึ่งใน Series นี่ผมจะใช้เป็น Jenkins ที่ติดตั้งลงบนเครื่องจะไม่ได้ใช้ผ่าน Docker แต่ท่านใดที่อยากจะใช้ Docker ก็ได้เช่นกันสามารถเข้าไปอ่านวิธีการติดตั้งได้จาก link ที่แปะไว้ด้านบนเลยครับ

การติดตั้งแบ่งเป็นขั้นตอนดังนี้ [ ระบบปฏิบัติการที่ผมใช้ Ubuntu Server 22.04 ]

1.Install JDK
เนื่องจาก Jenkins เนี่ยถูกพัฒนาโดยภาษา Java ดังนั้นเราจะต้องติดตั้ง Java กันก่อนโดยใช้คำสั่ง

sudo apt install openjdk-11-jre

2.Install Jenkins

curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee \
/usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt update
sudo apt install jenkins

หลังจากที่เรา Run Command ด้านบนเสร็จแล้วเนี่ยตอนนี้ Jenkins ก็ได้ติดตั้งลงบน Server เราเรียบร้อยแล้วเราสามารถใช้คำสั่ง

sudo systemctl status jenkins

หลังจากที่เราเห็นแล้วว่ามันขึ้น active ก็เเสดงว่า Jenkins สามารถ run ได้ จากนั้นให้สังเกตที่ output (ไฮไลท์สีส้ม)มันจะมีหมายเลข port บอกอยู่ว่า run อยู่ port ไหน เราก็ลองเข้าไปดูกันเลย ปล. หากเป็นเครื่อง VM ที่สร้างขึ้นมาด้วย VirtualBox หรือ VMware ก็อย่าลืม Forward Port ออกมาก่อนนะครับ

พอเข้ามาก็จะเจอหน้าต่างประมาณนี้ Jenkins จะให้เราใส่ key เพื่อ unlock โดย Key ให้เราสังเกตตรง ไฮไลท์สีเขียว ก่อนหน้านี้ให้ Copy มาวางแล้วกดต่อไป!!

เลือก Install suggested plugins เดี๋ยว Plugin ที่เหลือเราจะไปลงกันเองอีกรอบตอนนี้ก็ให้เลือก plugin default ของ Jenkins ก่อน

จากนั้นก็รอยาวๆจนกว่ามันจะติดตั้งเสร็จ ระหว่างรอติดตั้งอย่าลืมกด Follow ผมนะครับ XD

กรอกข้อมูลกันเลยยยย กรอกแล้วก็จำให้ได้นะเดี๋ยว login ไม่ได้ หลังจากกรอกเสร็จแล้วก็กดปุ่มสีฟ้าๆจนมาถึงหน้านี้

เราจะมาลง Plugin ที่มีชื่อว่า Blue Ocean ซึ่งมันคือ Plugin ที่ทำให้ชีวิตเรานั้นง่ายขึ้นอย่างมาก มันจะช่วยในการ Visualize Pipeline ทำให้เราสร้าง Pipeline ได้ง่ายขึ้น เดี๋ยว Episode ต่อๆไปเราจะมาสอนใช้ Blue Ocean กัน (แต่ใช้ไม่บ่อยนักเนื่องจากสอนตัวชอบพิมพ์ script เอามากกว่า)

3.Install Blue Ocean

จากขั้นตอนที่แล้วให้กด Manage Jenkins

เลือก Plugins จากนั้น เลือก Available plugins แล้วก็พิมพ์หาว่า Blue Ocean

จากนั้นให้เลือก ตามในภาพแล้วกด Install without restart

รอจนกว่าจะขึ้น Success ทั้งหมดก็ถือเป็นอันเสร็จสิ้นสำหรับการลง Jenkins (ลองกดกลับไป Dashboard) เป็นอันสิ้นสุด Episode นี้เจอกันใหม่ Episode หน้า

See you next time when I have free time. XD

>>>>>>>>>>>>>>> “Learning By Doing ,Trial And Error” <<<<<<<<<<<<<<<<

--

--