コードを書いて、毎回手作業でテストやビルドをしていませんか? それ、GitHub Actionsで自動化できます。 この記事では、話題のJavaScriptランタイム「Bun」とGitHub Actionsを組み合わせて、CI/CD(自動化テストとデプロイ)の基本を学べる構成になっています。 Bun初心者でも大丈夫。シンプルな構成で、動くところまで丁寧に解説します。
目次
1. CI/CDってなに?ざっくり解説
- CI(継続的インテグレーション):コードをマージするたびにテストなどを自動で実行する仕組み
- CD(継続的デリバリー):テスト通過後、自動でアプリをデプロイする仕組み
BunとGitHub Actionsを使えば、手動作業を大幅に減らすことができます。
2. 今回のゴール
- GitHubにpushするとBunのプロジェクトでテストを自動実行
bun test
が成功したら完了(本記事ではデプロイは扱わずCIまで)
3. プロジェクトの準備
- Bunで新しいプロジェクトを作成
bun init
- テスト用ファイルを用意 例:
sum.ts
export const sum = (a: number, b: number) => a + b;
sum.test.ts
import { expect, test } from "bun:test";
import { sum } from "./sum";
test("sum test", () => {
expect(sum(2, 3)).toBe(5);
});
4. GitHub Actionsの設定ファイルを作る
.github/workflows/ci.yml
を作成:
name: CI
on:
push:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Bun
run: curl -fsSL https://bun.sh/install | bash
- name: Add Bun to PATH
run: echo "${HOME}/.bun/bin" >> $GITHUB_PATH
- name: Install deps
run: bun install
- name: Run tests
run: bun test
5. 動作確認
- この構成をGitHubにpushすると、自動的にCIが実行されます
- テスト結果はGitHubの「Actions」タブから確認可能
💡 テストが落ちたときは、どのテストで失敗したかがログに表示されます
まとめ
Bun × GitHub Actionsは、驚くほど簡単にCIを実現できます。 少しずつ環境構築に慣れながら、自動化による効率化を実感していきましょう。 次のステップとしては、「CD(自動デプロイ)」や「複数環境への切り替え」も検討してみると、さらに実践的です。
コメント