JenkinsのVncRecorder Pluginを使ってみます。
Ubuntu 14.04で動作させています。
Debian 8ではjenkinsユーザをvideoグループに追加する必要があるようです。
Table of Contents
2 VncRecorder Pluginのインストール
プラグインの管理画面からインストールします。
Jenkinsの管理 -> プラグインの管理 -> 利用可能
3 pyvnc2swfのインストール
VncRecorder PluginはMaster側のvnc2swfコマンドでVNCサーバの画面を録画するので、Master側のマシンにpyvnc2swfをインストールします。
$ sudo apt-get install -y pyvnc2swf
上記に加え、Debian 8ではjenkinsユーザをvideoグループに追加する必要があります。
追加後にjenkinsを再起動します。
$ sudo gpasswd -a jenkins video
$ sudo systemctl restart jenkins.service
4 システムの設定
システムの設定画面でVncRecorderのパスを設定します。
デフォルトでは/Set/your/path/for/vnc2swfになっているので変更が必要です(pyvnc2swfを先にインストールした場合は適切なパスになってるかもしれません)。
Jenkinsの管理 -> システムの設定 -> VncRecorder
5 ジョブの設定
ジョブの設定画面でvnc2swfのオプションを設定します。
Xvnc Pluginで動的にディスプレイ番号を設定している場合は$DISPLAYでディスプレイ番号を取得する必要があります。
Slaveのホスト名がslaveの場合は以下で接続できます。
slave$DISPLAY
Slave側の画面を録画する場合はSlave側で使っているパスワードファイルをMaster側のvnc2swfに渡すようにして下さい(パスワード文字列が同じでも異なるパスワードファイルになるようです)。
6 ジョブの実行
コンソール出力で以下のようなログが出力されます。
Video from 2015-06-23 T 04:08:33 to 2015-06-23 T 04:10:13
7 成果物
動画を保存したswfファイルと動画表示用ページのHTMLが生成されます。
動画表示ページは以下の通りになりました。動画を進めていくと、GUIアプリケーションのウィンドウが表示されます。