私はこのガイドに従って、サービスとしてWindows8にjenkinsスレーブをインストールしました。
デスクトップと対話するジョブを実行する必要があります(ブラウザーを開くアプリケーションを実行するなど)。そのため、スレーブをサービスとしてインストールした後(マスターからダウンロードしたjnlpを実行)、サービスの「ログオン」を「ディスプレイとの対話を許可する」に変更しました。
何らかの理由で、指定されたユーザーとしてサービスを実行することが推奨されている場合でも、「ローカルシステムアカウント」に対してこれを有効にすることしかできません。ジェンキンス。
しかし、ジョブを実行しても何も起こらず、ブラウザが開かれません。代わりにサービスを停止し、jnlpファイルを介してスレーブを起動すると、ジョブは正常に実行されます。ブラウザーが開きます。
Jenkins Windowsスレーブをサービスとして実行しているときに、デスクトップを操作する運があった人はいますか?
サービスはVista以降セッション0で実行され、最初のユーザーはセッション1になります。したがって、これ以上対話することはできません。これはセッション0分離と呼ばれます。
Microsoftは、これを here および here と説明しています。 IPCを使用してサービスと通信する2番目のプログラムを使用する必要があります。
これを解決するには、ここで説明するようにWindows自動ログオンを設定します: https://serverfault.com/questions/269832/windows-server-2008-automatic-user-logon-on-power-on/606130#6061
次に、Jenkinsスレーブの起動バッチを作成し(Jenkinsディレクトリに配置します)、デスクトップでコンソールを起動し、GUIジョブを実行できるようにします。
Java -jar slave.jar -jnlpUrl http://{Your Jenkins Server}:8080/computer/{Your Jenkins Node}/slave-agent.jnlp
(http:// {Your Jenkins Server}:8080/jnlpJars/slave.jarからダウンロードできるslave.jar)
編集:黒いスクリーンショットを取得している場合(Seleniumまたはたとえば、Sikuli)は、通常のXボタンでRDPセッションを閉じる代わりに、リモートデスクトップを切断するバッチファイルを作成します。
%windir%\system32\tscon.exe %SESSIONNAME% /dest:console
このサービスを使用してWindowsでJenkinsを実行する際に多くの問題が発生しました。代わりに、サービスを無効にしてCMDから実行します。
したがって、CMD
を開きます。
cd C:\Program Files (x86)\Jenkins
Java -Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar
jenkins.war --httpPort=9091
私のJenkinsサービスはユーザー「jenkins」として実行され、デスクトップフォルダを次の場所に作成するだけでした:C:\ Windows\system32\config\systemprofile\desktopそして64ビットWindowsの場合もC:\ Windows\SysWOW64\config\systemprofile\desktop-その後、完全に実行されます。
サービス(@ TestNode)をチェックして、「インタラクティブサービス検出」サービスが開始されていることを確認してください。デフォルトでは、スタートアップの種類は手動に設定されています。自動に設定することもできます。
サービスの開始後、テストノードでテストを実行すると、次のようなメッセージが表示されます。
それをクリックして、メッセージの表示を選択します
あなたはそこで活動が起こるのを見るでしょう。これがお役に立てば幸いです:D
注:他のアカウントでログインし、対話型サービス検出プロンプトを表示できない場合は、サービスを再起動してください。
Javaスレーブサーバーを起動時に直接実行し、サーバーがダウンした場合に監視および再起動するために何かを使用することを検討してください(例: Kiwi Reseter )。
Desktop
フォルダーが次のように作成されていることを確認してください。
%WINDOWS%/System32/config/systemprofile/Desktop
%WINDOWS%/SystemWOW64/config/systemprofile/Desktop
一部のJava Software as a Serviceを実行している間は、これらの存在が必須になる場合があります。