こんにちは。今回は、Github初心者に向けて、Github Actionsについて解説します。Github Actionsは、Github上で動作するCI/CDツールであり、自動化されたタスクの実行やビルドプロセスの管理を簡単に行うことができます。
Github Actionsとは
Github Actionsは、Github上で動作するCI/CDツールです。Github上のリポジトリに対して、自動化されたタスクを実行することができます。例えば、コードのビルドやテスト、デプロイなどを自動化することができます。Github Actionsは、YAML形式で設定ファイルを記述することで、簡単に利用することができます。
Github Actionsの使い方
Github Actionsを利用するには、以下の手順を実行します。
- リポジトリのSettingsからActionsを有効化します。
- リポジトリにYAML形式で設定ファイルを追加します。
- 設定ファイルに基づいて、自動化されたタスクが実行されます。
設定ファイルの記述方法
Github Actionsの設定ファイルは、リポジトリのルートディレクトリに.github/workflows
ディレクトリを作成して、その中にYAML形式のファイルを配置することで作成します。
設定ファイルの基本的な構造は以下のようになります。
name: ワークフロー名
on:
イベントトリガー
jobs:
ジョブ名:
runs-on: 実行環境
steps:
- ステップ1
- ステップ2
- ...
name
は、ワークフローの名前を指定します。
on
は、ワークフローをトリガーするイベントを指定します。例えば、pushやpull_requestのようなGitのイベントを指定することができます。
jobs
は、実行するジョブを指定します。ジョブは、複数指定することができます。
runs-on
は、ジョブを実行する環境を指定します。例えば、UbuntuやWindowsなどのOS環境を指定することができます。
steps
は、実行するステップを指定します。ステップは、複数指定することができます。
サンプルコード
以下は、Pythonのコードを自動でビルドする設定ファイルの例です。
name: Python CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Run tests
run: |
python manage.py test
Github Actionsの活用例
Github Actionsは、様々な用途で活用されています。例えば、以下のようなことができます。
- コードのビルドやテスト
- デプロイ
- スクリプトの自動実行
- Slackへの通知
- セキュリティチェック
サンプルコード
以下は、Slackへの通知を自動化する設定ファイルの例です。
name: Slack Notification
on: [push]
jobs:
slack_notification:
runs-on: ubuntu-latest
steps:
- name: Send slack notification
uses: rtCamp/action-slack-notify@v2.1.0
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
with:
status: ${{ job.status }}
fields: repo,message,commit-author,commit-url,commit-message,action,event-name
注意点
Github Actionsを利用する場合、以下の点に注意する必要があります。
- プライバシーに注意すること
- セキュリティに注意すること
- アクセストークンの扱いに注意すること
まとめ
Github Actionsは、Github上で動作するCI/CDツールであり、自動化されたタスクの実行やビルドプロセスの管理を簡単に行うことができます。設定ファイルをYAML形式で記述することで、簡単に利用することができます。Github Actionsを活用することで、開発プロセスを効率化することができます。しかし、プライバシーやセキュリティに注意しなければならない点もあるので、注意が必要です。
Github 関連のまとめ
オンラインスクールを講師として活用する!