Jenkinsのプラグインにログを埋めてみる

Jenkinsプラグインのエラーがなかなかわからなかった(こちら)のでとりあえずログだしするために微妙に改造。

対象はssh-agent。

とりいそぎレポジトリからクローン

STSにインポートしたかったけどMavenのライフサイクル周りが色々エラーを出していたのでVSCode(実質ターミナルしか使っていないのでコマンドラインと同じ程度)で作業。

Java/Mavenもなかったりパス通っていなかったのでダウンロード&パス通し(こちらの感じ)

C:\Users\kitam\git\ssh-agent-plugin> mvn install  

おもむろにパッケージ化したくて上記コマンドを打ったがテストでひっかかった。

とりいそぎログ出しが目標なのでテストケースをコメントアウト(クラスは残し殻だけの状態)し再度実行。

targetディレクトリにssh-agent.hpiができている

これをジェンキンス管理画面のプラグイン->高度な設定->ファイルを指定->デプロイ

でインストールできることを確認

とりあえず動くこと確認したので次はログの埋め込み。

            launcher.launch().stdout(listener.getLogger()).cmds("id").quiet(true).start().joinWithTimeout(1, TimeUnit.MINUTES, listener);
            launcher.launch().stdout(listener.getLogger()).cmds("env").quiet(true).start().joinWithTimeout(1, TimeUnit.MINUTES, listener);
            int status = launcher.launch().stdout(listener.getLogger()).cmds("ssh-agent", "-k").quiet(true).start().joinWithTimeout(1, TimeUnit.MINUTES, listener);
            listener.getLogger().println("status: " + status);

hudson.Launcherやhudson.model.TaskListenerにログ出し機能、パイプ機能的なものがあるので適宜埋め込んでもう一回ビルド~デプロイ。

(デフォルト設定だと?)管理画面のコンソールに出力される。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です