Jenkins การผสานรวม GitHub: วิธีการติดตั้งปลั๊กอิน Git?
⚡ สรุปอย่างชาญฉลาด
Jenkins การผสานรวม GitHub เชื่อมต่อเซิร์ฟเวอร์อัตโนมัติกับที่เก็บซอร์สโค้ด เพื่อให้ทุกการคอมมิตสามารถสร้างและตรวจสอบได้โดยอัตโนมัติ การติดตั้งปลั๊กอิน Git การสร้างงาน Freestyle การตรวจสอบสิทธิ์ด้วยโทเค็น และการลงทะเบียนเว็บฮุค จะทำให้การเชื่อมต่อเสร็จสมบูรณ์
คุณได้เรียนรู้เรื่องนั้นไปแล้ว Jenkins คือและทำอย่างไร ติดตั้งบน Windows ระบบเมื่อขั้นตอนพื้นฐานเหล่านั้นเสร็จสมบูรณ์แล้ว เราจะเริ่มดำเนินการจัดการปลั๊กอินกันต่อไป
Jenkins มีระบบรองรับปลั๊กอินที่ยอดเยี่ยม มีปลั๊กอินแอปพลิเคชันจากผู้พัฒนาภายนอกมากกว่าหนึ่งพันรายการ เพื่อตรวจสอบว่า Jenkins รองรับแอปพลิเคชันของบุคคลที่สามที่คุณต้องการ โปรดค้นหาในไดเร็กทอรีปลั๊กอินที่ https://plugins.jenkins.io/.
การติดตั้งปลั๊กอินใน Jenkins
Jenkins มาพร้อมกับการตั้งค่าพื้นฐานค่อนข้างมาก ดังนั้นคุณต้องติดตั้งปลั๊กอินที่จำเป็นเพื่อเปิดใช้งานการสนับสนุนสำหรับแอปพลิเคชันของบุคคลที่สามแต่ละรายการ
GitHub เป็นที่เก็บโค้ดบนเว็บซึ่งมีบทบาทสำคัญใน DevOps มันเป็นแพลตฟอร์มร่วมที่ช่วยให้นักพัฒนาหลายคนทำงานในโค้ดหรือโครงการเดียวกันสามารถอัปโหลดและเรียกใช้โค้ดที่อัปเดตได้ ทำให้การรวมระบบอย่างต่อเนื่องเป็นไปได้ง่ายขึ้น
Jenkins ต้องติดตั้งปลั๊กอิน Git ก่อนจึงจะสามารถดึงโค้ดจากที่เก็บ GitHub ได้ ชื่อของปลั๊กอินทั้งสองมักทำให้เกิดความสับสน ดังนั้นตารางด้านล่างจึงแยกความแตกต่างระหว่างทั้งสอง:
| เสียบเข้าไป | สิ่งที่มันมอบให้ | จำเป็นสำหรับคำแนะนำนี้หรือไม่? |
|---|---|---|
| ปลั๊กอิน Git | การขอ ไป ตัวเลือกภายใต้แหล่งที่มา Code การจัดการ การโคลนที่เก็บข้อมูล และการเลือกสาขา | ใช่ นี่คือส่วนสำคัญที่สุด |
| ปลั๊กอิน GitHub | การจัดการ Webhook ตัวกระตุ้นฮุคของ GitHub ตัวเลือก และสถานะการสร้างที่รายงานกลับไปยังการคอมมิต | สำหรับการเรียกใช้งานอัตโนมัติเท่านั้น |
คุณไม่จำเป็นต้องติดตั้งปลั๊กอินเหล่านี้ หากคุณได้ยอมรับปลั๊กอินที่แนะนำไปแล้วในระหว่างขั้นตอนการติดตั้ง Jenkins การตั้งค่าการติดตั้ง เนื่องจากปลั๊กอิน Git เป็นส่วนหนึ่งของชุดนั้น หากไม่ใช่ นี่คือวิธีการติดตั้งและดึงโค้ดจากที่เก็บ GitHub
วิธีการติดตั้งปลั๊กอิน Git ใน Jenkins
ต่อไปนี้เป็นขั้นตอนการติดตั้งปลั๊กอิน Git ทีละขั้นตอน Jenkins:
ขั้นตอนที่ 1: เปิดแดชบอร์ดของคุณ
คลิกที่ จัดการ Jenkins บนปุ่มของคุณ Jenkins แผงควบคุม:
ขั้นตอนที่ 2: ค้นหาตัวเลือกปลั๊กอิน
คลิกที่ ปลั๊กอินในปัจจุบัน Jenkins การเผยแพร่รายการนี้จะถูกระบุชื่อไว้อย่างง่าย ๆ ปลั๊กอิน; เวอร์ชันเก่ากว่ามีป้ายกำกับหน้าจอแบบเดียวกัน จัดการปลั๊กอิน.
ขั้นตอนที่ 3: ในหน้าปลั๊กอิน ให้เปิด... ปลั๊กอินที่มีอยู่ กดแท็บแล้วตามด้วย:
- เลือก ไป เสียบเข้าไป
- คลิก ติดตั้งโดยไม่ต้องรีสตาร์ทปลั๊กอินจะใช้เวลาดาวน์โหลดสักครู่ ขึ้นอยู่กับความเร็วอินเทอร์เน็ตของคุณ และจะติดตั้งโดยอัตโนมัติ
- คุณอาจเลือกอย่างอื่นแทนได้ ดาวน์โหลดตอนนี้และติดตั้งหลังจากรีสตาร์ทเครื่องในกรณีนี้ ปลั๊กอินจะถูกใช้งานเมื่อ Jenkins ถัดไปเริ่มแล้ว
- หากปลั๊กอินติดตั้งอยู่แล้ว ปลั๊กอินนั้นจะปรากฏบน การติดตั้ง แท็บนี้ไม่มีการอัปเดตใดๆ ให้บริการ
ขั้นตอนที่ 4: เมื่อติดตั้งปลั๊กอินเสร็จแล้ว ให้ไปที่ จัดการ Jenkins > ปลั๊กอิน > ที่ติดตั้งแล้วปลั๊กอินใหม่ของคุณจะปรากฏอยู่ในรายการเดียวกับปลั๊กอินอื่นๆ
เมื่อติดตั้งปลั๊กอินเรียบร้อยแล้ว Jenkins ขณะนี้สามารถชี้ไปยังที่เก็บข้อมูลจริงได้แล้ว
วิธีการรวม Jenkins ด้วย GitHub
ต่อไปนี้เราจะมาอธิบายขั้นตอนการบูรณาการกัน Jenkins และ GitHub บน Windows ระบบ:
ขั้นตอน 1) สร้างงานใหม่ใน Jenkins. เปิด Jenkins แดชบอร์ดของคุณ Jenkins URL, ตัวอย่างเช่น http://localhost:8080/และคลิก รายการใหม่:
ขั้นตอน 2) ป้อนชื่อรายการ เลือกประเภทงาน แล้วคลิก OK- เราจะสร้างโปรเจ็กต์ฟรีสไตล์เป็นตัวอย่าง
ขั้นตอน 3) เมื่อคุณคลิก OKจากนั้นหน้าเว็บจะเปลี่ยนเส้นทางไปยังแบบฟอร์มการกำหนดค่าโครงการ ป้อนข้อมูลโครงการที่นี่:
ขั้นตอน 4) คุณจะเห็น ไป ภายใต้ แหล่ง Code การจัดการ หากได้ติดตั้งปลั๊กอิน Git แล้ว Jenkins:
หมายเหตุ ถ้า ไป ตัวเลือกไม่ปรากฏ ให้ติดตั้งปลั๊กอินใหม่ แล้วรีสตาร์ทเครื่อง Jenkinsและเข้าสู่ระบบแดชบอร์ดอีกครั้ง ไป จากนั้นตัวเลือกจะปรากฏให้เห็นดังที่แสดงด้านบน
ขั้นตอน 5) เข้าสู่ที่เก็บ Git URL เพื่อดึงโค้ดจาก GitHub
ขั้นตอน 6) คุณอาจได้รับข้อความแสดงข้อผิดพลาดในครั้งแรกที่เข้าสู่ระบบจัดเก็บข้อมูล URL. ตัวอย่างเช่น:
ปัญหานี้เกิดขึ้นเมื่อไม่ได้ติดตั้ง Git ไว้ในเครื่องที่ใช้งานอยู่ Jenkins. Jenkins ปลั๊กอินนี้ไม่ได้รวมไฟล์ไบนารี Git ไว้ด้วย แต่จะเรียกใช้ไฟล์ปฏิบัติการ Git บนเครื่องโฮสต์ หากต้องการติดตั้ง Git ในเครื่อง ให้ไปที่... https://git-scm.com/downloads.
ดาวน์โหลดโปรแกรมติดตั้ง Git ที่เหมาะสมสำหรับระบบของคุณ Operaระบบ ting — ในกรณีนี้ Windows — และติดตั้งลงในเครื่องที่กำลังทำงานอยู่ Jenkinsทำตามคำแนะนำบนหน้าจอให้ครบถ้วนเพื่อทำการติดตั้งให้เสร็จสมบูรณ์
ขั้นตอน 7) Jenkins สามารถเรียกใช้งาน Git repository ได้เมื่อติดตั้ง Git บนเครื่องแล้ว เพื่อยืนยันการติดตั้ง ให้เปิด... พร้อมรับคำสั่งพิมพ์ gitจากนั้นกด Enter รายการตัวเลือก Git จะปรากฏขึ้น:
:: Confirm the Git executable resolves and report its version git --version :: Expected output git version 2.51.0.windows.1 :: Show the full path Jenkins should record in Global Tool Configuration where git
ข้อความนี้ยืนยันว่า Git ได้รับการติดตั้งในระบบของคุณแล้ว
หมายเหตุ หากติดตั้ง Git ไว้แล้ว ให้เพิ่มคำสั่งต่อไปนี้ git.exe เส้นทางใต้ จัดการ Jenkins > เครื่องมือ (ติดป้ายกำกับ) การกำหนดค่าเครื่องมือทั่วโลก (ในเวอร์ชันเก่ากว่า)
ขั้นตอน 8) เมื่อทุกอย่างพร้อมแล้ว ให้เพิ่ม Git เข้าไป URL เข้าไป Jenkins อีกครั้ง ไม่มีข้อความแสดงข้อผิดพลาดปรากฏขึ้น ซึ่งเป็นการยืนยันว่า... Jenkins การผสานรวม Git:
ตอนนี้ Git ได้รับการตั้งค่าอย่างถูกต้องบนระบบของคุณแล้ว ในขั้นตอนนี้จะสามารถโคลน repository สาธารณะได้ แต่ repository ส่วนตัวยังคงต้องการข้อมูลรับรอง ซึ่งเป็นขั้นตอนต่อไป
วิธีการยืนยันตัวตน Jenkins ด้วยโทเค็นการเข้าถึงส่วนบุคคลของ GitHub
GitHub หยุดรับรหัสผ่านบัญชีสำหรับการดำเนินการ Git ตั้งแต่เดือนสิงหาคม 2021 การป้อนชื่อผู้ใช้และรหัสผ่านใน Jenkins ดังนั้นจึงไม่สามารถเข้าสู่ระบบที่เก็บข้อมูลส่วนตัวใดๆ ได้เนื่องจากข้อผิดพลาดในการตรวจสอบสิทธิ์ แม้ว่าจะใช้ข้อมูลประจำตัวเดียวกันในการเข้าสู่ระบบเว็บไซต์ GitHub ก็ตาม โทเค็นการเข้าถึงส่วนบุคคลจะใช้แทนรหัสผ่าน และ Jenkins จะจัดเก็บไว้ในที่เก็บข้อมูลประจำตัวของตัวเอง แทนที่จะเก็บไว้ในการตั้งค่างาน
สร้างโทเค็นใน GitHub ก่อน:
- ใน GitHub ให้เปิด การตั้งค่า > การตั้งค่าสำหรับนักพัฒนา > โทเค็นการเข้าถึงส่วนบุคคล.
- เลือกหลักสูตรเตรียมความพร้อมสอบ เม็ดเล็ก โทเค็นเท่าที่เป็นไปได้ เนื่องจากสามารถจำกัดขอบเขตไว้ที่ที่เก็บข้อมูลเดียว หรือ คลาสสิก โทเค็น หากองค์กรของคุณยังคงต้องการอยู่
- ให้สิทธิ์การอ่านแก่เนื้อหาของที่เก็บข้อมูล เพิ่มสิทธิ์การเขียนสถานะการคอมมิตเฉพาะเมื่อคุณต้องการเท่านั้น Jenkins เพื่อรายงานผลลัพธ์การสร้างกลับไปยัง commit ต่างๆ
- ตั้งวันหมดอายุและคัดลอกโทเค็นทันที — GitHub จะแสดงโทเค็นนั้นเพียงครั้งเดียวเท่านั้น
จากนั้นลงทะเบียนโทเค็นภายใน Jenkins:
- ไปที่ จัดการ Jenkins > ข้อมูลรับรอง > ระบบ > ข้อมูลรับรองส่วนกลาง และคลิก เพิ่มข้อมูลรับรอง.
- เลือก ชื่อผู้ใช้พร้อมรหัสผ่าน แบบนั้น ป้อนชื่อผู้ใช้ GitHub ของคุณ แล้ววางลงไป โทเค็น ป้อนลงในช่องรหัสผ่าน
- กำหนดรหัสประจำตัวที่ชัดเจนให้กับรายการ เช่น
github-patดังนั้นจึงสามารถระบุได้ในหน้าจอการกำหนดค่างาน - กลับไปทำงาน เปิด แหล่ง Code การจัดการ > กิตและเลือกข้อมูลประจำตัวใหม่จาก หนังสือรับรอง หล่นลง.
ข้อผิดพลาดการตรวจสอบสีแดงใต้ที่เก็บข้อมูล URL หายไปแล้วครั้งหนึ่ง Jenkins สามารถตรวจสอบสิทธิ์ได้ มีข้อควรระวังสองประการที่ควรจำไว้ ประการแรก โทเค็นจะหมดอายุ งานที่ทำงานได้อย่างน่าเชื่อถือมาหลายเดือนแล้วจู่ๆ ก็ล้มเหลวในขั้นตอนการตรวจสอบ มักเกิดจากโทเค็นหมดอายุมากกว่าที่คลังเก็บข้อมูลเสียหาย ประการที่สอง คีย์ SSH เป็นทางเลือกที่ใช้ได้ — เพิ่มคีย์ส่วนตัวเป็น ชื่อผู้ใช้ SSH พร้อมคีย์ส่วนตัว ข้อมูลประจำตัวและการใช้งาน git@github.com:owner/repo.git URL แบบฟอร์มแทนที่จะเป็นแบบฟอร์ม HTTPS
วิธีทริกเกอร์ Jenkins สร้างบิลด์อัตโนมัติด้วย GitHub Webhook
งานที่สร้างไว้ข้างต้นยังคงต้องเริ่มต้นด้วยตนเอง ซึ่งขัดกับจุดประสงค์ของการรวมระบบอย่างต่อเนื่อง เว็บฮุคช่วยอุดช่องว่างนั้นได้: GitHub ส่งคำขอ HTTP ไปยัง Jenkins ในทุกๆ ครั้งที่ผลักดัน และ Jenkins เริ่มการสร้างทันที
Jenkins ต้องสามารถเข้าถึงได้จาก GitHub จึงจะใช้งานได้ บนแล็ปท็อปที่ใช้งาน localhost:8080 ไม่ใช่ ดังนั้นโฮสต์ใดโฮสต์หนึ่งก็ได้ Jenkins ในที่สาธารณะ URL หรือเปิดเผยชั่วคราวผ่านบริการอุโมงค์ระหว่างการทดสอบ
- ติดตั้งปลั๊กอิน GitHub กลับไป จัดการ Jenkins > ปลั๊กอิน > ปลั๊กอินที่มีให้เลือก และติดตั้ง GitHubนี่เป็นการเพิ่มตัวเลือกทริกเกอร์ซึ่งปลั๊กอิน Git เพียงอย่างเดียวไม่มีให้
- เปิดใช้งานทริกเกอร์ในงานนั้น เปิดการตั้งค่างาน เลื่อนลงไปที่ สร้างทริกเกอร์และติ๊ก ตัวกระตุ้นฮุก GitHub สำหรับการตรวจสอบสถานะ GITScm.
- เพิ่ม webhook ใน GitHub ในที่เก็บข้อมูล ให้เปิด การตั้งค่า > เว็บฮุค > เพิ่มเว็บฮุค.
- ตั้งค่าเพย์โหลด URL เพื่อคุณ Jenkins ที่อยู่ตามด้วย
/github-webhook/เครื่องหมายทับท้ายมีความสำคัญ - ตั้งค่าประเภทเนื้อหา ไปยัง
application/jsonและเลือก แค่เหตุการณ์การผลักดันเท่านั้น. - บันทึกและทดสอบ GitHub ส่งข้อความ ping ทันที เครื่องหมายถูกสีเขียวอยู่ข้างใต้ สินค้าที่เพิ่งจัดส่ง วิธี Jenkins ยอมรับแล้ว
# Payload URL format for the GitHub webhook https://jenkins.example.com/github-webhook/ # Content type application/json # Verify from the Jenkins host that the endpoint answers curl -I https://jenkins.example.com/github-webhook/
ส่ง commit เพื่อยืนยันว่า loop ปิดลงแล้ว งานควรปรากฏใน build queue ภายในไม่กี่วินาทีโดยไม่ต้องดำเนินการใดๆ หากไม่มีอะไรเกิดขึ้น ให้เปิด webhook ใน GitHub และอ่านข้อความ สินค้าที่เพิ่งจัดส่ง รหัสตอบกลับ: 403 โดยปกติจะหมายถึง Jenkins การตั้งค่าความปลอดภัยจะบล็อกการเข้าถึงแบบไม่ระบุตัวตนไปยังปลายทาง ในขณะที่การหมดเวลาจะทำให้ GitHub ไม่สามารถเข้าถึงได้ Jenkins URL เลย
เมื่อการสร้างเริ่มขึ้นโดยอัตโนมัติแล้ว ปัญหาที่เหลืออยู่มักจะเป็นเพียงข้อผิดพลาดที่เกิดขึ้นซ้ำๆ เพียงไม่กี่อย่าง
ร่วมกัน Jenkins ข้อผิดพลาดและการแก้ไขปัญหาการผสานรวม GitHub
การบูรณาการที่ล้มเหลวเกือบทุกครั้งมักตกอยู่ในหนึ่งในประเภทด้านล่างนี้ และแต่ละประเภทก็มีอาการเฉพาะที่ชี้ตรงไปยังสาเหตุได้
- ไม่มีตัวเลือก Git ในส่วน Source Code การจัดการ: ปลั๊กอิน Git ไม่ได้ติดตั้งหรือไม่ได้โหลด โปรดติดตั้งใหม่จาก จัดการ Jenkins > ปลั๊กอิน, เริ่มต้นใหม่ Jenkinsและโหลดหน้าการตั้งค่างานใหม่อีกครั้ง
- ข้อความ “ไม่สามารถเชื่อมต่อกับที่เก็บข้อมูลได้” บนระบบสาธารณะ URL: Git หายไปจาก Jenkins โฮสต์ ติดตั้ง Git จากนั้นยืนยันด้วย
git --versionและบันทึกเส้นทางไว้ด้านล่าง จัดการ Jenkins > เครื่องมือ. - การตรวจสอบสิทธิ์ล้มเหลวในการเข้าถึงที่เก็บข้อมูลส่วนตัว: ขณะนี้กำลังใช้รหัสผ่านบัญชีอยู่ โปรดเปลี่ยนเป็นโทเค็นการเข้าถึงส่วนบุคคลตามที่อธิบายไว้ข้างต้น หรือเปลี่ยนไปใช้คีย์ SSH แทน
- การสร้างสิ่งก่อสร้างจะไม่เริ่มต้นหลังจากมีการกดดัน: อย่างใดอย่างหนึ่ง ตัวกระตุ้นฮุคของ GitHub หากไม่ได้เลือกช่องทำเครื่องหมาย หรือ GitHub ไม่สามารถติดต่อได้ Jenkins URLตรวจสอบบันทึกการส่ง webhook ในการตั้งค่าที่เก็บข้อมูล
- สร้างสาขาผิด: ตัวระบุสาขา ยังคงถือค่าเริ่มต้นอยู่
*/masterในขณะที่ที่เก็บข้อมูลใช้mainอัปเดตตัวระบุให้ตรงกัน - ระบบชำระเงินใช้งานได้เมื่อวาน แต่ใช้งานไม่ได้ในวันนี้: โทเค็นการเข้าถึงส่วนบุคคลหมดอายุแล้ว โปรดสร้างโทเค็นใหม่และอัปเดตข้อมูลประจำตัวที่บันทึกไว้
ยังตรวจสอบ: ดีที่สุด Jenkins ทางเลือก (โอเพ่นซอร์สและชำระเงิน) และ ไปป์ไลน์ CI/CD คำแนะนำทีละขั้นตอน ซึ่งต่อยอดจากความเชื่อมโยงที่สร้างขึ้นที่นี่
















