Search Results for ""

VM サービスの設定

お使いの CircleCI 環境に合わせて VM サービスを設定する方法と、独自の VM サービスイメージをカスタマイズする方法について説明します。

概要

CircleCI Server のユーザーは、VM サービスを使用すると、リモート Docker 環境machine Executor を使用してジョブを実行できます。

設定

CircleCI Server での VM サービスの設定

VM サービスを設定するには、Replicated 管理コンソールで AWS EC2 オプションを選択することをお勧めします。これで、CircleCI が専用の EC2 インスタンスを使用してリモート Docker および machine Executor ジョブを実行できるようになります。

VM サービス用にカスタム Amazon Machine Image (AMI) を提供しない場合、Server 上の machine Executor とリモート Docker ジョブは、クラウドにデフォルトで用意されているのと同じマシンイメージ (Docker バージョン 17.03.0-ce および docker-compose バージョン 1.9.0 を使用した Ubuntu 14.04 イメージ) と一般的な言語、ツール、フレームワークの一式を使用して実行されます。 詳細については、image-builder リポジトリの picard-vm-image ブランチを参照してください。

カスタマイズ

場合によっては、お使いの CircleCI 環境に合わせて VM サービスイメージをカスタマイズすることが有効です。たとえば、他のバージョンの Docker や docker-compose を指定したり、CI/CD パイプラインに依存関係を追加インストールしたりすることができます。 カスタマイズしないと、こうした追加インストールや更新のステップをコミットのたびに config.yml ファイルの中で実行しなければならなくなります。

カスタム VM サービスイメージをビルドするには、https://github.com/circleci/image-builder/tree/picard-vm-image のリポジトリブランチを使用します。

aws-vm.json で必須グループを入力したら、packer build aws-vm.json コマンドを実行します。 アップロードにはアクセスキーとシークレットキーが必要です。 キーとシークレットのプロセスは要件に従って処理しますが、ami_groups を組織内に限定することを検討してください。

詳細については、https://packer.io/docs/builders/amazon-ebs.html#ami_groups を参照してください。 また、設定の詳細については、https://github.com/circleci/image-builder/blob/picard-vm-image/provision.sh を参照してください。

使用するイメージに circleci ユーザーを関連付ける必要があります。https://github.com/circleci/image-builder/blob/picard-vm-image/aws_user_data の例を参照してください。