デプロイの概要
はじめに
ソフトウェアアプリケーションの開発とテストが完了したら、それをデプロイし、対象ユーザーが利用できるようにする必要があります。 CircleCI では、ほぼすべてのターゲットにデプロイでき、QA/テスト、機能管理、およびブルーグリーンデプロイやカナリアデプロイなどのデプロイ戦略を行うための他のサービスとの連携を簡単に設定することができます。 完全に自動化されたプロセスが必要な場合も、手動での承認要素が必要な場合も、お客様の要件に合わせて迅速かつ簡単に設定をカスタマイズすることができます。
デプロイの基本事項
-
デプロイジョブ: アプリケーションをデプロイするには、
.circleci/config.yml
ファイルに ジョブ を追加し、必要なステップを実行するようにそのジョブを設定します。 ドキュメントのデプロイセクションに含まれる他のページで、一般的なデプロイターゲットの設定例を確認してください。 -
デプロイパラメーター: デプロイするための手順を実行するには、環境変数や SSH キーの追加が必要な場合があります。 環境変数は、CircleCI Web アプリを使ってプロジェクト自体に追加したり (詳しい手順は以下のリンクを参照)、設定で定義することができます。
-
手動承認: デプロイメント戦略で手動承認ステップが必要な場合、 保留/承認 ジョブをワークフロー内に組み込むことができます。 それにより、CircleCI Web アプリのワークフローマップから手動承認ボタンが利用できるようになります。
Orb を使用したデプロイの簡素化
CircleCI では、 Orb と呼ばれる再利用可能な設定のパッケージを提供しています。 Orb は多くの一般的なデプロイターゲットに対応しており、設定の簡素化および効率化に役立ちます。 Orb レジストリ で利用可能なすべての Orb をご覧いただけます。 シンプルなデプロイパイプラインであれば、Orb を使うことで最小限の設定のみで必要な結果を得ることができます。
例として、 AWS CodeDeploy Orb を考えてみましょう。 この Orb にはあらかじめ deploy
ジョブが設定されており、Orb スタンザを追加して Orb が起動したら、aws-code-deploy/deploy
の一行で設定に含めることができます。 以下の例ように、簡単にデプロイすることができます。
version: 2.1
orbs:
aws-code-deploy: circleci/aws-code-deploy@x.y
workflows:
deploy_application:
jobs:
- aws-code-deploy/deploy:
application-name: myApplication
bundle-bucket: myApplicationS3Bucket
bundle-key: myS3BucketKey
deployment-group: myDeploymentGroup
service-role-arn: myDeploymentGroupRoleARN
Orb は内部で、aws-code-deploy/deploy
ジョブの宣言により設定された指定パラメーターを使用して、アプリケーションの作成、バンドル、デプロイを行います。
イメージを使用したデプロイの簡素化
CircleCI では Docker で使用できる一般的なデプロイシナリオで必要なツールが入った CircleCI イメージを提供しています。 CircleCI イメージを使うと、スピンアップ時間が短縮され、信頼性と安定性が向上します。 各 CircleCI イメージの詳細については、下記の CircleCI Developer Hub のリンクを参照してください。