ตั้งค่าเซิร์ฟเวอร์ Jenkins โดยใช้ Docker

Tang Kha Seirfwexr Jenkins Doy Chi Docker



Jenkins เป็นเซิร์ฟเวอร์อัตโนมัติแบบโอเพ่นซอร์สที่ใช้กันอย่างแพร่หลาย ซึ่งช่วยทำให้ส่วนต่างๆ ของกระบวนการพัฒนาซอฟต์แวร์เป็นอัตโนมัติ รวมถึงการสร้าง การทดสอบ และการปรับใช้แอปพลิเคชัน

Docker เป็นแพลตฟอร์มคอนเทนเนอร์ที่ช่วยให้เราสามารถเรียกใช้แอปพลิเคชันและบริการในสภาพแวดล้อมแบบแยกส่วนที่เรียกว่าคอนเทนเนอร์







ในบทช่วยสอนนี้ เราจะได้เรียนรู้วิธีรวม Jenkins เข้ากับ Docker ซึ่งช่วยให้เราสามารถสร้างเซิร์ฟเวอร์ของ Jenkins ที่ปรับขนาดได้และพกพาได้



หมายเหตุ: ในบทช่วยสอนนี้ เราจะใช้อิมเมจ jenkins/jenkins อย่างเป็นทางการจากที่เก็บ Docker Hub รูปภาพนี้มีรุ่นการสนับสนุนระยะยาว (LTS) ในปัจจุบันของ Jenkins ซึ่งพร้อมสำหรับการผลิต



สร้างเครือข่าย

ขั้นตอนแรกคือการสร้างเครือข่าย Docker ใหม่เพื่อแยกอินสแตนซ์ Jenkins สิ่งนี้อำนวยความสะดวกในการสื่อสารที่ดีขึ้น





ในการสร้างเครือข่ายบริดจ์ใน Docker เราสามารถรันคำสั่งต่อไปนี้:

$ เครือข่ายนักเทียบท่าสร้างเจนกินส์


สิ่งนี้จะสร้างเครือข่ายเชื่อมโยงที่เรียกว่าเจนกินส์



เรียกใช้คอนเทนเนอร์ Docker ของ Jenkins

เมื่อเรากำหนดค่าเครือข่ายแล้ว เราก็สามารถเรียกใช้คอนเทนเนอร์ Jenkins ได้โดยใช้อิมเมจ Jenkins Docker อย่างเป็นทางการ

นอกจากนี้เรายังระบุเครือข่ายและกำหนดค่าวอลุ่มสำหรับการคงอยู่ของข้อมูล Jenkins คำสั่งมีดังนี้:

นักเทียบท่าวิ่ง \
--ชื่อ เจนกินส์นักเทียบท่า \
--rm \
--แยกออก \
--ได้รับสิทธิพิเศษ \
--เครือข่าย เจนกินส์ \
--เครือข่ายนามแฝง นักเทียบท่า \
--env DOCKER_TLS_CERTDIR = / ใบรับรอง \
--ปริมาณ เจนกินส์นักเทียบท่าใบรับรอง: / ใบรับรอง / ลูกค้า \
--ปริมาณ เจนกินส์ข้อมูล: / เคยเป็น / เจนกินส์_โฮม \
--เผยแพร่ 2376 : : 2376 \
นักเทียบท่า:จาก \
--ไดรเวอร์การจัดเก็บข้อมูล โอเวอร์เลย์2



คำสั่งก่อนหน้านี้เปิดตัวคอนเทนเนอร์ Docker-in-Docker (DinD) ชื่อ “jenkins-docker” พร้อมสิทธิ์การยกระดับและการกำหนดค่าเครือข่าย

แฟล็ก –rm ทำให้แน่ใจว่าคอนเทนเนอร์จะถูกลบออกโดยอัตโนมัติเมื่อหยุด คอนเทนเนอร์เชื่อมต่อกับเครือข่าย Jenkins โดยใช้นามแฝงเครือข่ายเป็น 'นักเทียบท่า' ตามที่สร้างไว้ในขั้นตอนก่อนหน้า

จากนั้นเราจะตั้งค่าตัวแปรสภาพแวดล้อมสำหรับใบรับรอง Docker TLS และต่อเชื่อมไดรฟ์ข้อมูลสำหรับการจัดเก็บใบรับรองและข้อมูล Jenkins

ในส่วนถัดไป เราจะเผยแพร่พอร์ต 2376 สำหรับการสื่อสาร Docker daemon

สุดท้ายนี้ เราระบุอิมเมจ docker:dind และกำหนดค่าไดรเวอร์หน่วยเก็บข้อมูลเพื่อใช้โอเวอร์เลย์2

เข้าถึง Jenkins Web UI

เมื่อเราเริ่มคอนเทนเนอร์ เราสามารถเข้าถึงอินสแตนซ์ Jenkins ได้จากเว็บเบราว์เซอร์โดยใช้ ที่อยู่.

หากคุณต้องการรันคอนเทนเนอร์ Jenkins แบบง่าย คุณสามารถใช้คำสั่งต่อไปนี้:

$ วิ่งนักเทียบท่า -d -พี 8080 : : 8080 -พี 50,000 : : 50,000 --ชื่อ เจนกินส์ \
--เครือข่าย เจนกินส์ \
-ใน jenkins_home: / เคยเป็น / เจนกินส์_โฮม \
เจนกินส์ / เจนกินส์:lts


ซึ่งจะรันเซิร์ฟเวอร์ Jenkins โดยไม่จำเป็นต้องกำหนดค่าคุณสมบัติอื่นๆ เช่น วอลุ่ม พอร์ตการผูก และอื่นๆ

จากนั้นคุณจึงสามารถเข้าถึงอินสแตนซ์ Jenkins ได้ .


เมื่อ Jenkins พร้อมแล้ว เบราว์เซอร์ของคุณจะช่วยให้คุณกำหนดค่าเซิร์ฟเวอร์ Jenkins ด้วยคุณสมบัติต่างๆ ได้อย่างรวดเร็วตามที่คุณต้องการ

เมื่อตั้งค่าแล้ว คุณจะต้องปลดล็อก Jenkins โดยระบุรหัสผ่านผู้ดูแลระบบ คุณสามารถค้นหาได้โดยใช้คำสั่งต่อไปนี้:

$ นักเทียบท่าบันทึกเจนกินส์


คำสั่งจะแสดงบันทึกสำหรับคอนเทนเนอร์ซึ่งรวมถึงรหัสผ่านเจนกินส์




ขั้นตอนต่อไปคือการเลือกและติดตั้งปลั๊กอินที่คุณต้องการใช้สำหรับอินสแตนซ์ Jenkins ของคุณ หากคุณใช้ Jenkins เป็นครั้งแรก ให้เลือกปลั๊กอินที่แนะนำ


ซึ่งจะช่วยให้ Jenkins ดาวน์โหลดและติดตั้งปลั๊กอินเริ่มต้นทั้งหมดได้ ซึ่งจะช่วยให้คุณโต้ตอบกับไปป์ไลน์ของ Jenkins ได้อย่างง่ายดาย

บทสรุป

ในบทช่วยสอนนี้ คุณได้เรียนรู้วิธีตั้งค่าเซิร์ฟเวอร์ Jenkins เป็นคอนเทนเนอร์โดยใช้ Docker และอิมเมจอย่างเป็นทางการของ Jenkins