2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

導入

こんにちは。エンジニアのYamaです。
前職ではデプロイする資産をリリースする前に社内サーバーのストレージに格納することがルールとなっていました。
元々ソースコードがバージョン管理されておらず、資産も各自のローカルPC内の環境でビルドしていました。
そのため、その資産を保存しておくルールがありました。
私が離職する前にはGitHubでソースを管理し、リリースごとにタグを切る運用にしていていましたが、そのルールが撤廃されることはありませんでした。

ただ、少なくとも各自の環境でビルドしていること自体、不要な差分が出てしまう原因でもありましたので、GitHub Actions上で、ビルドを実行することにしました。

GitHub Actions

中身

主にSpring bootのプロジェクトが多かったので、今回はmvn packageで資産を作成する際のGHAになります。

build.yaml
name: Build hogehoge
on:
  push:
    branches:
      - master
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    outputs:
      targetwar: ${{ steps.builder.outputs.targetwar }}
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-java@v4
        with:
          distribution: 'corretto'
          java-version: '11'
      - name: building
        id: builder
        run: |
          mvn package
          TARGET_WAR=$(ls ./target/hogehoge.war)
          echo "targetwar=${TARGET_WAR}" >> "$GITHUB_OUTPUT"
      - uses: actions/upload-artifact@v4
        with:
          name: target-war
          path: ${{ steps.builder.outputs.targetwar }}

簡単な解説

実行タイミング

上記ソースのこの部分が実行タイミングになります。

on:
  push:
    branches:
      - master

このGHAが実行されるのは、masterブランチにプッシュされたタイミングになります。
私が担当していたプロジェクトは大抵masterブランチを本番リリース用のブランチとして利用していました。

ワーカー

ワーカーはyamlに記載の通りubuntu-latestとしました。

各ステップ

actions/checkout@v4

ここで、ソースをチェックアウトしてきています。

actions/setup-java@v4

Javaのバージョンの設定等をしています。

building

Mavenコマンドを実行し、Warファイルを作成しています。
作成したファイル名を取得するようにしています。

actions/upload-artifact@v4

buildingステップで作成したWarをGithub上にアップロードしています。

アップロードされた資産

アップロードされた資産はGithub上からダウンロードが可能です。
以下の画像のようにダウンロードすることができます。

アップロード資産.png

最後に

今回はGitHub Actionsでリリース資産を作成して、GitHub上からダウンロードする方法を紹介しました。
自動でビルドできるのは本当に助かりますね。
ぜひ参考にしてみてください。

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?