GitHub ActionsでJavaを自動ビルド|CI/CDをゼロから構築する手順書

目次

はじめに

最近では、コードを自動でビルド・テスト・デプロイする「CI/CD」が開発現場で当たり前になってきました。
その中でも特に注目されているのが、GitHubが提供する自動化ツール 「GitHub Actions」 です。

この記事では、GitHub Actions を使って JavaアプリケーションのビルドとJARファイルの自動生成・アップロードを行う基本手順 を、初心者にもわかりやすく丁寧に解説します。「そもそもGitHub Actionsって何?」という方から、
「手動でJARを作るのは面倒、CIで自動化したい」という方まで、
この記事を読めば、すぐに自分のプロジェクトへCIを導入できるはずです。

本記事はこんな方におすすめです

  • GitHub Actions を初めて使う方
  • Java/Gradle プロジェクトを自動ビルドしたい方
  • 成果物(JARファイル)を自動で生成・取得したい方

前提

・Githubのアカウントが作成されていること
・ビルドが通るJavaプロジェクトを用意していること。
※用意できていない場合は、以下の記事を参考にしていただくとプロジェクトを作成できます。

あわせて読みたい
【初心者向け】IntelliJでJava+Spring BootのWebアプリを作成する方法 はじめに 本記事では、IntelliJ IDEAを利用してJava+Spring BootのWebアプリのサンプルを作成する手順をご紹介します。spring tool suiteでも可能ですが、私自身の興味...

リポジトリを作成

まずは自分の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、開発自動化に関する情報を発信していきますので、興味がある方はぜひ他の記事もご覧ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次