はじめに
GitとGitHubの使い方に慣れてきたら、次に覚えたいのが「自動化」。
その代表的な仕組みが**GitHub Actions(ギットハブアクションズ)**です。
「コードをpushしたら、勝手にテストが走って、問題なければ本番に反映される」
そんな“未来っぽい”ことが、無料&簡単にできてしまうのがGitHub Actionsのすごいところ。
とはいえ、最初に聞くと「.yml?CI/CD?なにそれ?」と感じてしまうのも事実。
でも心配はいりません。今回もChatGPTに聞きながら、GitHub Actionsの基本をやさしく体験していきましょう!
GitHub Actionsって何?
GitHub Actionsは、ソースコードの変更に応じて自動的に処理を実行する仕組みです。
テストやビルド、デプロイ、通知など、あらゆる作業を「イベントに応じて」自動で実行できます。
これは「CI/CD(継続的インテグレーション/継続的デリバリー)」と呼ばれる、現代的な開発フローの中心にある考え方です。
ChatGPTに聞いてみよう:GitHub Actionsの役割
プロンプト例:
GitHub Actionsって何ですか?初心者向けに簡単に教えてください。
ChatGPTの回答例:
GitHub Actionsは、GitHub上で特定のイベント(例:push、pull requestなど)に反応して自動で処理を実行する機能です。テストやデプロイなどを自動化できます。
とても明快ですよね。
このように、ChatGPTにわからない単語や仕組みをその場で聞けるのが本当に便利!
ChatGPTに聞いてみよう:最初のワークフローを作る
GitHub Actionsでは、自動化処理の内容を「ワークフロー」という形で定義します。
そのファイルは、リポジトリの中に次のように配置します。
.github/workflows/ci.yml
プロンプト例:
Pythonコードをpushしたときに、自動でテストを実行するGitHub Actionsの設定ファイルを作ってください。
ChatGPTの例出力:
name: Python Tests
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.10'
- name: Install dependencies
run: pip install -r requirements.txt
- name: Run tests
run: pytest
これを .github/workflows/ci.yml
に保存するだけで、次にpushしたときに自動でテストが実行されます!
実際にテストを自動化してみよう
たとえば以下のようなPythonコードとテストコードがあるとします:
main.py
def add(x, y):
return x + y
test_main.py
from main import add
def test_add():
assert add(2, 3) == 5
これをGitHubにpushすると、自動的にpytest
が実行され、結果がGitHubの「Actions」タブに表示されます。
成功・失敗がひと目でわかるUIになっており、手動で何も実行しなくても結果がわかる快適さは、一度体験したらやみつきです!
デプロイの自動化にも挑戦してみよう
次は、コードを本番環境へ自動で反映する=自動デプロイにも挑戦してみましょう。
たとえば静的なWebサイト(HTML/CSS/JS)であれば、GitHub Pagesを使ってデプロイが可能です。
プロンプト例:
GitHub Pagesに自動でデプロイするGitHub Actionsの設定ファイルを作ってください。
ChatGPTの例:
yamlコピーする編集するname: Deploy to GitHub Pages
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
このように、ChatGPTにお願いするだけで複雑なymlファイルも一発生成してくれます。
ChatGPTでエラーの原因を突き止める
自動化の途中でありがちなのが、YAMLの記述ミスや、環境依存のエラー。
でもこれも、ChatGPTにログを貼り付けて聞けばOK!
🗣 プロンプト例:
GitHub Actionsのエラーが出ました。このログを見て原因と解決法を教えてください。
ChatGPTの対応:
- 構文ミスを指摘
- 依存関係の不足を特定
- push先ブランチやパスの誤りなどを解説
何が悪いのかわからないときこそ、AIの力が本当に頼りになります。
まとめ
GitHub Actionsは、テスト・ビルド・デプロイなどの作業を自動化することで、開発スピードと品質を劇的に向上させてくれるツールです。
でも最初はどう書くのか、何ができるのかがわかりにくい。
そんなとき、ChatGPTがあれば:
- わかりやすい説明
- 実際の設定ファイル例
- エラーの原因究明 まで全部サポートしてくれます。
小さな自動化から始めて、どんどん快適な開発環境を手に入れていきましょう!
📌 次回予告:
ChatGPTと一緒に作るポートフォリオサイト|GitHub Pagesで公開してみよう!