サーバーエンジニアの若原です。
今回は開発でも使っているCircleCIのGitHub連携について紹介させていただきます。
CircleCIとは継続的インテグレーションのためのクラウドサービスです。
GitHubと連携することができ、git pushなどをトリガーにビルドを走らせることができます。
1コンテナまでは無料で使用することが可能ですが、複数のビルドを並列で行うためにはコンテナを増やす必要があり、2つ以上のコンテナを使用したい場合は有料となります。プロジェクトの規模を考えて適切な量のコンテナ数を追加する必要があります。
サインアップ
CircleCIへはGitHubのアカウントでサインアップすることができます。
プロジェクトの追加
サインアップ直後にダッシュボードに遷移します。プロジェクトが存在しないため赤枠内の「Add Projects」からGitHubのプロジェクトを追加します。
追加したいプロジェクトの「Build project」からプロジェクトを追加します。
CI設定
CIの実行内容を記載する「circle.yml」を、追加したプロジェクトのrootディレクトリに設置します。
circle.ymlの以下サンプルは以下のとおりです。
machine: timezone: # タイムゾーン Asia/Tokyo python: # 言語のバージョン指定(ruby,phpなど) version: 3.4.2 environment: # 環境変数 TEST_ENV: test dependencies: override: - 依存ライブラリのインストールコマンドなど database: override: - DBやテーブルを作成したり、サンプルデータを作成するコマンドなど test: override: - テストを実行するコマンド deployment: deploy: branch: master commands: - デプロイを実行するコマンド
他にも様々なカスタマイズが可能です。詳しくは公式サンプル をご確認ください。
作成したcircle.ymlをリポジトリにpushすることで自動的にビルドが走ります。
また、CIが不要なドキュメントのみ修正などをpushする際には、コミットコメントに[ci skip]と含めることでCIをスキップすることができます。