4
1

More than 3 years have passed since last update.

DockleのGitHub Action作った

Last updated at Posted at 2020-08-18

KubeConでも話題に上がっていたTrivyやDockleはもうみなさんご存知ですよね?w
CI/CDのサービスとしてGitHub Actionsを利用しているのですが、もっと手軽にTrivyやDockleを使用したいなと思っていました。
Trivyの方は公式でtrivy-actionがありますが、Dockleはなかったので作成してみました。
リポジトリはこちら -> dockle-action
trivy-actionに合わせてdockle-actionとネーミングしてみました (パクリとは言わせないぞ

公開しようとしたらMarketplaceへの公開許可がいるようで、さらに管理者権限ないとダメみたいなので、まだ公開できていません
かっさらうのは今がチャンス

GitHub Actions Marketplaceに公開しました :tada::confetti_ball:
https://github.com/marketplace/actions/runs-dockle

actionを作成する上でのハマりポイント

以前にいくつかTypeScriptでactionを作成したことがあるのですが、今回はdockerを使用してactionを作ることにしました。そこでハマったポイントを紹介したいと思います。
最初は以下のように書いていました。

runs:
  using: 'docker'
  image: 'docker://goodwithtech/dockle:latest'
  args:
    - '--exit-code ${{ inputs.exit-code }}'
    - '--exit-level ${{ inputs.exit-level }}'
    - '${{ inputs.image }}'

これでGitHub Actions上でテストしたら flag provided but not defined: -exit-code 0 というエラーメッセージがdockleが出力しました。こちらでGitHub Actionsのエラーの全容を見ることができます。
なぜエラーになったかまだわかっていないのですが、trivy-actionを参考にさせていただき以下のように修正してみました。具体的にはargsパラメータに定義しているフラグと値の間をスペースから=に変更しました。
そしたらテストは無事パスしました。こちらから確認できます。
これからactionを作成する方は気をつけてください。

runs:
  using: 'docker'
  image: 'docker://goodwithtech/dockle:latest'
  args:
    - '--exit-code=${{ inputs.exit-code }}'
    - '--exit-level=${{ inputs.exit-level }}'
    - '${{ inputs.image }}'
4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1