l-ollz / myvideoapplication

0 stars 0 forks source link

CI/CD設定 #11

Closed l-ollz closed 9 months ago

l-ollz commented 9 months ago

このYAMLファイルは、GitHub Actionsを使用してアプリケーションのCI(継続的インテグレーション)パイプラインを設定するためのものです。以下では、このファイルの各セクションを解説します。

1. ワークフローのトリガー設定

on: [push, pull_request]

このセクションでは、ワークフローをトリガーするイベントを指定しています。ここでは、プッシュ(push)とプルリクエスト(pull_request)の両方がトリガーとなります。

2. ジョブの定義

jobs:
  pipeline:
    name: myvideoapplication pipeline
    runs-on: ubuntu-latest

このセクションでは、ワークフロー内のジョブを定義しています。pipeline という名前のジョブが定義されており、Ubuntu環境上で実行されることが指定されています。

3. ジョブの条件設定

if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.pull_request.title, '[skip ci]') && !contains(github.event.pull_request.title, '[ci skip]')"

この条件設定では、コミットメッセージやプルリクエストのタイトルに [ci skip][skip ci] が含まれていない場合にのみジョブが実行されるようにします。

4. ジョブの環境変数の設定

env:
  NODE_VERSION: 16.17.0
  SPRING_OUTPUT_ANSI_ENABLED: DETECT
  SPRING_JPA_SHOW_SQL: false
  JHI_DISABLE_WEBPACK_LOGS: true

このセクションでは、ジョブの実行に必要な環境変数が設定されています。Node.jsのバージョンやSpring Bootアプリケーションのログ設定などが含まれます。

5. ジョブのステップの定義

steps:
  - uses: actions/checkout@v3
  - uses: actions/setup-node@v3
    with:
      node-version: 16.17.0
  - uses: actions/setup-java@v3
    with:
      distribution: 'temurin'
      java-version: 11
  - name: Install node.js packages
    run: npm install
  - name: Run backend test
    run: |
      chmod +x mvnw
      npm run ci:backend:test
  - name: Run frontend test
    run: npm run ci:frontend:test
  - name: Package application
    run: npm run java:jar:prod

これらのステップでは、以下の操作が順番に実行されます。

その他のステップでは、Dockerイメージのビルド、E2Eテストの実行などが行われています。

このYAMLファイルは、GitHub Actionsを使用してアプリケーションのCIパイプラインを設定するためのものであり、ビルド、テスト、およびデプロイの各ステップを定義しています。