GitHub Actions入門|ChatGPTで学ぶコードの自動テストとデプロイ

この記事は約5分で読めます。

はじめに

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で公開してみよう!

タイトルとURLをコピーしました