CircleCI を用いた CI/CD ビルド環境と自動デプロイジョブの設定をまとめたクイックリファレンスです。
パイプラインのライフサイクル段階
machine: ベースとなる VM ランタイム、OS、言語バージョンを設定します。checkout: Git リポジトリをクローンし、サブモジュールを初期化します。dependencies: キャッシュされたライブラリを復元し、言語の依存関係をインストールします。database: テスト用データベースのテーブル準備とスキーマ読み込みを行います。test: 単体テスト、機能テスト、統合テストスイートを実行します。deployment: テストを通過したビルド成果物をステージング環境や本番環境へデプロイします。
設定例(YAML)
version: 2.1
executors:
node-executor:
docker:
- image: cimg/node:18.16.0
- image: cimg/postgres:14.2
environment:
POSTGRES_USER: ubuntu
POSTGRES_DB: app_test
POSTGRES_PASSWORD: ""
jobs:
build-and-test:
executor: node-executor
steps:
- checkout
- restore_cache:
keys:
- v1-deps-{{ checksum "package-lock.json" }}
- v1-deps-
- run:
name: 依存関係のインストール
command: npm ci
- save_cache:
key: v1-deps-{{ checksum "package-lock.json" }}
paths:
- ~/.npm
- run:
name: ユニットテストの実行
command: npm test
workflows:
build-pipeline:
jobs:
- build-and-test