GitHub Actions CI/CD構築

GitHub Actions を使った CI/CD構築 - 継続的インテグレーションとデリバリー

GitHub Actions を使った CI/CD構築

GitHub Actions を使って継続的インテグレーション(CI)とデリバリー(CD)を構築する方法について解説します。 GitHub Actions は、GitHub のプラットフォーム上で直接ワークフローを定義できる自動化ツールです。 これにより、コードの変更を自動的にテスト、ビルド、デプロイすることが可能になります。

GitHub Actions の基本的な仕組み

GitHub Actions は、ワークフロー(Workflow)と呼ばれる設定ファイルに基づいて動作します。 ワークフローは、トリガー、ジョブ(Job)、ステップ(Step)といった要素で構成されています。 トリガーは、ワークフローを実行するイベント(例:コードのプッシュ、プルリクエストの作成など)を定義します。 ジョブは、複数のステップで構成されたタスクのグループです。 ステップは、ジョブ内で実行される個々のコマンドやアクションです。

ワークフローの例:シンプルな Node.js アプリケーションのテストとデプロイ

        
            # workflow.yml
            name: Node.js CI

            on:
              push:
                branches:
                  - main

            jobs:
              build:
                runs-on: ubuntu-latest
                steps:
                  - uses: actions/checkout@v3
                  - name: npm install
                    run: npm install
                  - name: npm test
                    run: npm test
                  - name: Deploy to Production
                    if: github.ref == 'refs/heads/main'
                    run: |
                      # ここにデプロイのコマンドを記述
                      echo "デプロイ処理の実行..."
                      # 例:  ssh デプロイコマンド
                      # ssh user@server "cd /var/www/myapp && git pull && npm install && npm run build && pm2 restart myapp"
    
        

この例では、`main` ブランチにコードをプッシュすると、ワークフローが自動的に実行されます。 ワークフローは、まず `npm install` を実行し、次に `npm test` を実行してテストを実行します。 `if` ステートメントを使用することで、`main` ブランチにプッシュされた場合にのみデプロイ処理が実行されるようにできます。 (本番環境へのデプロイは、セキュリティ上の理由から慎重に行う必要があります。)

GitHub Actions のメリット

  • 自動化: 開発プロセスを自動化し、手動でのミスを減らします。
  • 迅速なフィードバック: コードの変更がテストに合格したら、迅速なフィードバックを得られます。
  • 継続的な改善: 継続的なテストとデプロイにより、ソフトウェアの品質を向上させます。
  • コラボレーション: チームメンバー間のコラボレーションを促進します。

まとめ

GitHub Actions を活用することで、CI/CD パイプラインを構築し、ソフトウェア開発プロセスを効率化することができます。 ぜひ、GitHub Actions を使って、よりスムーズな開発ワークフローを実現してみてください。

Comments

Popular posts from this blog

How to show different lines on WinMerge

パスワードハッシュ:bcrypt, scrypt, Argon2 徹底解説

GPIO入門:電子工作の基礎と活用例