Github Actionsは、GitHubリポジトリにおけるワークフローの自動化を実現する強力なツールです。本記事では、入門者向けにGithub Actionsの基本的な使い方について解説します。
Github Actionsとは?
Github Actionsは、リポジトリ内の特定のイベント(例:push、pull request)をトリガーにして、事前に定義されたワークフローを実行する仕組みです。このワークフローを利用すれば、CI/CD(継続的インテグレーション/デリバリー)を簡単に設定できます。
基本のセットアップ
まずは簡単なワークフローを作成してみましょう。
-
.github/workflows/
フォルダを作成します。 - その中に
example.yml
ファイルを作成します。
以下は、最もシンプルな構成の例です。
name: Example Workflow
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Run a script
run: echo "Hello, Github Actions!"
ワークフローの構成
トリガー
ワークフローをいつ実行するかを指定するセクションです。上記の例では on.push
を利用しており、main
ブランチにコードをプッシュすると実行されます。
ジョブ
jobs
セクションでは、具体的な処理内容を定義します。
-
runs-on
:どの環境で実行するか指定します。例:ubuntu-latest
。 -
steps
:各ジョブ内で行う処理を定義します。
ステップ
個々のジョブの中で実行される具体的な処理です。例えば、コードのチェックアウトやテスト実行などがあります。
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Run tests
run: pytest
Github Actionsの活用例
デプロイの自動化
テストが成功した場合に、アプリケーションを自動デプロイする例です。
name: Deploy Application
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Deploy to server
run: ./deploy.sh
GitHub Pagesの自動デプロイ
GitHub Pagesを利用して、リポジトリのgh-pages
ブランチに自動で静的サイトをデプロイする設定です。
name: Deploy to GitHub Pages
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '16'
- name: Install dependencies
run: npm install
- name: Build static site
run: npm run build
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
deploy_branch: gh-pages
folder: build
まとめ
この記事では、Github Actionsの基本的な使い方を紹介しました。Github Actionsを活用することで、開発効率を大幅に向上させることが可能です。次は、より複雑なワークフローに挑戦してみましょう!