API Test + DevOps Portfolio
最終更新: 2026年06月07日
外部API連携における堅牢性と品質保証を追求し、APIテストとDevOps技術を統合したポートフォリオです。
SSRFやPII漏洩、不安定なリトライといった連携特有のアンチパターンを排除し、1,300件超の自動テストを品質ゲートとして構築・運用しています。

CI/CD / Python / Docker を統合したAPIテスト自動化ポートフォリオ。
1,372件のテスト(CI品質ゲート: 1,358件/96.16%)
Demo
3つのGIFで主要機能を視覚的に確認できます(合計35秒)
1. CI/CD自動化

📝 デモ内容: git push後GitHub Actionsで自動テスト・デプロイ
何がわかるか:
- GitHub Actionsによる自動化パイプライン
- コード変更時の自動テスト実行
- 多段階パイプライン
ー see details: CI/CD Pipeline & Quality Gates
2. テスト実行

📝 デモ内容: クイック実行例(基本テスト19件、デモ時間短縮のため抽出。全1,360件は約60秒)
🔍 全1,360件を今すぐ確認: GitHub Actions CI/CD でフルテスト結果+カバレッジレポートを閲覧
何がわかるか:
- pytest + pytest-covによる自動テスト実行
- カバレッジレポートによる品質可視化
- テスト実行: 基本19件 ~5秒、全1,360件 ~60秒
全テスト実行コマンド(1,360件、約60秒)
# 全テスト実行(1,360件)
uv run pytest --cov=utils --cov=config --cov=models --cov-report=term -q --color=yes
# クイック実行(unit tests)
uv run pytest tests/unit/test_api_client.py --cov=utils --cov=config --cov=models --cov-report=term -q --color=yes
3. Docker操作

📝 デモ内容: Docker Multi-stage buildによるコンテナビルド
✅ Docker Compose: 4環境(development / testing / staging / production)オーケストレーション
何がわかるか:
- Docker Multi-stage builds(4段階: base/dependencies/runtime/test)
- 非rootユーザーでのセキュアな実行
- 本番イメージサイズ最適化(< 200MB目標)
ー see details: Docker Multi-Stage Runtime Strategy
概要
1,360件のテストスイート: Unit(1,316) / Integration(35, うちExternal 5件含む) / Performance(7, 週次のみ) / Smoke(2)
カバレッジ: 96.15%(unit+integration条件): 継続的な品質向上
CI実行テスト: 1,358件(unit+integration条件, external・performance・smoke除外)
- 内訳: Unit 1,316件 + Integration 30件(35件のうちexternal 5件を除外)
CI/CD自動化: GitHub Actions による多段階パイプライン
セキュリティ: CI/CD品質ゲート(pytest + ruff + mypy + Trivy)
GitHub API統合: 実務的なAPI統合スキルを証明(Rate Limit管理、ETag活用、非同期処理)
技術スタック
| カテゴリ | 技術 |
|---|
言語 | Python 3.14 |
HTTP Client | httpx(同期/非同期対応) |
設定管理 | Pydantic Settings(型安全) |
テスト | pytest + pytest-cov + pytest-asyncio |
リンター | ruff(高速、Rust製) |
型チェック | mypy(strict mode) |
パッケージ管理 | uv(高速、Rust製) |
CI/CD | GitHub Actions(多段階パイプライン) |
エラー監視 | Sentry SDK + MCP統合 |
ログ | structlog(構造化ログ) |
アーキテクチャ
システム構成図
graph TB
subgraph "APIクライアント設計"
SC[SyncAPIClient<br/>同期クライアント]
SC --> JP[SyncJSONPlaceholderClient]
AC[AsyncAPIClient<br/>非同期クライアント]
AC --> AJP[AsyncJSONPlaceholderClient]
AGC[AsyncGitHubClient<br/>GitHub API統合]
end
subgraph "設定管理"
PS[Pydantic Settings] --> ENV[.env]
end
subgraph "品質保証"
UT[Unit Tests] --> IT[Integration Tests]
IT --> SEC[Security Tests]
SEC --> PERF[Performance Tests]
end
設計判断(Design Decisions)
API特性駆動でクライアントごとに実装範囲を最適化しています。