Java で作るカスタム GitHub Actions by Tetsuya Morimoto

JJUG CCC 2022 Spring
採択
2022/06/19 10:25〜
Track C (#jjug_ccc_c)
Video:15min + Live:10min
Beginner DevOps Youtube公開予定 メディア取材可 BeginnerSpeaker

Java で作るカスタム GitHub Actions

Tetsuya Morimoto
2

プレゼンタイプ / Presentation Type [BeginnerSpeaker]:
レベル / Level [Beginner]:
カテゴリー / Categories [DevOps / Tools]:
後日セッション動画の公開を希望する / Agree to publish your session video [Yes]:
メディア取材可否 / Can you respond to the interview? [Yes]:

概要 / Abstract:

ヌーラボ社の Backlog と GitHub 連携を行うためのインテグレーションツールを GitHub Actions 上で実行するカスタムアクションとして開発しました。実際のツールは次になります。

次の2つの機能があります。

  • Pull Request (以下 PR) が作成されたときにコミットメッセージからイシュー番号を取得して、PR のリンク情報を Backlog のイシューに書き込む
  • コミットメッセージからイシュー番号を取得して、コミットの情報を Backlog のイシューのコメントに書き込む

汎用的な CLI ツールとして設計しているため、要望次第で他の機能を追加していくことも検討しています。

機能紹介 (英語)

一般論として Java はカスタムアクションを実装する言語としては不向きです。しかし、不可能ではありません。GitHub Actions が提供する3つのカスタムアクションの1つである Docker コンテナーアクションを用い、Java アプリケーションから Docker イメージをビルドして、GitHub Packages から提供することで簡単に任意の処理を Java で実装できます。本セッションでは、カスタムアクションを Java で開発する上で必要になる知識や要素技術について私の開発経験をお話しします。

  • GitHub Actions とカスタムアクション
  • Docker container action によるカスタムアクション
  • Java の CLI アプリケーションと Docker container action の境界
  • Java アプリケーションを Docker イメージとしてビルド
  • カスタムアクションの開発、テストやデバッグのコツ

カスタムアクションを作ったことがない開発者や GitHub Actions で何ができるかを知りたいといった開発者向けにも参考になると思います。