JenkinsをWindows Server 2012にインストールする方法


13

これは些細な質問のように聞こえるかもしれませんが、ここで何が起こっているのかを説明します。

  1. Jenkinsの最新バージョンをWindowsのネイティブインストーラーとして取得します(私の場合は1.491)
  2. Windows Server 2012(公式リリースイメージ、リリース候補なし)をセットアップし、すべての更新プログラムをインストールします
  3. Jenkinsのインストールを実行しようとしました。

インストールプロセスでは、サービスを開始しようとする部分を除き、すべて正常に機能しています。この時点で、システムサービスを開始するための十分な権限がないことが通知されます。これは問題なく2k8R2で機能しています。サーバーのインストール中に作成され、マシン上の唯一のユーザーである管理者としてログオンしています。

私が受け取る完全なメッセージは次のとおりです。

サービス 'Jenkins'(Jenkins)を開始できませんでした。システムサービスを開始するための十分な権限があることを確認します。

他の誰かがこれらの問題を抱えていますか?Server 2012の内部はインストールの方法を変更しており、Jenkinsインストーラーはそのためにビルドされていないと思います。

管理者を追加する必要があるグループを誰かが教えてくれたり、この問題の回避策を教えてくれたりすると、これは大いに役立ちます。

回答:


13

.net 3.5をインストールする必要があります(.net 4+がインストールされている場合でも)

これは、サーバーマネージャーを使用して行います。

  • ローカルサーバーを構成する
  • 役割と機能を追加する
  • 機能セクションが表示されるまで「次へ」をクリックします
  • .net 3.5チェックボックスをオンにします(適切な測定のためにサブアイテムもチェックしました)
  • 代替パスを指定する必要があるという警告が表示された場合、次のようにします。
    • Windowsインストールメディアを挿入します。
    • [代替ソースパスを指定]をクリックします
    • 入れDを:\ソース\ SXSをパスフィールドで([OK]をクリックします)
  • インストールをクリックします

これを行うと、msiインストーラーを介してJenkinsをインストールできるようになります。これで、Jenkinsサービスを正常に開始できるようになります。

私が考えて、インストールメディアがそれを「行方不明」されたため、ハング(それがバックグラウンドで実行されている)、なぜそれが実際にタイムアウトしているジェンキンスは3.5 .NETインストールしようとしますが、


元の問題を修正している、このヒントをありがとう...私は理由を知りませんが、.NET Framework 3.5のは、不足している唯一の要件であると考えられる
ハムスター

3

ついにやった!

.NET 3.5(Thankyou DarcyThomas)をインストールする必要があるだけでなく、インストールディレクトリにも構成ファイルを追加する必要があることがわかりました。

次の内容のjenkins.exe.configというファイルをインストールディレクトリに追加します。

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

サービスを開始すると、Windowsはインターネットにアクセスして証明書をダウンロードし、実行可能ファイルの署名者を確認しようとします。したがって、サーバーがインターネットにアクセスできない私の場合、失敗します。ここで解決策を見つけました

これにより、他のすべての人が私が経験した苦痛の時間を節約できることを願っています。乾杯。


Windows Server 2012のWichエディションを実行していましたか?私は私の標準版でそれをする必要はありませんでした。
ハムスター

Windows Server 2012 Datacentre-エディション自体ではなく、主にネットワークアーキテクチャが原因だと考えていましたが。
ベンカル

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

[OK]を...これが行われている
Serjセーガン

2
コピー/貼り付けの回答は、適切に入手/引用されていない場合は一般的に推奨されません(盗作に該当します)。
ashes999

0

代わりに、Windowsの起動時にのみ実行されるWindowsスケジュールタスクを作成します。Windowsの一部のディストリビューションでは、Jenkinsをサービスとして実行することは、そのままでは機能しません。このアプローチはハックですが、機能します。複数のWindowsノードで使用しました。

個人的には、Windows上のJenkinsのドキュメントには、この点でさらに磨きが必要だと思います。おそらくこれについてももう少し作業が必要です...

これがお役に立てば幸いです。


同じことを考えて、今このように処理しています。ただし、このトピックに慣れていない人にも簡単な紹介をしたいと思います。ジェンキンスが働いていたらいいと思います。私は彼らにこの問題を知ってもらうか、自分で関与するつもりだと思います。しかし、ヒントをありがとう。
HaMster

より良い解決策が見つかった場合、または最終的にそれらを修正してもらう場合は、書き直してください。私は以前の仕事で2年以上これと一緒に暮らす必要があり、それは迷惑でした。多くの場合、JNLPインストーラーはそのままでは機能しません(これはその1つです)。Windowsの愚かなDLLを使用しようとする代わりに、...サービスとして追加するか、スケジュールされたジョブを作成するコマンドラインスクリプトを呼び出す必要があります。これはかなり簡単だと思います。
カールスプリング

Jenkins-Homepageのダウンロードボードで提供されるWindowsのネイティブインストーラーで問題が発生したことはありません。最初にインストールを正常に完了しなかったのは、異なるシナリオで何度か試してみた場合でも、上記の場合です。私が言ったように、これはServer 2012固有の問題だと思います
-HaMster

ああ、毎回Windows Server 2008でこれを見てきました。確かに。
カールスプリング

これは、Windows Serverは、インターネット接続に問題がないのです
Serjセーガン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.