15

このガイドに従って、サービスとして Windows 8 にジェンキンス スレーブをインストールしました。

https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Windows+service#InstallingJenkinsasaWindowsservice-InstallSlaveasaWindowsservice%28require.NET2.0framework%29

デスクトップとやり取りするジョブを実行する必要があります (ブラウザを開くアプリケーションを実行するなど)。そのため、スレーブをサービスとしてインストールした後 (マスターからダウンロードした jnlp を実行)、「ログオン」サービスを「ディスプレイとの対話を許可」に変更しました。

何らかの理由で、指定されたユーザーとしてサービスを実行することをお勧めしますが、「ローカル システム アカウント」に対してのみこれを有効にすることができます。ジェンキンス。

しかし、ジョブを実行しても何も起こらず、ブラウザーは開かれません。代わりにサービスを停止し、jnlp ファイルを介してスレーブを起動すると、ジョブは正常に実行されます - ブラウザが開きます。

ジェンキンスのWindowsスレーブをサービスとして実行しているときに、デスクトップとやり取りできた人はいますか?

4

7 に答える 7

8

それを解決するには、まずここで説明するように Windows 自動ログオンを作成します: https://serverfault.com/questions/269832/windows-server-2008-automatic-user-logon-on-power-on/606130#606130

次に、Jenkins エージェントの起動バッチを作成します (Jenkins ディレクトリに配置します)。これにより、デスクトップでエージェント コンソールが起動し、Jenkins が Windows GUI と対話できるようになります。

java -jar slave.jar -jnlpUrl http://{Your Jenkins Server}:8080/computer/{Your Jenkins Node}/slave-agent.jnlp

(slave.jar は http://{Your Jenkins Server}:8080/jnlpJars/slave.jar からダウンロードできます)

編集 :黒いスクリーンショットが表示される 場合(たとえば、Selenium または Sikuli を使用している場合)、通常の X ボタンで RDP セッションを閉じる代わりに、リモート デスクトップを切断するバッチ ファイルを作成します。

%windir%\system32\tscon.exe %SESSIONNAME% /dest:console 
于 2014-06-19T08:37:17.217 に答える
0

私のJenkins Serviceはユーザー「jenkins」として実行され、C:\Windows\system32\config\systemprofile\desktopにデスクトップフォルダーを作成するだけで、64ビットWindowsの場合はC:\Windows\SysWOW64\config\systemprofile\にもありますデスクトップ- その後、完全に動作します。

于 2014-02-23T21:08:33.170 に答える
0

Desktopフォルダーが次のように作成されていることを確認します。

  • %WINDOWS%/System32/config/systemprofile/Desktop
  • %WINDOWS%/SystemWOW64/config/systemprofile/Desktop

一部のJavaソフトウェアをサービスとして実行している場合、それらの存在が必須になる場合があります。

于 2015-05-13T13:14:07.087 に答える