Jenkins - คู่มือฉบับย่อ
ทำไมต้อง Jenkins?
Jenkins เป็นซอฟต์แวร์ที่ช่วยให้ continuous integration. Jenkins จะถูกติดตั้งบนเซิร์ฟเวอร์ที่จะมีการสร้างส่วนกลาง ผังงานต่อไปนี้แสดงให้เห็นถึงขั้นตอนการทำงานที่เรียบง่ายเกี่ยวกับวิธีการทำงานของ Jenkins
นอกจากเจนกินส์แล้วบางครั้งเราอาจเห็นความสัมพันธ์ของ Hudson. ฮัดสันเป็นเครื่องมือบูรณาการต่อเนื่องบน Java แบบโอเพนซอร์สที่ได้รับความนิยมอย่างมากซึ่งพัฒนาโดย Sun Microsystems ซึ่งต่อมา Oracle ซื้อกิจการ หลังจากการเข้าซื้อกิจการ Sun โดย Oracle ทางแยกถูกสร้างขึ้นจากซอร์สโค้ดฮัดสันซึ่งนำมาซึ่งการเปิดตัวของเจนกินส์
การบูรณาการแบบต่อเนื่องคืออะไร?
การบูรณาการอย่างต่อเนื่องเป็นแนวทางปฏิบัติในการพัฒนาที่ต้องการให้นักพัฒนารวมโค้ดเข้ากับที่เก็บที่ใช้ร่วมกันในช่วงเวลาปกติ แนวคิดนี้มีขึ้นเพื่อขจัดปัญหาในการค้นหาปัญหาที่เกิดขึ้นในภายหลังในวงจรชีวิตของบิลด์ การผสานรวมอย่างต่อเนื่องต้องการให้นักพัฒนามีการสร้างบ่อยๆ แนวทางปฏิบัติทั่วไปคือเมื่อใดก็ตามที่เกิดการคอมมิตโค้ดควรทริกเกอร์บิวด์
ความต้องการของระบบ
JDK | JDK 1.5 ขึ้นไป |
หน่วยความจำ | RAM 2 GB (แนะนำ) |
พื้นที่ดิสก์ | ไม่มีข้อกำหนดขั้นต่ำ โปรดทราบว่าเนื่องจากบิวด์ทั้งหมดจะถูกเก็บไว้ในเครื่อง Jenkins จึงต้องมั่นใจว่ามีเนื้อที่ดิสก์เพียงพอสำหรับการจัดเก็บบิลด์ |
เวอร์ชันระบบปฏิบัติการ | สามารถติดตั้ง Jenkins บน Windows, Ubuntu / Debian, Red Hat / Fedora / CentOS, MacOS X, openSUSE, FReeBSD, OpenBSD, Gentoo |
คอนเทนเนอร์ Java | ไฟล์ WAR สามารถรันในคอนเทนเนอร์ใดก็ได้ที่รองรับ Servlet 2.4 / JSP 2.0 หรือใหม่กว่า (ตัวอย่างคือ Tomcat 5) |
ดาวน์โหลด Jenkins
เว็บไซต์อย่างเป็นทางการสำหรับเจนกินส์เจนกินส์ หากคุณคลิกลิงก์ที่ระบุคุณจะได้รับหน้าแรกของเว็บไซต์ทางการของ Jenkins ดังที่แสดงด้านล่าง
โดยค่าเริ่มต้นรุ่นล่าสุดและรุ่นการสนับสนุนระยะยาวจะพร้อมให้ดาวน์โหลด นอกจากนี้ยังมีให้ดาวน์โหลดรุ่นที่ผ่านมา คลิกแท็บ Long-Term Support Release ในส่วนดาวน์โหลด
คลิกลิงก์“ เวอร์ชันเก่า แต่เสถียร” เพื่อดาวน์โหลดไฟล์ Jenkins war
เริ่มต้น Jenkins
เปิดพรอมต์คำสั่ง จากพรอมต์คำสั่งเรียกดูไดเร็กทอรีที่มีไฟล์ jenkins.war รันคำสั่งต่อไปนี้
D:\>Java –jar Jenkins.war
หลังจากรันคำสั่งงานต่างๆจะทำงานหนึ่งในนั้นคือการแตกไฟล์ war ซึ่งทำโดยเว็บเซิร์ฟเวอร์แบบฝังที่เรียกว่า winstone
D:\>Java –jar Jenkins.war
Running from: D:\jenkins.war
Webroot: $user.home/ .jenkins
Sep 29, 2015 4:10:46 PM winstone.Logger logInternal
INFO: Beginning extraction from war file
เมื่อการประมวลผลเสร็จสมบูรณ์โดยไม่มีข้อผิดพลาดที่สำคัญบรรทัดต่อไปนี้จะปรากฏในผลลัพธ์ของพรอมต์คำสั่ง
INFO: Jenkins is fully up and running
การเข้าถึง Jenkins
เมื่อ Jenkins พร้อมใช้งานแล้วเราสามารถเข้าถึง Jenkins ได้จากลิงค์ - http://localhost:8080
ลิงก์นี้จะแสดงแดชบอร์ด Jenkins
ต้องปฏิบัติตามข้อกำหนดเบื้องต้นต่อไปนี้สำหรับการตั้งค่า Jenkins Tomcat
ขั้นตอนที่ 1: ตรวจสอบการติดตั้ง Java
ในการตรวจสอบการติดตั้ง Java ให้เปิดคอนโซลและดำเนินการคำสั่ง java ต่อไปนี้
ระบบปฏิบัติการ | งาน | คำสั่ง |
---|---|---|
Windows | เปิดคอนโซลคำสั่ง | \> java - รุ่น |
ลินุกซ์ | เปิดเทอร์มินัลคำสั่ง | $ java -version |
หาก Java ได้รับการติดตั้งอย่างถูกต้องบนระบบของคุณคุณควรได้รับหนึ่งในผลลัพธ์ต่อไปนี้ขึ้นอยู่กับแพลตฟอร์มที่คุณกำลังทำงานอยู่
ระบบปฏิบัติการ | เอาต์พุต |
---|---|
Windows | เวอร์ชัน Java "1.7.0_60" Java (TM) SE Run Time Environment (บิวด์ 1.7.0_60-b19) Java Hotspot (TM) 64-bit Server VM (build 24.60-b09, mixed mode) |
ลินุกซ์ | เวอร์ชัน java "1.7.0_25" เปิด JDK Runtime Environment (rhel-2.3.10.4.el6_4-x86_64) เปิด JDK 64-Bit Server VM (สร้าง 23.7-b01 โหมดผสม) |
เราถือว่าผู้อ่านของบทช่วยสอนนี้ติดตั้ง Java 1.7.0_60 ในระบบของตนก่อนดำเนินการสำหรับบทช่วยสอนนี้
ในกรณีที่คุณไม่มี Java JDK คุณสามารถดาวน์โหลดได้จากลิงค์Oracle
ขั้นตอนที่ 2: ตรวจสอบการติดตั้ง Java
ตั้งค่าตัวแปรสภาวะแวดล้อม JAVA_HOME ให้ชี้ไปยังตำแหน่งไดเร็กทอรีฐานที่ติดตั้ง Java บนเครื่องของคุณ ตัวอย่างเช่น,
ระบบปฏิบัติการ | เอาต์พุต |
---|---|
Windows | ตั้งค่าตัวแปรสภาพแวดล้อม JAVA_HOME เป็น C: \ ProgramFiles \ java \ jdk1.7.0_60 |
ลินุกซ์ | ส่งออก JAVA_HOME = / usr / local / java-current |
ผนวกพา ธ แบบเต็มของตำแหน่งคอมไพเลอร์ Java เข้ากับ System Path
ระบบปฏิบัติการ | เอาต์พุต |
---|---|
Windows | ต่อท้ายสตริง; C: \ Program Files \ Java \ jdk1.7.0_60 \ bin ต่อท้ายตัวแปรระบบ PATH |
ลินุกซ์ | ส่งออก PATH = $ PATH: $ JAVA_HOME / bin / |
ตรวจสอบคำสั่ง java-version จาก command prompt ตามที่อธิบายไว้ข้างต้น
ขั้นตอนที่ 3: ดาวน์โหลด Tomcat
เว็บไซต์อย่างเป็นทางการสำหรับคราวเป็นTomcat หากคุณคลิกลิงก์ที่ระบุคุณจะได้รับหน้าแรกของเว็บไซต์ทางการของ tomcat ดังที่แสดงด้านล่าง
เรียกดูลิงค์ https://tomcat.apache.org/download-70.cgi เพื่อดาวน์โหลด tomcat
ไปที่ส่วน 'การแจกแจงแบบไบนารี' ดาวน์โหลดไฟล์ zip Windows 32 บิต
จากนั้นคลายซิปเนื้อหาของไฟล์ zip ที่ดาวน์โหลดมา
ขั้นตอนที่ 4: การตั้งค่า Jenkins และ Tomcat
คัดลอกไฟล์ Jenkis.war ซึ่งดาวน์โหลดจากส่วนก่อนหน้าและคัดลอกไปยังโฟลเดอร์ webapps ในโฟลเดอร์ tomcat
ตอนนี้เปิดพรอมต์คำสั่ง จากพรอมต์คำสั่งเรียกดูไดเร็กทอรีที่โฟลเดอร์ tomcat7 เป็นตำแหน่ง เรียกดูไดเร็กทอรี bin ในโฟลเดอร์นี้และเรียกใช้ไฟล์ start.bat
E:\Apps\tomcat7\bin>startup.bat
เมื่อการประมวลผลเสร็จสมบูรณ์โดยไม่มีข้อผิดพลาดที่สำคัญบรรทัดต่อไปนี้จะปรากฏในผลลัพธ์ของพรอมต์คำสั่ง
INFO: Server startup in 1302 ms
เปิดเบราว์เซอร์และไปที่ลิงค์ - http://localhost:8080/jenkins. เจนกินส์จะขึ้นและวิ่งบนแมวตัวผู้
สำหรับแบบฝึกหัดนี้คุณต้องตรวจสอบให้แน่ใจว่ามีการเชื่อมต่ออินเทอร์เน็ตจากเครื่องที่ติดตั้ง Jenkins ใน Jenkins Dashboard (หน้าจอหลัก) ให้คลิกตัวเลือก Manage Jenkins ทางด้านซ้ายมือ
ในหน้าจอถัดไปให้คลิกตัวเลือก "จัดการปลั๊กอิน"
ในหน้าจอถัดไปคลิกแท็บพร้อมใช้งาน แท็บนี้จะแสดงรายการปลั๊กอินที่สามารถดาวน์โหลดได้ ในแท็บ 'ตัวกรอง' ให้พิมพ์ 'Git plugin'
จากนั้นรายการจะถูกกรอง ตรวจสอบตัวเลือก Git Plugin และคลิกที่ปุ่ม 'ติดตั้งโดยไม่ต้องรีสตาร์ท'
จากนั้นการติดตั้งจะเริ่มขึ้นและหน้าจอจะรีเฟรชเพื่อแสดงสถานะของการดาวน์โหลด
เมื่อการติดตั้งทั้งหมดเสร็จสมบูรณ์ให้รีสตาร์ท Jenkins โดยใช้คำสั่งต่อไปนี้ในเบราว์เซอร์ http://localhost:8080/jenkins/restart
หลังจาก Jenkins รีสตาร์ทแล้ว Git จะพร้อมใช้งานเป็นตัวเลือกในขณะที่กำหนดค่างาน ในการตรวจสอบให้คลิกที่รายการใหม่ในตัวเลือกเมนูสำหรับ Jenkins จากนั้นป้อนชื่องานในกรณีต่อไปนี้ชื่อที่ป้อนคือ 'สาธิต' เลือก 'โครงการฟรีสไตล์' เป็นประเภทรายการ คลิกปุ่มตกลง
ในหน้าจอถัดไปหากคุณเรียกดูส่วนการจัดการซอร์สโค้ดตอนนี้คุณจะเห็น 'Git' เป็นตัวเลือก
ขั้นตอนที่ 1: ดาวน์โหลดและตั้งค่า Maven
เว็บไซต์อย่างเป็นทางการสำหรับ Maven คือApache Maven หากคุณคลิกลิงก์ที่ระบุคุณจะได้รับหน้าแรกของเว็บไซต์ทางการของ maven ดังที่แสดงด้านล่าง
ขณะเรียกดูไซต์ให้ไปที่ส่วนไฟล์และดาวน์โหลดลิงก์ไปยังไฟล์ Binary.zip
เมื่อดาวน์โหลดไฟล์แล้วให้แตกไฟล์ไปยังโฟลเดอร์แอพพลิเคชั่นที่เกี่ยวข้อง เพื่อจุดประสงค์นี้ไฟล์ maven จะถูกวางไว้ใน E: \ Apps \ apache-maven-3.3.3
ขั้นตอนที่ 2: การตั้งค่า Jenkins และ Maven
ในแดชบอร์ด Jenkins (หน้าจอหลัก) ให้คลิก Manage Jenkins จากเมนูด้านซ้ายมือ
จากนั้นคลิกที่ 'กำหนดค่าระบบ' จากด้านขวามือ
ในหน้าจอกำหนดค่าระบบให้เลื่อนลงมาจนเห็นส่วน Maven จากนั้นคลิกที่ปุ่ม 'เพิ่ม Maven'
ยกเลิกการเลือกตัวเลือก "ติดตั้งอัตโนมัติ"
เพิ่มชื่อสำหรับการตั้งค่าและตำแหน่งของ MAVEN_HOME
จากนั้นคลิกที่ปุ่ม "บันทึก" ที่ท้ายหน้าจอ
ตอนนี้คุณสามารถสร้างงานด้วยตัวเลือก 'Maven project' ในแดชบอร์ด Jenkins คลิกตัวเลือก New Item
คุณอาจเคยเห็นสองสามครั้งในแบบฝึกหัดก่อนหน้านี้ซึ่งเราต้องกำหนดค่าตัวเลือกภายในเจนกินส์ ต่อไปนี้แสดงตัวเลือกการกำหนดค่าต่างๆใน Jenkins
ดังนั้นเราสามารถรับตัวเลือกการกำหนดค่าต่างๆสำหรับ Jenkins ได้โดยคลิกตัวเลือก 'Manage Jenkins' จากด้านซ้ายมือของเมนู
จากนั้นคุณจะเห็นหน้าจอต่อไปนี้ -
คลิกที่ Configure system ด้านล่างนี้คือการตั้งค่าคอนฟิกของ Jenkins ซึ่งสามารถทำได้
เจนกินส์โฮมไดเร็กทอรี
Jenkins ต้องการพื้นที่ว่างบนดิสก์เพื่อสร้างและเก็บไฟล์เก็บถาวร สามารถตรวจสอบตำแหน่งนี้ได้จากหน้าจอการกำหนดค่าของ Jenkins โดยค่าเริ่มต้นจะตั้งค่าเป็น ~ / .jenkins และตำแหน่งนี้จะถูกเก็บไว้ในตำแหน่งโปรไฟล์ผู้ใช้ของคุณในขั้นต้น ในสภาพแวดล้อมที่เหมาะสมคุณต้องเปลี่ยนตำแหน่งนี้เป็นตำแหน่งที่เพียงพอเพื่อจัดเก็บงานสร้างและที่เก็บถาวรที่เกี่ยวข้องทั้งหมด ครั้งเดียวสามารถทำได้ด้วยวิธีต่อไปนี้
ตั้งค่าตัวแปรสภาวะแวดล้อม "JENKINS_HOME" เป็นโฮมไดเร็กทอรีใหม่ก่อนที่จะเปิดใช้งานคอนเทนเนอร์ servlet
ตั้งค่าคุณสมบัติระบบ "JENKINS_HOME" เป็นคอนเทนเนอร์ servlet
ตั้งค่ารายการสภาวะแวดล้อม JNDI "JENKINS_HOME" เป็นไดเร็กทอรีใหม่
ตัวอย่างต่อไปนี้จะใช้ตัวเลือกแรกในการตั้งค่าตัวแปรสภาพแวดล้อม "JENKINS_HOME"
ขั้นแรกให้สร้างโฟลเดอร์ใหม่ E: \ Apps \ Jenkins คัดลอกเนื้อหาทั้งหมดจาก ~ / .jenkins ที่มีอยู่ไปยังไดเร็กทอรีใหม่นี้
ตั้งค่าตัวแปรสภาวะแวดล้อม JENKINS_HOME ให้ชี้ไปยังตำแหน่งไดเร็กทอรีฐานที่ติดตั้ง Java บนเครื่องของคุณ ตัวอย่างเช่น,
ระบบปฏิบัติการ | เอาต์พุต |
---|---|
Windows | ตั้งค่าตัวแปรด้านสิ่งแวดล้อม JENKINS_HOME ตามที่ตั้งที่คุณต้องการ ดังตัวอย่างคุณสามารถตั้งค่าเป็น E: \ Apps \ Jenkins |
ลินุกซ์ | ส่งออก JENKINS_HOME = / usr / local / Jenkins หรือสถานที่ที่คุณต้องการ |
ในแดชบอร์ด Jenkins คลิก Manage Jenkins จากเมนูด้านซ้ายมือ จากนั้นคลิกที่ 'กำหนดค่าระบบ' จากด้านขวามือ
ในโฮมไดเร็กทอรีคุณจะเห็นไดเร็กทอรีใหม่ซึ่งได้รับการกำหนดค่าแล้ว
# ของผู้ดำเนินการ
นี่หมายถึงจำนวนการประหารชีวิตงานพร้อมกันทั้งหมดที่สามารถเกิดขึ้นบนเครื่อง Jenkins สิ่งนี้สามารถเปลี่ยนแปลงได้ตามข้อกำหนด บางครั้งคำแนะนำคือให้ใช้หมายเลขนี้เหมือนกับจำนวน CPU บนเครื่องเพื่อประสิทธิภาพที่ดีขึ้น
ตัวแปรสภาพแวดล้อม
ใช้เพื่อเพิ่มตัวแปรสภาพแวดล้อมแบบกำหนดเองซึ่งจะใช้กับงานทั้งหมด นี่คือคู่คีย์ - ค่าและสามารถเข้าถึงและใช้ในบิลด์ได้ทุกที่ที่ต้องการ
URL ของ Jenkins
ตามค่าเริ่มต้น Jenkins URL จะชี้ไปที่ localhost หากคุณมีการตั้งค่าชื่อโดเมนสำหรับเครื่องของคุณให้ตั้งค่านี้เป็นชื่อโดเมนอื่นเขียนทับ localhost ด้วย IP ของเครื่อง สิ่งนี้จะช่วยในการตั้งค่าทาสและในขณะที่ส่งลิงก์โดยใช้อีเมลเนื่องจากคุณสามารถเข้าถึง URL ของเจนกินส์ได้โดยตรงโดยใช้ตัวแปรสภาพแวดล้อม JENKINS_URL ซึ่งสามารถเข้าถึงได้ในชื่อ $ {JENKINS_URL}
การแจ้งเตือนทางอีเมล
ในพื้นที่การแจ้งเตือนทางอีเมลคุณสามารถกำหนดการตั้งค่า SMTP สำหรับการส่งอีเมล สิ่งนี้จำเป็นสำหรับ Jenkins เพื่อเชื่อมต่อกับเซิร์ฟเวอร์อีเมล SMTP และส่งอีเมลไปยังรายชื่อผู้รับ
ในการจัดการ Jenkins ให้คลิกที่ตัวเลือก 'Manage Jenkins' จากด้านซ้ายมือของเมนู
ดังนั้นเราสามารถรับตัวเลือกการกำหนดค่าต่างๆสำหรับ Jenkins ได้โดยคลิกตัวเลือก 'Manage Jenkins' จากด้านซ้ายมือของเมนู
จากนั้นคุณจะเห็นหน้าจอต่อไปนี้ -
ตัวเลือกการจัดการบางส่วนมีดังนี้ -
กำหนดค่าระบบ
นี่คือที่ที่เราสามารถจัดการพา ธ ไปยังเครื่องมือต่างๆที่จะใช้ในบิลด์เช่น JDKs เวอร์ชันของ Ant และ Maven ตลอดจนตัวเลือกความปลอดภัยเซิร์ฟเวอร์อีเมลและรายละเอียดการกำหนดค่าอื่น ๆ ทั้งระบบ เมื่อติดตั้งปลั๊กอิน Jenkins จะเพิ่มฟิลด์การกำหนดค่าที่จำเป็นแบบไดนามิกหลังจากติดตั้งปลั๊กอินแล้ว
โหลดการกำหนดค่าใหม่จากดิสก์
Jenkins จัดเก็บระบบทั้งหมดและสร้างรายละเอียดการกำหนดค่างานเป็นไฟล์ XML ซึ่งเก็บไว้ในโฮมไดเร็กทอรีของ Jenkins นอกจากนี้ยังมีการจัดเก็บประวัติการสร้างทั้งหมด หากคุณกำลังโอนย้ายงานบิลด์จากอินสแตนซ์เจนกินส์หนึ่งไปยังอีกอินสแตนซ์หนึ่งหรือเก็บงานบิลด์เก่าคุณจะต้องเพิ่มหรือลบไดเร็กทอรีงานบิลด์ที่เกี่ยวข้องไปยังไดเร็กทอรีบิลด์ของเจนกินส์ คุณไม่จำเป็นต้องใช้ Jenkins ออฟไลน์เพื่อทำสิ่งนี้คุณสามารถใช้ตัวเลือก“ โหลดซ้ำการกำหนดค่าจากดิสก์” เพื่อโหลดระบบ Jenkins ซ้ำและสร้างการกำหนดค่างานได้โดยตรง
จัดการปลั๊กอิน
ที่นี่คุณสามารถติดตั้งปลั๊กอินของบุคคลที่สามได้หลากหลายจากเครื่องมือการจัดการซอร์สโค้ดต่างๆเช่น Git, Mercurial หรือ ClearCase ไปจนถึงการรายงานเมตริกคุณภาพโค้ดและการครอบคลุมโค้ด สามารถติดตั้งอัปเดตและลบปลั๊กอินผ่านหน้าจอ Manage Plugins
ข้อมูลระบบ
หน้าจอนี้แสดงรายการคุณสมบัติของระบบ Java ปัจจุบันและตัวแปรสภาพแวดล้อมระบบทั้งหมด ที่นี่คุณสามารถตรวจสอบได้อย่างชัดเจนว่า Java Jenkins กำลังทำงานอยู่ในเวอร์ชันใดผู้ใช้ทำงานอยู่ภายใต้อะไรและอื่น ๆ
ภาพหน้าจอต่อไปนี้แสดงข้อมูลชื่อ - ค่าบางส่วนที่มีอยู่ในส่วนนี้
บันทึกระบบ
หน้าจอบันทึกระบบเป็นวิธีที่สะดวกในการดูไฟล์บันทึกของเจนกินส์แบบเรียลไทม์ อีกครั้งการใช้หน้าจอนี้เป็นหลักสำหรับการแก้ไขปัญหา
โหลดสถิติ
หน้านี้แสดงข้อมูลแบบกราฟิกว่าอินสแตนซ์เจนกินส์ยุ่งแค่ไหนในแง่ของจำนวนบิวด์พร้อมกันและความยาวของคิวบิลด์ซึ่งให้ข้อมูลว่าบิวด์ของคุณต้องรอนานแค่ไหนก่อนที่จะดำเนินการ สถิติเหล่านี้สามารถให้ความคิดที่ดีว่าจำเป็นต้องมีความจุเพิ่มเติมหรือสร้างโหนดเพิ่มเติมจากมุมมองของโครงสร้างพื้นฐาน
คอนโซลสคริปต์
หน้าจอนี้ให้คุณเรียกใช้สคริปต์ Groovy บนเซิร์ฟเวอร์ มีประโยชน์สำหรับการแก้ไขปัญหาขั้นสูงเนื่องจากต้องมีความรู้เกี่ยวกับสถาปัตยกรรม Jenkins ภายในเป็นอย่างดี
จัดการโหนด
Jenkins สามารถจัดการงานสร้างแบบขนานและแบบกระจายได้ ในหน้าจอนี้คุณสามารถกำหนดจำนวนงานที่คุณต้องการได้ Jenkins ทำงานพร้อมกันและหากคุณใช้งานสร้างแบบกระจายให้ตั้งค่าสร้างโหนด โหนดการสร้างเป็นเครื่องอื่นที่เจนกินส์สามารถใช้เพื่อดำเนินการสร้าง
เตรียมพร้อมสำหรับการปิดเครื่อง
หากจำเป็นต้องปิด Jenkins หรือเซิร์ฟเวอร์ที่ Jenkins กำลังทำงานอยู่ทางที่ดีที่สุดคือไม่ควรทำเช่นนั้นเมื่อกำลังดำเนินการสร้าง หากต้องการปิด Jenkins อย่างหมดจดคุณสามารถใช้ลิงก์เตรียมพร้อมสำหรับการปิดระบบซึ่งจะป้องกันไม่ให้การสร้างใหม่ใด ๆ เริ่มต้นขึ้น ในที่สุดเมื่อการสร้างในปัจจุบันทั้งหมดเสร็จสิ้นลงจะสามารถปิด Jenkins ได้อย่างหมดจด
สำหรับแบบฝึกหัดนี้เราจะสร้างงานใน Jenkins ซึ่งเลือกแอปพลิเคชัน HelloWorld ที่เรียบง่ายสร้างและรันโปรแกรม java
Step 1 - ไปที่แดชบอร์ด Jenkins และคลิกที่รายการใหม่
Step 2- ในหน้าจอถัดไปให้ป้อนชื่อรายการในกรณีนี้เราตั้งชื่อว่า Helloworld เลือก 'ตัวเลือกโครงการฟรีสไตล์'
Step 3 - หน้าจอต่อไปนี้จะปรากฏขึ้นซึ่งคุณสามารถระบุรายละเอียดของงานได้
Step 4- เราจำเป็นต้องระบุตำแหน่งของไฟล์ที่ต้องสร้าง ในตัวอย่างนี้เราจะถือว่าที่เก็บ git ในเครื่อง (E: \ Program) ได้รับการตั้งค่าซึ่งมีไฟล์ 'HelloWorld.java' ดังนั้นเลื่อนลงและคลิกที่ตัวเลือก Git และป้อน URL ของที่เก็บ git ในเครื่อง
Note- หากคุณใช้ที่เก็บหากโฮสต์บน Github คุณสามารถป้อน url ของที่เก็บนั้นได้ที่นี่ นอกจากนี้คุณจะต้องคลิกที่ปุ่มเพิ่มสำหรับข้อมูลประจำตัวเพื่อเพิ่มชื่อผู้ใช้และรหัสผ่านไปยังที่เก็บ github เพื่อให้สามารถหยิบรหัสจากที่เก็บระยะไกลได้
Step 5 - ไปที่ส่วน Build แล้วคลิกที่ Add build step → Execute Windows batch command
Step 6 - ในหน้าต่างคำสั่งป้อนคำสั่งต่อไปนี้จากนั้นคลิกที่ปุ่มบันทึก
Javac HelloWorld.java
Java HelloWorld
Step 7 - เมื่อบันทึกแล้วคุณสามารถคลิกที่ตัวเลือกสร้างทันทีเพื่อดูว่าคุณกำหนดงานสำเร็จหรือไม่
Step 8- เมื่อกำหนดเวลาสร้างก็จะทำงาน ส่วนประวัติการสร้างต่อไปนี้แสดงว่าบิลด์กำลังดำเนินการอยู่
Step 9- เมื่อการสร้างเสร็จสมบูรณ์สถานะของบิลด์จะแสดงว่าการสร้างสำเร็จหรือไม่ ในกรณีของเราการสร้างต่อไปนี้ได้รับการดำเนินการสำเร็จแล้ว คลิกที่ # 1 ในประวัติการสร้างเพื่อดูรายละเอียดของการสร้าง
Step 10 - คลิกที่ลิงค์ Console Output เพื่อดูรายละเอียดของบิลด์
นอกเหนือจากขั้นตอนที่แสดงด้านบนแล้วยังมีอีกหลายวิธีในการสร้างงานบิลด์ตัวเลือกที่มีให้เลือกมากมายซึ่งทำให้เจนกินส์เป็นเครื่องมือปรับใช้งานต่อเนื่องที่ยอดเยี่ยม
Jenkins มีฟังก์ชันการทำงานแบบสำเร็จรูปสำหรับ Junit และมีโฮสต์ของปลั๊กอินสำหรับการทดสอบหน่วยสำหรับเทคโนโลยีอื่น ๆ ตัวอย่างเช่น MSTest สำหรับการทดสอบ. Net Unit ถ้าคุณไปที่ลิงค์https://wiki.jenkins-ci.org/display/JENKINS/xUnit+Plugin มันจะแสดงรายการปลั๊กอินการทดสอบหน่วยที่พร้อมใช้งาน
ตัวอย่างการทดสอบ Junit ใน Jenkins
ตัวอย่างต่อไปนี้จะพิจารณา
- คลาส HelloWorldTest แบบง่ายๆที่ใช้ Junit
- Ant เป็นเครื่องมือสร้างภายใน Jenkins เพื่อสร้างชั้นเรียนตามนั้น
Step 1 - ไปที่แดชบอร์ดของ Jenkins แล้วคลิกที่โครงการ HelloWorld ที่มีอยู่แล้วเลือกตัวเลือกกำหนดค่า
Step 2 - เรียกดูส่วนเพื่อเพิ่มขั้นตอนการสร้างและเลือกตัวเลือกเพื่อเรียกใช้ Ant
Step 3 - คลิกที่ปุ่มขั้นสูง
Step 4 - ในส่วนสร้างไฟล์ให้ป้อนตำแหน่งของไฟล์ build.xml
Step 5 - จากนั้นคลิกตัวเลือกเพื่อเพิ่มตัวเลือกหลังการสร้างและเลือกตัวเลือกของ "เผยแพร่รายงานผลการทดสอบ Junit"
Step 6- ใน XML ของรายงานการทดสอบให้ป้อนตำแหน่งตามที่แสดงด้านล่าง ตรวจสอบให้แน่ใจว่ารายงานเป็นโฟลเดอร์ที่สร้างขึ้นในพื้นที่ทำงานของโครงการ HelloWorld โดยพื้นฐานแล้ว“ * .xml” จะบอกให้เจนกินส์หยิบไฟล์ xml ที่เป็นผลลัพธ์ซึ่งเกิดจากการเรียกใช้กรณีทดสอบของ Junit ไฟล์ xml เหล่านี้ซึ่งจะถูกแปลงเป็นรายงานซึ่งสามารถดูได้ในภายหลัง
เมื่อเสร็จแล้วให้คลิกตัวเลือกบันทึกที่ด้านท้าย
Step 7 - เมื่อบันทึกแล้วคุณสามารถคลิกที่ตัวเลือกสร้างทันที
เมื่อการสร้างเสร็จสมบูรณ์สถานะของการสร้างจะแสดงว่าการสร้างสำเร็จหรือไม่ ในข้อมูลเอาต์พุต Build ตอนนี้คุณจะสังเกตเห็นส่วนเพิ่มเติมที่เรียกว่า Test Result ในกรณีของเราเราป้อนกรณีทดสอบเชิงลบเพื่อให้ผลลัพธ์ล้มเหลวดังตัวอย่าง
คุณสามารถไปที่เอาต์พุตคอนโซลเพื่อดูข้อมูลเพิ่มเติม แต่สิ่งที่น่าสนใจกว่าคือถ้าคุณคลิกที่ผลการทดสอบคุณจะเห็นรายละเอียดของผลการทดสอบ
หลักการพื้นฐานอย่างหนึ่งของการบูรณาการแบบต่อเนื่องคือการสร้างควรสามารถตรวจสอบได้ คุณต้องสามารถพิจารณาได้อย่างเป็นกลางว่าบิวด์เฉพาะพร้อมที่จะดำเนินการในขั้นตอนต่อไปของกระบวนการสร้างหรือไม่และวิธีที่สะดวกที่สุดในการดำเนินการนี้คือการใช้การทดสอบอัตโนมัติ หากไม่มีการทดสอบอัตโนมัติที่เหมาะสมคุณจะพบว่าตัวเองต้องเก็บสิ่งประดิษฐ์สร้างจำนวนมากและทดสอบด้วยมือซึ่งแทบจะไม่ได้อยู่ในจิตวิญญาณของการผสานรวมอย่างต่อเนื่อง ตัวอย่างต่อไปนี้แสดงวิธีใช้ Selenium เพื่อเรียกใช้การทดสอบเว็บอัตโนมัติ
Step 1 - ไปที่จัดการปลั๊กอิน
Step 2- ค้นหาปลั๊กอิน Hudson Selenium แล้วเลือกติดตั้ง รีสตาร์ทอินสแตนซ์ Jenkins
Step 3 - ไปที่กำหนดค่าระบบ
Step 4 - กำหนดค่าโถเซิร์ฟเวอร์ซีลีเนียมและคลิกที่ปุ่มบันทึก
Note- สามารถดาวน์โหลดไฟล์ซีลีเนียม jar ได้จากตำแหน่งSeleniumHQ
คลิกที่ดาวน์โหลดสำหรับเซิร์ฟเวอร์ Selenium แบบสแตนด์อโลน
Step 5 - กลับไปที่แดชบอร์ดของคุณและคลิกที่ตัวเลือกกำหนดค่าสำหรับโครงการ HelloWorld
Step 6 - คลิกที่ Add build step และเลือก optin ของ“ SeleniumHQ htmlSuite Run”
Step 7- เพิ่มรายละเอียดที่จำเป็นสำหรับการทดสอบซีลีเนียม ที่นี่ suiteFile คือ TestSuite ที่สร้างขึ้นโดยใช้ Selenium IDE คลิกที่บันทึกและดำเนินการสร้าง ตอนนี้การสร้างโพสต์จะเปิดตัวไดรเวอร์ซีลีเนียมและดำเนินการทดสอบ html
Jenkins มาพร้อมกับสิ่งอำนวยความสะดวกสำเร็จรูปเพื่อเพิ่มการแจ้งเตือนทางอีเมลสำหรับโครงการสร้าง
Step 1- การกำหนดค่าเซิร์ฟเวอร์ SMTP ไปที่จัดการ Jenkins →กำหนดค่าระบบ ไปที่ส่วนการแจ้งเตือนอีเมลและป้อนเซิร์ฟเวอร์ SMTP ที่ต้องการและรายละเอียดส่วนต่อท้ายอีเมลของผู้ใช้
Step 2- กำหนดค่าผู้รับในโครงการ Jenkins - เมื่อคุณกำหนดค่าโครงการสร้างของ Jenkins ในตอนท้ายคือความสามารถในการเพิ่มผู้รับที่จะได้รับการแจ้งเตือนทางอีเมลสำหรับงานสร้างที่ไม่เสถียรหรือเสีย จากนั้นคลิกที่ปุ่มบันทึก
นอกเหนือจากค่าเริ่มต้นแล้วยังมีปลั๊กอินการแจ้งเตือนในตลาดอีกด้วย ตัวอย่างคือปลั๊กอินการแจ้งเตือนจาก Tikal Knowledge ซึ่งอนุญาตให้ส่งการแจ้งเตือนสถานะงานในรูปแบบ JSON และ XML ปลั๊กอินนี้ช่วยให้สามารถกำหนดค่าจุดสิ้นสุดได้ดังที่แสดงด้านล่าง
นี่คือรายละเอียดของแต่ละตัวเลือก -
"Format" - นี่คือรูปแบบเพย์โหลดการแจ้งเตือนซึ่งอาจเป็น JSON หรือ XML
"Protocol" - โปรโตคอลที่จะใช้ในการส่งข้อความแจ้งเตือน HTTP, TCP หรือ UDP
"Event" - กิจกรรมของงานที่ทำให้เกิดการแจ้งเตือน: เริ่มงาน, งานเสร็จสมบูรณ์, งานเสร็จสิ้นหรือกิจกรรมทั้งหมด (ตัวเลือกเริ่มต้น)
"URL"- URL ที่จะส่งการแจ้งเตือนไป มันอยู่ในรูปแบบของ "http://host"สำหรับโปรโตคอล HTTP และ
"host:port"
สำหรับโปรโตคอล TCP และ UDP"Timeout" - หมดเวลาเป็นมิลลิวินาทีสำหรับการส่งคำขอการแจ้งเตือน 30 วินาทีโดยค่าเริ่มต้น
ดังที่แสดงไว้ในส่วนก่อนหน้านี้มีปลั๊กอินการรายงานมากมายโดยที่ง่ายที่สุดคือรายงานที่พร้อมใช้งานสำหรับการทดสอบ jUnit
ในการดำเนินการหลังการสร้างสำหรับงานใด ๆ คุณสามารถกำหนดรายงานที่จะสร้างได้ หลังจากการสร้างเสร็จสมบูรณ์ตัวเลือกผลการทดสอบจะพร้อมใช้งานสำหรับการเจาะลึกเพิ่มเติม
Jenkins มีโฮสต์ของปลั๊กอินการวิเคราะห์โค้ด สามารถดูปลั๊กอินต่างๆได้ที่https://wiki.jenkins-ci.org/display/JENKINS/Static+Code+Analysis+Plugins
ปลั๊กอินนี้มียูทิลิตี้สำหรับปลั๊กอินการวิเคราะห์โค้ดแบบคงที่ เจนกินส์สามารถแยกวิเคราะห์ไฟล์ผลลัพธ์จากเครื่องมือวิเคราะห์โค้ดต่างๆเช่น CheckStyle, FindBugs, PMD เป็นต้นสำหรับเครื่องมือวิเคราะห์โค้ดแต่ละรายการจำเป็นต้องติดตั้งปลั๊กอินในเจนกินส์
นอกจากนี้ยังมีปลั๊กอินเสริมStatic Analysis Collectorที่รวมผลลัพธ์แต่ละรายการของปลั๊กอินเหล่านี้ไว้ในกราฟแนวโน้มเดียวและมุมมอง
ปลั๊กอินสามารถให้ข้อมูลเช่น
- จำนวนคำเตือนทั้งหมดในงาน
- การแสดงคำเตือนใหม่และคำเตือนคงที่ของงานสร้าง
- รายงานแนวโน้มแสดงจำนวนคำเตือนต่อบิลด์
- ภาพรวมของคำเตือนที่พบตามโมดูลแพ็กเกจหมวดหมู่หรือประเภท
- รายงานโดยละเอียดของคำเตือนที่พบซึ่งเลือกกรองตามความรุนแรง (หรือใหม่และคงที่)
บางครั้งต้องใช้เครื่องจักรสร้างจำนวนมากหากมีกรณีที่มีโครงการขนาดใหญ่และหนักกว่าซึ่งสร้างขึ้นเป็นประจำ และการรันงานสร้างเหล่านี้ทั้งหมดบนเครื่องส่วนกลางอาจไม่ใช่ตัวเลือกที่ดีที่สุด ในสถานการณ์เช่นนี้เราสามารถกำหนดค่าเครื่อง Jenkins เครื่องอื่นให้เป็นเครื่องทาสเพื่อรับภาระจากเซิร์ฟเวอร์ Jenkins หลัก
บางครั้งคุณอาจต้องการสภาพแวดล้อมที่แตกต่างกันเพื่อทดสอบงานสร้างของคุณ ในกรณีนี้การใช้ทาสเพื่อแสดงสภาพแวดล้อมที่คุณต้องการแต่ละอย่างนั้นแทบจะเป็นสิ่งที่จำเป็น
ทาสคือคอมพิวเตอร์ที่ตั้งค่าให้ถ่ายโอนโครงการสร้างจากต้นแบบและเมื่อตั้งค่าการกระจายงานนี้จะค่อนข้างอัตโนมัติ พฤติกรรมการมอบสิทธิ์ที่แน่นอนขึ้นอยู่กับการกำหนดค่าของแต่ละโครงการ บางโครงการอาจเลือกที่จะ "ยึดติด" กับเครื่องจักรเฉพาะสำหรับงานสร้างในขณะที่โครงการอื่น ๆ อาจเลือกที่จะเดินเตร่อย่างอิสระระหว่างทาส
เนื่องจากทาสแต่ละตัวรันโปรแกรมแยกกันเรียกว่า "ตัวแทนทาส" จึงไม่จำเป็นต้องติดตั้ง Jenkins (แพ็กเกจหรือไบนารีที่คอมไพล์) แบบเต็มบนทาส มีหลายวิธีในการเริ่มตัวแทนทาส แต่ในที่สุดเอเจนต์ทาสและเจนกินส์มาสเตอร์จำเป็นต้องสร้างลิงก์การสื่อสารแบบสองทิศทาง (เช่นซ็อกเก็ต TCP / IP) เพื่อดำเนินการ
ในการตั้งค่าทาส / โหนดใน Jenkins ให้ทำตามขั้นตอนด้านล่าง
Step 1 - ไปที่ส่วน Manage Jenkins และเลื่อนลงไปที่ส่วน Manage Nodes
Step 2 - คลิกที่โหนดใหม่
Step 3 - ตั้งชื่อโหนดเลือกตัวเลือก Dumb slave แล้วคลิกตกลง
Step 4- ป้อนรายละเอียดของเครื่องโหนดทาส ในตัวอย่างด้านล่างเรากำลังพิจารณาว่าเครื่อง Slave เป็นเครื่อง windows ดังนั้นจึงเลือกตัวเลือก“ ให้ Jenkins ควบคุม Windows Slave เป็นบริการ Windows” เป็นวิธีการเปิดตัว เรายังต้องเพิ่มรายละเอียดที่จำเป็นของโหนดทาสเช่นชื่อโหนดและข้อมูลรับรองการล็อกอินสำหรับเครื่องโหนด คลิกปุ่มบันทึก ป้ายกำกับที่ป้อนชื่อเป็น“ New_Slave” คือสิ่งที่ใช้กำหนดค่างานเพื่อใช้เครื่องทาสนี้ได้
เมื่อทำตามขั้นตอนข้างต้นเรียบร้อยแล้วเครื่องโหนดใหม่จะอยู่ในสถานะออฟไลน์ในตอนแรก แต่จะออนไลน์หากการตั้งค่าทั้งหมดในหน้าจอก่อนหน้านี้ถูกป้อนอย่างถูกต้อง หนึ่งสามารถทำให้เครื่องโหนดทาสเป็นออฟไลน์ได้ตลอดเวลาหากจำเป็น
มีปลั๊กอินมากมายที่สามารถใช้เพื่อถ่ายโอนไฟล์บิลด์หลังจากสร้างสำเร็จไปยังแอปพลิเคชัน / เว็บเซิร์ฟเวอร์ตามลำดับ ในตัวอย่างคือ“ Deploy to container Plugin” ในการใช้งานให้ทำตามขั้นตอนที่ระบุด้านล่าง
Step 1- ไปที่ Manage Jenkins → Manage Plugins ไปที่ส่วน Available และค้นหาปลั๊กอิน“ Deploy to container Plugin” และติดตั้งปลั๊กอิน รีสตาร์ทเซิร์ฟเวอร์ Jenkins
ปลั๊กอินนี้ใช้ไฟล์ war / ear และนำไปใช้กับแอ็พพลิเคชันเซิร์ฟเวอร์ระยะไกลที่รันอยู่ในตอนท้ายของบิลด์
ทอมแคท 4.x / 5.x / 6.x / 7.x
เจบอส 3.x / 4.x
ปลาแก้ว 2.x / 3.x
Step 2- ไปที่โครงการสร้างของคุณแล้วคลิกตัวเลือกกำหนดค่า เลือกตัวเลือก“ ปรับใช้ war / ear กับคอนเทนเนอร์”
Step 3- ในหัวข้อ Deploy war / ear to a container ให้ป้อนรายละเอียดที่จำเป็นของเซิร์ฟเวอร์ที่จะต้องปรับใช้ไฟล์และคลิกที่ปุ่ม Save ขั้นตอนเหล่านี้จะช่วยให้มั่นใจได้ว่าไฟล์ที่จำเป็นได้รับการปรับใช้กับคอนเทนเนอร์ที่จำเป็นหลังจากสร้างสำเร็จ
มีปลั๊กอินต่างๆที่มีอยู่ใน Jenkins เพื่อแสดงเมตริกสำหรับงานสร้างซึ่งดำเนินการในช่วงเวลาหนึ่ง เมตริกเหล่านี้มีประโยชน์ในการทำความเข้าใจงานสร้างของคุณและความถี่ที่ล้มเหลว / ผ่านไปเมื่อเวลาผ่านไป ตัวอย่างเช่นลองดูที่ปลั๊กอิน "Build History Metrics"
ปลั๊กอินนี้จะคำนวณเมตริกต่อไปนี้สำหรับบิลด์ทั้งหมดที่ติดตั้ง
- เวลาเฉลี่ยที่จะล้มเหลว (MTTF)
- เวลาเฉลี่ยในการกู้คืน (MTTR)
- ค่าเบี่ยงเบนมาตรฐานของเวลาสร้าง
Step 1 - ไปที่แดชบอร์ด Jenkins และคลิกที่ Manage Jenkins
Step 2 - ไปที่ตัวเลือก Manage Plugins
Step 3 - ไปที่แท็บ Available และค้นหาปลั๊กอิน 'Build History Metrics plugin' และเลือก 'install without restart'
Step 4- หน้าจอต่อไปนี้จะแสดงขึ้นเพื่อยืนยันการติดตั้งปลั๊กอินสำเร็จ รีสตาร์ทอินสแตนซ์ Jenkins
เมื่อคุณไปที่หน้างานของคุณคุณจะเห็นตารางที่มีเมตริกจากการคำนวณ เมตริกจะแสดงในช่วง 7 วัน 30 วันที่ผ่านมาและตลอดเวลา
หากต้องการดูแนวโน้มโดยรวมใน Jenkins มีปลั๊กอินสำหรับรวบรวมข้อมูลจากภายในงานสร้างและ Jenkins และแสดงในรูปแบบกราฟิก ตัวอย่างหนึ่งของปลั๊กอินดังกล่าวคือปลั๊กอิน 'Hudson global-build-stats plugin' มาดูขั้นตอนนี้กัน
Step 1 - ไปที่แดชบอร์ด Jenkins และคลิกที่ Manage Jenkins
Step 2 - ไปที่ตัวเลือก Manage Plugins
Step 3 - ไปที่แท็บ Available และค้นหาปลั๊กอิน 'Hudson global-build-stats plugin' และเลือก 'install without restart'
Step 4- หน้าจอต่อไปนี้จะแสดงขึ้นเพื่อยืนยันการติดตั้งปลั๊กอินสำเร็จ รีสตาร์ทอินสแตนซ์ Jenkins
หากต้องการดูสถิติทั่วโลกโปรดทำตามขั้นตอนที่ 5 ถึง 8
Step 5- ไปที่แดชบอร์ด Jenkins และคลิกที่ Manage Jenkins ในหน้าจอ Manage Jenkins ให้เลื่อนลงและตอนนี้คุณจะเห็นตัวเลือกที่เรียกว่า 'Global Build Stats' คลิกที่ลิงค์นี้
Step 6- คลิกที่ปุ่ม 'เริ่มต้นสถิติ' สิ่งนี้ทำคือรวบรวมระเบียนที่มีอยู่ทั้งหมดสำหรับงานสร้างซึ่งได้ดำเนินการไปแล้วและสามารถสร้างแผนภูมิตามผลลัพธ์เหล่านี้ได้
Step 7- เมื่อข้อมูลเริ่มต้นแล้วก็ถึงเวลาสร้างแผนภูมิใหม่ คลิกลิงก์ "สร้างแผนภูมิใหม่"
Step 8- ป๊อปอัปจะมาเพื่อป้อนข้อมูลที่เกี่ยวข้องสำหรับรายละเอียดแผนภูมิใหม่ ป้อนข้อมูลที่จำเป็นต่อไปนี้
- Title - ข้อมูลชื่อเรื่องใด ๆ สำหรับตัวอย่างนี้จะได้รับเป็น 'Demo'
- ความกว้างของแผนภูมิ - 800
- ความสูงของแผนภูมิ - 600
- มาตราส่วนเวลาของแผนภูมิ - รายวัน
- ระยะเวลาในแผนภูมิ - 30 วัน
ข้อมูลที่เหลือสามารถคงอยู่ได้ตามที่เป็นอยู่ เมื่อป้อนข้อมูลแล้วให้คลิกที่สร้างแผนภูมิใหม่
ตอนนี้คุณจะเห็นแผนภูมิที่แสดงแนวโน้มของงานสร้างเมื่อเวลาผ่านไป
หากคุณคลิกที่ส่วนใด ๆ ในแผนภูมิระบบจะให้ข้อมูลเจาะลึกรายละเอียดของงานและงานสร้าง
ต่อไปนี้เป็นกิจกรรมพื้นฐานบางส่วนที่คุณจะดำเนินการซึ่งบางส่วนเป็นแนวทางปฏิบัติที่ดีที่สุดสำหรับการบำรุงรักษาเซิร์ฟเวอร์ Jenkins
ตัวเลือก URL
คำสั่งต่อไปนี้เมื่อต่อท้าย URL อินสแตนซ์ Jenkins จะดำเนินการที่เกี่ยวข้องกับอินสแตนซ์ Jenkins
http://localhost:8080/jenkins/exit - ปิดเจนกินส์
http://localhost:8080/jenkins/restart - รีสตาร์ทเจนกินส์
http://localhost:8080/jenkins/reload - เพื่อโหลดการกำหนดค่าใหม่
สำรองข้อมูลบ้านเจนกินส์
ไดเร็กทอรีโฮมของเจนกินส์เป็นเพียงตำแหน่งบนไดรฟ์ของคุณซึ่งเจนกินส์เก็บข้อมูลทั้งหมดสำหรับงานงานสร้างและอื่น ๆ ตำแหน่งของโฮมไดเร็กทอรีของคุณสามารถเห็นได้เมื่อคุณคลิกที่จัดการเจนกินส์→กำหนดค่าระบบ
ตั้งค่า Jenkins บนพาร์ติชันที่มีพื้นที่ว่างบนดิสก์มากที่สุด - เนื่องจาก Jenkins จะรับซอร์สโค้ดสำหรับงานต่างๆที่กำหนดไว้และสร้างแบบต่อเนื่องให้แน่ใจเสมอว่า Jenkins ได้รับการติดตั้งบนไดรฟ์ที่มีเนื้อที่ว่างบนฮาร์ดดิสก์เพียงพอ หากฮาร์ดดิสก์ของคุณไม่มีพื้นที่ว่างการสร้างทั้งหมดในอินสแตนซ์ Jenkins จะเริ่มล้มเหลว
แนวทางปฏิบัติที่ดีที่สุดอีกประการหนึ่งคือการเขียนงาน cron หรืองานบำรุงรักษาที่สามารถดำเนินการล้างข้อมูลเพื่อหลีกเลี่ยงดิสก์ที่ Jenkins ตั้งค่าไว้ไม่ให้เต็ม
Jenkins ให้การสนับสนุนที่ดีในการจัดเตรียมการใช้งานและการส่งมอบอย่างต่อเนื่อง หากคุณดูขั้นตอนของการพัฒนาซอฟต์แวร์ใด ๆ ผ่านการปรับใช้จะเป็นดังที่แสดงด้านล่าง
ส่วนหลักของการปรับใช้อย่างต่อเนื่องคือเพื่อให้แน่ใจว่ากระบวนการทั้งหมดที่แสดงไว้ข้างต้นเป็นไปโดยอัตโนมัติ Jenkins ประสบความสำเร็จทั้งหมดนี้ผ่านปลั๊กอินต่างๆหนึ่งในนั้นคือ“ Deploy to container Plugin” ซึ่งเห็นในบทเรียนก่อนหน้านี้
มีปลั๊กอินที่พร้อมใช้งานซึ่งสามารถแสดงภาพกราฟิกของกระบวนการปรับใช้งานแบบต่อเนื่องได้ แต่ก่อนอื่นให้สร้างโปรเจ็กต์อื่นในเจนกินส์เพื่อที่เราจะได้เห็นว่ามันทำงานอย่างไรดีที่สุด
มาสร้างโปรเจ็กต์ง่ายๆที่เลียนแบบเวที QA และทำการทดสอบแอปพลิเคชัน Helloworld
Step 1- ไปที่แดชบอร์ด Jenkins และคลิกที่ New Item เลือก 'โครงการฟรีสไตล์' และป้อนชื่อโครงการว่า 'QA' คลิกที่ปุ่มตกลงเพื่อสร้างโครงการ
Step 2 - ในตัวอย่างนี้เราทำให้มันง่ายและใช้โปรเจ็กต์นี้เพื่อดำเนินการโปรแกรมทดสอบสำหรับแอปพลิเคชัน Helloworld
ดังนั้นโครงการ QA ของเราจึงได้รับการตั้งค่าแล้ว คุณสามารถสร้างเพื่อดูว่าสร้างอย่างถูกต้องหรือไม่
Step 3 - ไปที่โครงการ Helloworld ของคุณแล้วคลิกที่ตัวเลือกกำหนดค่า
Step 4 - ในการกำหนดค่าโครงการเลือก 'เพิ่มการดำเนินการหลังการสร้าง' และเลือก 'สร้างโครงการอื่น ๆ '
Step 5- ในส่วน "Project to build" ให้ป้อน QA เป็นชื่อโครงการที่จะสร้าง คุณสามารถปล่อยให้ตัวเลือกนี้เป็นค่าเริ่มต้นของ "ทริกเกอร์เฉพาะเมื่อโครงสร้างเสถียร" คลิกที่ปุ่มบันทึก
Step 6- สร้างโครงการ Helloworld ตอนนี้ถ้าคุณเห็นเอาต์พุตคอนโซลคุณจะเห็นว่าหลังจากสร้างโครงการ Helloworld สำเร็จแล้วการสร้างโครงการ QA ก็จะเกิดขึ้นเช่นกัน
Step 7- ให้ติดตั้งปลั๊กอิน Delivery pipeline ไปที่ Manage Jenkins → Manage Plugin ในแท็บที่มีให้ค้นหา 'Delivery Pipeline Plugin' คลิกที่ติดตั้งโดยไม่ต้องรีสตาร์ท เมื่อเสร็จแล้วให้รีสตาร์ทอินสแตนซ์ Jenkins
Step 8 - หากต้องการดูการดำเนินการไปป์ไลน์ใน Jenkins Dashboard ให้คลิกที่สัญลักษณ์ + ในแท็บถัดจากแท็บ 'ทั้งหมด'
Step 9 - ป้อนชื่อสำหรับ View name และเลือกตัวเลือก 'Delivery Pipeline View'
Step 10- ในหน้าจอถัดไปคุณสามารถออกจากตัวเลือกเริ่มต้นได้ หนึ่งสามารถเปลี่ยนการตั้งค่าต่อไปนี้ -
- ตรวจสอบให้แน่ใจว่าได้เลือกตัวเลือก "แสดงผลการวิเคราะห์แบบคงที่"
- ตรวจสอบให้แน่ใจว่าได้เลือกตัวเลือก "แสดงเวลาสร้างทั้งหมด"
- สำหรับงานเริ่มต้น - เข้าสู่โครงการ Helloworld เป็นงานแรกที่ควรสร้าง
- ป้อนชื่อไปป์ไลน์
- คลิกปุ่ม OK
ตอนนี้คุณจะเห็นมุมมองที่ยอดเยี่ยมของไปป์ไลน์การจัดส่งทั้งหมดและคุณจะสามารถดูสถานะของแต่ละโครงการในไปป์ไลน์ทั้งหมด
ปลั๊กอินที่มีชื่อเสียงอีกตัวคือ build pipeline plugin. ลองมาดูที่นี้
Step 1- ไปที่ Manage Jenkins → Manage Plugin ในแท็บที่มีให้ค้นหา 'Build Pipeline Plugin' คลิกที่ติดตั้งโดยไม่ต้องรีสตาร์ท เมื่อเสร็จแล้วให้รีสตาร์ทอินสแตนซ์ Jenkins
Step 2 - หากต้องการดูการทำงานของ Build pipeline ใน Jenkins Dashboard ให้คลิกที่สัญลักษณ์ + ในแท็บถัดจากแท็บ 'ทั้งหมด'
Step 3 - ป้อนชื่อใด ๆ สำหรับชื่อมุมมองและเลือกตัวเลือก 'สร้างมุมมองไปป์ไลน์'
Step 4- ยอมรับการตั้งค่าเริ่มต้นในงานเริ่มต้นที่เลือกตรวจสอบให้แน่ใจว่าได้ป้อนชื่อของโครงการ Helloworld คลิกที่ปุ่มตกลง
ตอนนี้คุณจะเห็นมุมมองที่ยอดเยี่ยมของไปป์ไลน์การจัดส่งทั้งหมดและคุณจะสามารถดูสถานะของแต่ละโครงการในไปป์ไลน์ทั้งหมด
หากต้องการรับรายการปลั๊กอินทั้งหมดที่มีอยู่ใน Jenkins คุณสามารถไปที่ลิงค์ - https://wiki.jenkins-ci.org/display/JENKINS/Plugins
เราได้เห็นอินสแตนซ์มากมายสำหรับการติดตั้งปลั๊กอินแล้วมาดูงานการบำรุงรักษาอื่น ๆ เกี่ยวกับปลั๊กอิน
การถอนการติดตั้งปลั๊กอิน
ในการถอนการติดตั้งปลั๊กอินไปที่ Manage Jenkins → Manage plugins คลิกที่แท็บติดตั้ง ปลั๊กอินบางตัวจะมีตัวเลือกถอนการติดตั้ง คุณสามารถคลิกปุ่มเหล่านี้เพื่อถอนการติดตั้งปลั๊กอิน อย่าลืมรีสตาร์ทอินสแตนซ์ Jenkins ของคุณหลังจากถอนการติดตั้ง
การติดตั้งปลั๊กอินเวอร์ชันอื่น
บางครั้งอาจจำเป็นต้องติดตั้งปลั๊กอินเวอร์ชันเก่าในกรณีนี้คุณสามารถดาวน์โหลดปลั๊กอินได้จากหน้าปลั๊กอินที่เกี่ยวข้องบนเว็บไซต์ Jenkins จากนั้นคุณสามารถใช้ไฟล์Upload ตัวเลือกในการอัปโหลดปลั๊กอินด้วยตนเอง
ใน Jenkins คุณสามารถตั้งค่าผู้ใช้และสิทธิ์ที่เกี่ยวข้องบนอินสแตนซ์ Jenkins ได้ โดยค่าเริ่มต้นคุณจะไม่ต้องการให้ทุกคนสามารถกำหนดงานหรืองานบริหารอื่น ๆ ใน Jenkins ได้ ดังนั้นเจนกินส์จึงมีความสามารถในการกำหนดค่าความปลอดภัย
ในการกำหนดค่าความปลอดภัยใน Jenkins ให้ทำตามขั้นตอนด้านล่าง
Step 1 - คลิกที่ Manage Jenkins และเลือกตัวเลือก 'Configure Global Security'
Step 2- คลิกที่ตัวเลือก Enable Security ตัวอย่างเช่นสมมติว่าเราต้องการให้ Jenkins ดูแลฐานข้อมูลผู้ใช้ของตัวเองดังนั้นใน Security Realm ให้เลือกตัวเลือกฐานข้อมูลผู้ใช้ของ 'Jenkins'
โดยค่าเริ่มต้นคุณต้องการให้ผู้ดูแลระบบส่วนกลางกำหนดผู้ใช้ในระบบดังนั้นให้แน่ใจว่าได้ยกเลิกการเลือกตัวเลือก "อนุญาตให้ผู้ใช้สมัครใช้งาน" คุณสามารถออกจากส่วนที่เหลือได้ในตอนนี้และคลิกปุ่มบันทึก
Step 3- คุณจะได้รับแจ้งให้เพิ่มผู้ใช้รายแรกของคุณ ตัวอย่างเช่นเรากำลังตั้งค่าผู้ดูแลระบบสำหรับระบบ
Step 4- ถึงเวลาตั้งค่าผู้ใช้ของคุณในระบบแล้ว ตอนนี้เมื่อคุณไปที่ Manage Jenkins แล้วเลื่อนลงคุณจะเห็นตัวเลือก 'Manage Users' คลิกตัวเลือกนี้
Step 5- เช่นเดียวกับที่คุณกำหนดผู้ดูแลระบบของคุณให้เริ่มสร้างผู้ใช้อื่นสำหรับระบบ ตัวอย่างเช่นเรากำลังสร้างผู้ใช้อื่นที่เรียกว่า 'ผู้ใช้'
Step 6- ตอนนี้ถึงเวลาตั้งค่าการอนุญาตของคุณโดยพื้นฐานแล้วว่าใครสามารถเข้าถึงอะไรได้บ้าง ไปที่ Manage Jenkins → Configure Global Security
ตอนนี้ในส่วนการอนุญาตให้คลิกที่ 'Matrix based security'
Step 7- หากคุณไม่เห็นผู้ใช้ในรายชื่อกลุ่มผู้ใช้ให้ป้อนชื่อผู้ใช้และเพิ่มลงในรายการ จากนั้นให้สิทธิ์ที่เหมาะสมแก่ผู้ใช้
คลิกที่ปุ่มบันทึกเมื่อคุณกำหนดการอนุญาตที่เกี่ยวข้องแล้ว
การรักษาความปลอดภัย Jenkins ของคุณได้รับการตั้งค่าแล้ว
Note - สำหรับการรับรองความถูกต้องของ Windows AD คุณต้องเพิ่มปลั๊กอิน Active Directory ให้กับ Jenkins
Jenkins มีปลั๊กอินสำรองที่สามารถใช้ในการสำรองข้อมูลการตั้งค่าคอนฟิกที่สำคัญที่เกี่ยวข้องกับ Jenkins ทำตามขั้นตอนที่ระบุด้านล่างเพื่อสำรองข้อมูลไว้
Step 1 - คลิกที่ Manage Jenkins และเลือกตัวเลือก 'Manage Plugins'
Step 2- ในแท็บที่มีให้ค้นหา 'ปลั๊กอินสำรอง' คลิกที่ติดตั้งโดยไม่ต้องรีสตาร์ท เมื่อเสร็จแล้วให้รีสตาร์ทอินสแตนซ์ Jenkins
Step 3- ตอนนี้เมื่อคุณไปที่ Manage Jenkins แล้วเลื่อนลงมาคุณจะเห็น 'Backup Manager' เป็นตัวเลือก คลิกที่ตัวเลือกนี้
Step 4 - คลิกที่การตั้งค่า
Step 5- ที่นี่ฟิลด์หลักที่จะกำหนดคือไดเร็กทอรีสำหรับการสำรองข้อมูลของคุณ ตรวจสอบให้แน่ใจว่าอยู่ในไดรฟ์อื่นซึ่งแตกต่างจากไดรฟ์ที่ติดตั้งอินสแตนซ์ Jenkins ของคุณ คลิกที่ปุ่มบันทึก
Step 6 - คลิกที่ 'Backup Hudson configuration' จากหน้าจอ Backup manager เพื่อเริ่มการสำรองข้อมูล
หน้าจอถัดไปจะแสดงสถานะของการสำรองข้อมูล
ในการกู้คืนจากข้อมูลสำรองไปที่หน้าจอ Backup Manager คลิกที่ Restore Hudson configuration
รายการข้อมูลสำรองจะปรากฏขึ้นคลิกที่รายการที่เหมาะสมเพื่อคลิกที่ Launch Restore เพื่อเริ่มการกู้คืนข้อมูลสำรอง
การทดสอบเว็บเช่นการทดสอบซีลีเนียมสามารถรันบนเครื่องทาสระยะไกลผ่านการติดตั้งปลั๊กอินหลักทาสและชุดซีลีเนียม ขั้นตอนต่อไปนี้แสดงวิธีเรียกใช้การทดสอบระยะไกลโดยใช้การกำหนดค่านี้
Step 1- ตรวจสอบให้แน่ใจว่ามีการกำหนดค่าทาสหลักของคุณ ไปที่เซิร์ฟเวอร์ Jenkins หลักของคุณ ไปที่จัดการ Jenkins →จัดการโหนด
ในรายการโหนดของเราฉลาก DXBMEM30 คือเครื่องทาส ในตัวอย่างนี้ทั้งเครื่องต้นแบบและเครื่องทาสเป็นเครื่อง windows
Step 2 - คลิกที่กำหนดค่าสำหรับเครื่องทาส DXBMEM30
Step 3 - ตรวจสอบให้แน่ใจว่าวิธีการเปิดตัวถูกใส่เป็น 'Launch slave agent ผ่าน Java Web Start'
Step 4- ตอนนี้ไปที่เครื่องทาสของคุณจากนั้นเปิดอินสแตนซ์เบราว์เซอร์ไปยังอินสแตนซ์หลักของเจนกินส์ จากนั้นไปที่ Manage Jenkins → Manage Nodes ไปที่ DXBMEM30 แล้วคลิกที่
Step 5 - คลิกที่อินสแตนซ์ DXBMEM30
Step 6 - เลื่อนลงมาและคุณจะเห็นตัวเลือก Launch ซึ่งเป็นตัวเลือกในการเริ่ม 'Java Web Start'
Step 7- คุณจะได้รับคำเตือนด้านความปลอดภัย คลิกที่ช่องทำเครื่องหมายยอมรับแล้วคลิกเรียกใช้
ตอนนี้คุณจะเห็นหน้าต่าง Jenkins Slave เปิดขึ้นและเชื่อมต่อแล้ว
Step 8- กำหนดค่าการทดสอบของคุณให้ทำงานบนทาส ที่นี่คุณต้องตรวจสอบให้แน่ใจว่างานที่สร้างขึ้นนั้นมีไว้เพื่อทำการทดสอบซีลีเนียมโดยเฉพาะ
ในคอนฟิกูเรชันงานตรวจสอบให้แน่ใจว่าได้เลือกอ็อพชัน 'จำกัด ตำแหน่งที่สามารถรันโปรเจ็กต์นี้ได้' และในนิพจน์ Label ใส่ชื่อของโหนดทาส
Step 9- ตรวจสอบให้แน่ใจว่ามีการกำหนดค่าส่วนซีลีเนียมในงานของคุณ คุณต้องตรวจสอบให้แน่ใจว่าไฟล์ Sample.html และไฟล์ selenium-server.jar อยู่ในเครื่องทาสด้วย
เมื่อคุณทำตามขั้นตอนข้างต้นทั้งหมดแล้วคลิกที่สร้างโครงการนี้จะเรียกใช้การทดสอบซีลีเนียมบนเครื่องทาสตามที่คาดไว้