はじめに
最近では、コードを自動でビルド・テスト・デプロイする「CI/CD」が開発現場で当たり前になってきました。
その中でも特に注目されているのが、GitHubが提供する自動化ツール 「GitHub Actions」 です。
この記事では、GitHub Actions を使って JavaアプリケーションのビルドとJARファイルの自動生成・アップロードを行う基本手順 を、初心者にもわかりやすく丁寧に解説します。「そもそもGitHub Actionsって何?」という方から、
「手動でJARを作るのは面倒、CIで自動化したい」という方まで、
この記事を読めば、すぐに自分のプロジェクトへCIを導入できるはずです。
本記事はこんな方におすすめです
- GitHub Actions を初めて使う方
- Java/Gradle プロジェクトを自動ビルドしたい方
- 成果物(JARファイル)を自動で生成・取得したい方
前提
・Githubのアカウントが作成されていること
・ビルドが通るJavaプロジェクトを用意していること。
※用意できていない場合は、以下の記事を参考にしていただくとプロジェクトを作成できます。

リポジトリを作成
まずは自分のGithubアカウント上で「Github_Actions」というリポジトリを作成します。

次に作成したリポジトリをローカルへクローンします。
リポジトリをクリック⇒「Code」からURLを確認し、git cloneコマンドでクローン。(以下の図を参照)

Github Actionsの設定&プッシュ
前の手順にてクローンしたGithub_Actionsに、.github/workflowsディレクトリを作成し、その配下にci.ymlを作成します。

ci.ymlの内容は以下をコピーします
name: Java CI with Gradle
on:
push:
branches: [ main ] # mainにpushされたときにGithubActionsを実行
pull_request:
branches: [ main ] # mainブランチに対してPR(プルリクエストされたときにGithubActionsを実行)
jobs:
build:
runs-on: ubuntu-latest # GitHub上のOS指定
steps:
- name: ソースコードをチェックアウト
uses: actions/checkout@v4 # 実行マシンにクローン
- name: JDK 17 をセットアップ
uses: actions/setup-java@v4
with:
distribution: 'temurin' # temurin は OpenJDK の人気ディストリビューション(旧 AdoptOpenJDK)
java-version: '17' # java-version: '17' は Java 17 を指定(近年主流のLTS)
- name: gradlew に実行権限を付与
run: chmod +x ./gradlew # Linuxではスクリプトファイル(gradlew)を実行するために「実行権限」が必要。
working-directory: demo # gradlew のある場所に合わせて調整
- name: Gradle でビルド
run: ./gradlew build
working-directory: demo
- name: 成果物(JAR)をアップロード
uses: actions/upload-artifact@v4 # ビルドで作成されたjarファイルをGitHub ActionsのArtifactsとして保存
with:
name: demo-jar # GitHubのActions画面に表示されるファイル名
path: demo/build/libs/*.jar #path は JARファイルの出力先(Gradleのデフォルトは build/libs/)
サンプルとなる「demo」プロジェクトを入れてコミットし、Githubへプッシュします。

Github Actionsの確認
GitHubへアクセスし、Actionsのところを確認すると、前の手順でのpushをトリガーにビルドが成功していることが確認できます。
また、ArtifactsのところにJarができているのでダウンロード可能となります。ここまでできたらOKです。
ビルドエラーの場合は、ご自身の環境とci.ymlが合っていない可能性があるので、ご自身の環境へ合わせて再度pushしてください。

TIPS
今回のGithub Actionsで認識しておいたほうが良い点を簡単にご紹介します。
Gradleのバージョンについて
プロジェクト直下で、「gradlew –version」のコマンドを実行することでgradleのバージョンを確認することができます。これはGithubActionsでも同じバージョンで実行されます。

ci.ymlのOS設定について
今回は以下のような指定にしていましたが、最新版はどんどんバージョンアップされていきますので、バージョン指定したほうが無難です。

おわりに
以上、今回は GitHub Actions を使って Java プロジェクトを自動ビルドし、JAR ファイルを成果物として取得する手順をご紹介しました。
GitHub Actions を使えば、これまで手作業で行っていたビルドや成果物管理のプロセスを、ワンクリック/自動で再現性高く実行できるようになります。
CI/CD の第一歩としてはもちろん、今後のテスト自動化や本番環境へのデプロイ自動化にもつながる重要な基盤です。
また、今後も GitHub Actions や CI/CD、開発自動化に関する情報を発信していきますので、興味がある方はぜひ他の記事もご覧ください。
コメント