Hello World編(基礎編)
GitHub Actionsを初めて使う方向けの導入編です。
シンプルに動作確認をしたい場合に、是非ご活用ください。
GitHub ActionsでCIを実現する方法
Java開発環境向けに、GitHub Actionsを用いてCI(継続的インテグレーション)を設定し、Gradleを利用したテストレポートの自動生成を行う手順を解説します。
テストを実行するとGradleレポートが自動作成される
GitHub Actionsとは
開発している時にやりたいことを、GitHub上で自動化できるサービス。
あらかじめ定義した処理と条件の組み合わせ1(Workflow)を自動化するGitHub公開の機能である。
リポジトリに対するpushなどの処理をトリガーとして、専用のWorkflowに定義しておいた処理を自動で実行できる。
事前確認
- ActionsタブのWorkbenchに存在するか
- リポジトリに
.github
があるか
初期設定(事前確認の設定をしている場合はスルーしてください)
- Actionsタブの確認
リポジトリのActionタブを開き、Actionsが有効になっていることを確認する。 - .github/workflowsディレクトリの作成
Actionsが存在しない場合、.github/workflowsディレクトリを作成する。
- codeタブの+を選択
- Create new fileを選択
- .github/workflows/hello.ymlとして保存
- Commit changesを選択
そのままCommit changesを選択する
ワークフロー構文
最初にHello World
だけを表示させる構文hello.ymlを実装する。
リポジトリにディレクトリを追加する。
作成後のディレクトリは以下の通り。
├── .github
├── workflows
├── hello.yml
name: hello world
# トリガー
on: pull_request
# ジョブごとに実行環境が構築されて、ジョブ内に定義されたステップが実行される
jobs:
build:
name: greeting
runs-on: ubuntu-latest # 実行環境
# コマンドやActionsなど実際の処理内容を記述する
steps:
- run: echo "Hello World"
ymlファイルのワークフロー構文解説
- name:ワークフロー名(省略可能)
- on:トリガーの種類(例: push, pull_requestをトリガーに指定すると、push,pull_requestを作成した際にワークフローが実行される)
- branches:トリガー対象のブランチ
- jobs:ワークフロー内のジョブを定義
- runs-on:実行環境(例: ubuntu-latest:最新のUbuntu環境)
- steps:ジョブ内の各タスク(シェルコマンドやアクションを指定)
動作確認
変更をリポジトリにプッシュ。
ワークフロー構成ファイルをリポジトリにコミットし、GitHubにプッシュする。
GitHubリポジトリのActionsタブを押下する。
- 黄色:実行中
- 緑色:成功
黄色が緑色に変われば完了!
テストレポートを確認
ワークフローの実行が完了したら、アップロードされたテストレポートをActionsタブからダウンロードして確認できる。
- 実行が成功したジョブをクリック
- 右サイドバーからアップロードされたアーティファクトをクリックすると、テストレポートをダウンロードできる
次は実践編、GitHub ActionsでJavaプロジェクトのCI/CDを回すに是非トライしてみてください。