วิธีการติดตั้ง Jenkins บน Windows Server 2012


13

นี่อาจฟังดูเหมือนคำถามเล็กน้อย แต่นี่คือสิ่งที่เกิดขึ้น:

  1. ฉันคว้า Jenkins รุ่นล่าสุดเป็นตัวติดตั้งพื้นฐานสำหรับ Windows (1.491 ในกรณีของฉัน)
  2. ฉันตั้งค่า Windows Server 2012 (อิมเมจรีลีสอย่างเป็นทางการไม่มีตัวเลือกรีลีส) และติดตั้งการอัพเดททั้งหมด
  3. ฉันพยายามเรียกใช้การติดตั้ง Jenkins

ทุกอย่างทำงานได้ดีในกระบวนการติดตั้งยกเว้นส่วนที่พยายามเริ่มบริการ ณ จุดนี้ฉันได้รับแจ้งว่าฉันไม่มีสิทธิ์เพียงพอที่จะเริ่มบริการระบบ สิ่งนี้ได้ทำงานกับ 2k8R2 โดยไม่มีปัญหาใด ๆ ฉันเข้าสู่ระบบในฐานะผู้ดูแลระบบซึ่งสร้างขึ้นระหว่างการติดตั้งเซิร์ฟเวอร์และเป็นผู้ใช้รายเดียวในเครื่อง

ข้อความทั้งหมดที่ฉันได้รับคือ:

บริการ 'เจนกินส์' (เจนกินส์) ไม่สามารถเริ่มต้นได้ ตรวจสอบว่าคุณมีสิทธิ์เพียงพอที่จะเริ่มบริการระบบ

มีใครอีกที่มีปัญหาเหล ฉันเดาว่า internals ของ Server 2012 ได้เปลี่ยนวิธีการติดตั้งและตัวติดตั้ง Jenkins ไม่ได้สร้างขึ้นมาเพื่อสิ่งนั้น

หากใครสามารถบอกฉันได้ว่าฉันต้องเพิ่มกลุ่มผู้ดูแลระบบกลุ่มใดหรือให้โอกาสแก้ไขปัญหานี้กับฉันสิ่งนี้จะช่วยได้มาก

คำตอบ:


13

คุณต้องติดตั้ง. net 3.5 (แม้ว่าคุณจะติดตั้ง. net 4+)

คุณทำได้ผ่านตัวจัดการเซิร์ฟเวอร์:

  • กำหนดค่าเซิร์ฟเวอร์ภายใน
  • เพิ่มบทบาทและคุณสมบัติ
  • คลิกถัดไปจนกว่าคุณจะไปที่ส่วนคุณสมบัติ
  • ทำเครื่องหมายที่ช่อง. net 3.5 (ฉันตรวจสอบรายการย่อยเพื่อการวัดที่ดีเช่นกัน)
  • หากคุณได้รับคำเตือนเกี่ยวกับการระบุเส้นทางอื่นให้ทำดังนี้:
    • ใส่สื่อการติดตั้ง windows ของคุณ
    • คลิกระบุพา ธ ต้นทางอื่น
    • วางD: \ sources \ sxsในฟิลด์พา ธ (คลิกตกลง)
  • คลิกติดตั้ง

เมื่อคุณทำสิ่งนี้แล้วคุณจะสามารถติดตั้ง Jenkins ผ่านตัวติดตั้ง msi ได้ จะสามารถเริ่มบริการ Jenkins ได้สำเร็จ

ฉันคิดว่าเจนกินส์พยายามที่จะติดตั้ง. net 3.5 แต่เนื่องจากสื่อการติดตั้งนั้น 'ขาด' มันแฮงค์ (เนื่องจากมันทำงานในพื้นหลัง) และนั่นคือสาเหตุที่มันหมดเวลาจริง


ผมไม่ทราบว่าทำไม แต่ .NET Framework 3.5 น่าจะเป็นข้อกำหนดเพียงอย่างเดียวที่ขาดหายไป ... ขอขอบคุณสำหรับคำแนะนำนี้ว่าจะแก้ไขปัญหาเดิม
หนูแฮมสเตอร์

3

ฉันได้ทำมันในที่สุด!

ไม่เพียง แต่ฉันต้องติดตั้ง. NET 3.5 (ขอบคุณ DarcyThomas) แต่ฉันก็พบว่าฉันจำเป็นต้องเพิ่มไฟล์การกำหนดค่าลงในไดเรกทอรีการติดตั้งเช่นกัน

เพิ่มไฟล์ชื่อ jenkins.exe.config ด้วยเนื้อหาต่อไปนี้ในไดเร็กทอรีการติดตั้ง:

<configuration> 
  <runtime> 
     <generatePublisherEvidence enabled="false"/> 
  </runtime> 
</configuration> 

ปรากฎว่าเมื่อเริ่มบริการ Windows พยายามที่จะเข้าถึงอินเทอร์เน็ตเพื่อดาวน์โหลดใบรับรองเพื่อยืนยันผู้ลงนามในการปฏิบัติการ ดังนั้นในกรณีของฉันที่เซิร์ฟเวอร์ไม่มีการเข้าถึงอินเทอร์เน็ตก็ล้มเหลว ผมพบว่าวิธีการแก้ปัญหาที่นี่

ฉันหวังว่านี่จะช่วยให้คนอื่นไม่ต้องเจ็บปวดอีกต่อไป ไชโย


คุณใช้ Windows Server 2012 รุ่นใด ฉันไม่เคยทำแบบนั้นกับ Standard edition เลย
HaMster

Windows Server 2012 Datacentre - แม้ว่าฉันคิดว่ามันเป็นสถาปัตยกรรมเครือข่ายของเราที่ทำลายสิ่งต่างๆมากกว่าการเผยแพร่ด้วยตัวเอง
Ben Cull

2

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

คุณสามารถลองปิดการใช้งานการตรวจสอบใบรับรองด้วยวิธีนี้ (แม้ว่าฉันไม่แน่ใจว่าจะใช้การได้หรือไม่)

1) สร้างไดเรกทอรี: C:\Program Files (x86)\Jenkins

2) สร้างไฟล์ข้อความชื่อ jenkins.exe.config

3) เพิ่มข้อความต่อไปนี้ในไฟล์ข้อความ:

<configuration> 
  <runtime> 
     <generatePublisherEvidence enabled="false"/> 
  </runtime> 
</configuration>

4) เรียกใช้การตั้งค่าเป็น Administrator


คุณไม่ควรโพสต์ลิงก์จริงๆแค่คัดลอกและวางคำตอบอื่น ๆ ของคุณที่นี่
BenjiWiebe

ตกลง ... เสร็จแล้ว
Serj Sagan

2
คำตอบการคัดลอก / วางถูกทำให้หมดกำลังใจหากไม่ได้มา / อ้างอิงอย่างเหมาะสม (อยู่ภายใต้การลอกเลียนแบบ)
ashes999

0

สร้างงานตามกำหนดเวลา Windows ที่ดำเนินการเมื่อ Windows เริ่มต้นเท่านั้น ภายใต้การแจกแจงบางอย่างของ Windows การใช้งาน Jenkins ในฐานะบริการก็ไม่ได้ทำงานนอกกรอบ วิธีนี้เป็นวิธีการแฮ็ค แต่ใช้งานได้ ฉันใช้มันกับหลาย ๆ โหนดใน Windows

โดยส่วนตัวฉันคิดว่าเอกสาร Jenkins ใน Windows ต้องการขัดเพิ่มเติมในเรื่องนี้ อาจใช้งานได้ดีกว่านี้เล็กน้อยเช่นกัน ...

ฉันหวังว่านี่จะช่วยได้.


ฉันคิดในสิ่งเดียวกันและฉันจัดการด้วยวิธีนี้ในขณะนี้ อย่างไรก็ตามฉันต้องการให้บางคนใหม่ในหัวข้อบทนำอย่างรวดเร็วและมันจะดีถ้าเจนกินส์ทำงาน ฉันเดาว่าฉันจะทำให้พวกเขาตระหนักถึงปัญหานี้หรือมีส่วนร่วมกับตัวเอง แต่ขอบคุณสำหรับคำใบ้
HaMster

กรุณาเขียนกลับมาหากพบวิธีแก้ปัญหาที่ดีกว่าหรือในที่สุดคุณก็สามารถแก้ไขได้ ฉันต้องอยู่กับสิ่งนี้เป็นเวลานานกว่าสองปีในงานก่อนหน้าของฉันและมันก็น่ารำคาญ ตัวติดตั้ง JNLP ไม่ได้ผลจริงในหลายกรณี (นี่เป็นหนึ่งในนั้น) ฉันคิดว่าแทนที่จะพยายามใช้ DLL ที่โง่ของ Windows พวกเขาควรจะ ... เรียกใช้สคริปต์บรรทัดคำสั่งที่อาจเพิ่มเป็นบริการหรือสร้างงานที่กำหนดเวลาไว้ ฉันเชื่อว่าสิ่งนี้ควรจะค่อนข้างง่าย
carlspring

ฉันไม่เคยมีปัญหาใด ๆ กับโปรแกรมติดตั้งบน Windows พื้นเมืองที่มีให้ดาวน์โหลดบนกระดานที่เจนกินส์-โฮมเพจ ครั้งแรกที่ฉันยังไม่เสร็จสิ้นการติดตั้งสำเร็จในกรณีที่อธิบายไว้ข้างต้นแม้ว่าฉันจะลองหลายครั้งด้วยสถานการณ์ที่แตกต่างกัน ดังนั้นอย่างที่ฉันบอกว่าฉันเดาว่านี่เป็นปัญหาเฉพาะของ Server 2012
HaMster

โอ้ฉันเคยเห็นสิ่งนี้ใน Windows Server 2008 ทุกครั้ง ได้อย่างแน่นอน
carlspring

เป็น Windows Server ที่ไม่มีปัญหาการเข้าถึงอินเทอร์เน็ต
Serj Sagan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.