Cách cài đặt Jenkins trên Windows Server 2012


13

Điều này nghe có vẻ như một câu hỏi tầm thường nhưng đây là những gì đang xảy ra:

  1. Tôi lấy phiên bản mới nhất của Jenkins làm trình cài đặt gốc cho Windows (trong trường hợp của tôi là 1.491)
  2. Tôi đã thiết lập Windows Server 2012 (hình ảnh phát hành chính thức, không có ứng cử viên phát hành) và cài đặt tất cả các bản cập nhật
  3. Tôi cố gắng chạy cài đặt Jenkins.

Mọi thứ đều hoạt động tốt trong quá trình cài đặt ngoại trừ phần cố gắng khởi động dịch vụ. Tại thời điểm này, tôi nhận được thông báo rằng tôi không có đủ đặc quyền để bắt đầu dịch vụ hệ thống. Điều này đã hoạt động trên 2k8R2 mà không có vấn đề gì. Tôi đăng nhập với tư cách Quản trị viên được tạo trong quá trình cài đặt máy chủ và là người dùng duy nhất trên máy.

Thông điệp đầy đủ tôi nhận được là:

Dịch vụ 'Jenkins' (Jenkins) không khởi động. Xác minh rằng bạn có đủ đặc quyền để bắt đầu dịch vụ hệ thống.

Có ai khác có những vấn đề này? Tôi đoán rằng các phần bên trong của Server 2012 đã thay đổi cách cài đặt và trình cài đặt Jenkins không được xây dựng cho điều đó.

Nếu bất cứ ai có thể cho tôi biết tôi phải thêm quản trị viên vào nhóm nào, hoặc có thể giúp tôi giải quyết vấn đề này, điều này sẽ giúp ích rất nhiều.

Câu trả lời:


13

Bạn cần cài đặt .net 3.5 (Ngay cả khi bạn đã cài đặt .net 4+)

Bạn làm điều này thông qua Trình quản lý máy chủ:

  • Cấu hình máy chủ cục bộ
  • Thêm vai trò và tính năng
  • Nhấp vào tiếp theo cho đến khi bạn đến phần tính năng
  • Chọn hộp kiểm .net 3.5 (Tôi cũng đã kiểm tra các mục phụ để có biện pháp tốt)
  • Nếu bạn nhận được cảnh báo về việc cần Chỉ định đường dẫn thay thế, thì:
    • Chèn phương tiện cài đặt windows của bạn.
    • Nhấp vào Chỉ định đường dẫn nguồn thay thế
    • Đặt D: \ nguồn \ sxs vào trường đường dẫn (nhấp Ok)
  • Nhấp vào Cài đặt

Một khi bạn đã làm điều này, bạn sẽ có thể cài đặt Jenkins thông qua trình cài đặt msi. Nó sẽ có thể bắt đầu thành công dịch vụ Jenkins ngay bây giờ.

Tôi nghĩ Jenkins cố gắng cài đặt .net 3.5, nhưng vì phương tiện cài đặt bị 'thiếu' nên nó bị treo (vì nó đang chạy trong nền) và đó là lý do tại sao nó thực sự hết thời gian


Tôi không biết tại sao, nhưng .NET Framework 3.5 dường như là yêu cầu duy nhất còn thiếu ... Cảm ơn bạn vì gợi ý này, đó là cách khắc phục vấn đề ban đầu
HaMster

3

Cuối cùng tôi cũng đã làm được!

Tôi không chỉ cần cài đặt .NET 3.5 (Thankyou DarcyThomas) mà tôi còn phát hiện ra rằng tôi cũng cần thêm một tệp cấu hình vào thư mục cài đặt.

Thêm một tệp có tên jenkins.exe.config với các nội dung sau vào thư mục cài đặt:

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

Hóa ra khi bắt đầu dịch vụ, Windows cố gắng truy cập internet để tải xuống một chứng chỉ để xác nhận người ký tên thực thi. Vì vậy, trong trường hợp của tôi khi máy chủ không có quyền truy cập internet, nó sẽ thất bại. Tôi tìm thấy giải pháp ở đây .

Tôi hy vọng điều này sẽ cứu những người khác những giờ đau đớn tôi vừa trải qua. Chúc mừng.


Phiên bản Windows Server 2012 bạn đang chạy? Tôi không bao giờ phải làm điều đó trên phiên bản Tiêu chuẩn của tôi.
HaMster

Windows Server 2012 Datighborre - Mặc dù tôi nghĩ rằng chủ yếu là kiến ​​trúc mạng của chúng tôi đã phá vỡ mọi thứ thay vì chính phiên bản.
Ben Cull

2

Tôi đã tìm thấy một giải pháp dựa trên câu trả lời này của Jan Vấn đề là Windows đang tìm kiếm chứng chỉ cho dịch vụ và máy chủ của bạn không có quyền truy cập Internet. Tùy chọn tốt nhất của bạn là cho phép truy cập Internet vào máy chủ để cài đặt Jenkins. Bạn sẽ không cần nó sau khi Jenkins được cài đặt.

Bạn cũng có thể thử vô hiệu hóa kiểm tra chứng chỉ theo cách này (mặc dù tôi không chắc liệu nó có hoạt động không.)

1) Tạo thư mục: C:\Program Files (x86)\Jenkins

2) Tạo một tệp văn bản có tên jenkins.exe.config

3) Thêm văn bản sau vào tệp văn bản:

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

4) Chạy thiết lập như một Administrator


Bạn thực sự không nên đăng liên kết, làm thế nào về chỉ sao chép và dán câu trả lời khác của bạn ở đây?
BenjiWiebe

Ok ... điều này đã được thực hiện
Serj Sagan

2
Các câu trả lời sao chép / dán thường không được khuyến khích nếu chúng không có nguồn gốc / trích dẫn đúng (nó thuộc đạo văn).
tro999

0

Thay vào đó, hãy tạo một tác vụ theo lịch trình Windows được thực thi khi Windows chỉ khởi động. Theo một số bản phân phối của Windows, việc chạy Jenkins như một dịch vụ đơn giản là không hoạt động. Cách tiếp cận này là một hack, nhưng nó hoạt động. Tôi đã sử dụng nó trên nhiều nút Windows.

Cá nhân tôi nghĩ rằng các tài liệu Jenkins trên Windows cần thêm một chút đánh bóng về vấn đề này. Có lẽ một chút công việc về điều này cũng ...

Tôi hi vọng cái này giúp được.


Tôi đã nghĩ về điều tương tự và bây giờ tôi xử lý nó theo cách này. Tuy nhiên tôi muốn cung cấp cho một số người mới về chủ đề giới thiệu nhanh chóng và thật tuyệt nếu Jenkins làm việc. Tôi đoán tôi sẽ làm cho họ nhận thức được vấn đề này hoặc tự mình tham gia. Nhưng cảm ơn bạn đã gợi ý.
HaMster

Xin vui lòng, viết lại, nếu một giải pháp tốt hơn được tìm thấy, hoặc nếu cuối cùng bạn nhận được chúng để sửa lỗi này. Tôi đã phải sống với điều này trong hơn hai năm tại công việc trước đây của tôi và điều đó thật khó chịu. Trình cài đặt JNLP không thực sự hoạt động tốt trong nhiều trường hợp (đây là một trong số đó). Tôi nghĩ rằng thay vì họ cố gắng sử dụng các DLL ngu ngốc của Windows, họ nên ... gọi một tập lệnh dòng lệnh thêm nó dưới dạng dịch vụ hoặc tạo một công việc theo lịch trình. Tôi tin rằng điều này sẽ khá dễ dàng.
con

Tôi chưa bao giờ có bất kỳ vấn đề nào với trình cài đặt gốc trên các cửa sổ được cung cấp trên bảng tải xuống tại Jenkins-Trang chủ . Lần đầu tiên tôi chưa hoàn thành việc cài đặt thành công là trong trường hợp được mô tả ở trên, ngay cả khi tôi đã thử nó với nhiều kịch bản khác nhau. Vì vậy, như tôi đã nói, tôi đoán đây là sự cố cụ thể của Máy chủ 2012
HaMster

Ồ, tôi đã thấy điều này trên Windows Server 2008 mỗi lần. Chắc chắn.
carlspring

Đó là một Máy chủ Windows không gặp sự cố truy cập Internet
Serj Sagan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.