TrivyをJenkinsから実行してみよう

TrivyをJenkinsから実行してみよう

 

前回の投稿では、Trivyをコマンドラインから実行しましたが、

今回はCIツールであるJenkinsからTrivyを実行してみたいと思います。

 

Jenkinsジョブの作成

まずは、Jenkinsジョブを作成します。今回はパイプラインジョブを選択します。

 

パイプラインコードの入力

次に、Trivyを実行するコマンドをパイプラインコードに入力します。

  • パイプラインコード

パイプラインコード以外の入力/選択項目は全てデフォルトのままでOKです。

前回と同様に「nginx:1.19.0」をスキャンしてみます。

※実際の運用では、ジョブ内でDocker buildしたコンテナイメージをスキャンする運用になると思います。

ジョブの実行

では、実行してみましょう。

あれっ、ジョブが失敗してしまいましたね。ログを見てみましょう。

 

trivyコマンドが見つからないことが原因のようですね。

 

Trivyはデフォルトでは、

/usr/local/bin

にインストールされるので、jenkinsアカウントのPATHに上記ディレクトリを追加する必要があるようです。

 

Pathの追加

jenkinsアカウントのPATHにディレクトリを追加するには

Jenkinsの管理 -> システムの設定 -> グローバルプロパティ

にて、

  • キー:PATH+EXTRA
  • 値:追加したディレクトリ

を設定するのが一番簡単な方法です。

ジョブの再実行

では、PATHの追加を行った後、早速ジョブを実行してみましょう。

今度は、ジョブが成功しましたね。

 

スキャン結果の確認

コンソールログを確認してみると、

Trivyをコマンドで実行したときと同様のスキャン結果が表示されていることが確認できます。

無事、JenkinsジョブからTrivyを実行できましたね。

 

実際の運用では

実際の運用では、スキャン結果に応じて、ジョブを成功にしたり、失敗にしたりと制御を入れることになると思います。

そのあたりの実装方法については、

Trivy公式ページの「exit codeの説明」を参考に実装してみると良いと思います。


コメントを残す

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