TeamCity 2020.2 ヘルプ

AWS で TeamCity スタックを実行する

CloudFormation テンプレート(英語)を使用して、AWS で TeamCity スタックを実行できます。これは実験的なオプションであり、現在進行中の作業であることに注意してください。

スタックの概要

現在の設定では、パブリックとプライベートの 2 つのサブネットを使用しています。

  • プライベートサブネットには、すべての必須項目が含まれています。
    • Docker Hub から指定されたバージョンの公式 TeamCity サーバーと 1 つの TeamCity ビルドエージェントを備えた Amazon ECS 最適化 Linux EC2 インスタンスの ECS クラスター。TeamCity サーバーとビルドエージェントを含む公式の Docker イメージが使用されます。

    • RDS MySQL データベース

  • パブリックサブネットには以下が含まれます。
    • アプリケーションロードバランサ

    • 公的に利用可能な IP を保証する NAT ゲートウェイ

両方のサブネットは、完全に安全な Virtual Private Cloud(VPC)に配置されています。データベースは VPC 内の内部接続のみを許可し、HTTP または SSH のみを介してサーバーに接続することが可能です。

前提条件

TeamCity スタックを作成してそれに接続するには、次のものが必要です。

  • TeamCity スタックと同じ領域にある EC2 キーペア (英語)

  • TeamCity サーバーに接続してログを表示するためにインストールされた SSH クライアント

  • サービスリンクロールを作成し、スタックを作成する IAM エンティティにポリシーを適用するための IAM 権限

テンプレートを使う

1. テンプレート選択ページで、デフォルトの TeamCity テンプレートを選択し、次へをクリックします。

2. テンプレートが提供するスタック名とパラメーターを指定します。

テンプレートパラメーター

設定

説明

名前

TeamCity サーバーの名前。デフォルトでテストするように設定されています。

TeamCity バージョン

デフォルトでは、テンプレートは最新バージョンの TeamCity インストールを作成します。正確なバージョン番号をここで指定することもできます(例: 2017.1.5, 2017.2)。

インターネット向けスタック

デフォルトでは false に設定されています。この設定は Application Load Balancer に影響します。デフォルトではパブリック IP アドレスを持たず、VPC 内のトラフィックのみを受信します。一般公開されている TeamCity インスタンスを作成するには、それを true に設定します。

EC2 キーペア (必須)

TeamCity サーバー EC2 インスタンスへの SSH アクセス用に既存の EC2 KeyPair を指定します。キーペアを指定しなかった場合、スタックの作成は次のエラーで失敗します。「テンプレート検証エラー: パラメーター 'KeyName' はパターンと一致する必要があります。

SSL 証明書ドメイン

オプションです。ドメイン所有者の場合は、ここでドメインを指定してロードバランサーに自動的に登録される証明書を取得できます。あなたのスタックの作成はあなたのメールを確認するまで一時停止されます。

EC2 インスタンスタイプ

TeamCity サーバーのインスタンス(英語)タイプ(英語)を指定します

コンテナー CPU 仮想 CPU 単位のコンテナー CPU
コンテナーメモリ

デフォルトでは 3700MiB に設定されています。

RDS データベースインスタンスタイプ

TeamCity の外部データベースとして使用される RDS MySQL インスタンスのタイプを指定します。デフォルト: db.t2.medium

TeamCity データベースパスワード (必須)

TeamCity データベースのパスワードを指定してください

ビルドエージェント

設定

説明

エージェント番号

起動したいエージェントの数を指定します。すべてのエージェントは別々のマシンで起動されます。0 を指定した場合、エージェントは起動しません。

EC2 インスタンスタイプ

TeamCity エージェントのインスタンス(英語)タイプ(英語)を指定します

コンテナー CPU

仮想 CPU 単位のコンテナー CPU

コンテナーメモリ

デフォルトでは 2048MiB に設定されています。

3. 次へをクリックします。(オプション)表示されるダイアログで、必要に応じて追加のオプションを指定します。

4. 次へをクリックして設定を確認し、AWS ロールの作成を受け入れます。

5. 作成するをクリックします。他のアクションは必要ありません。テンプレートがスタック全体をデプロイするのに約 15 分かかります。デプロイの準備が整うと、TeamCity のインストールを示す TeamCity サーバーエンドポイントが出力セクションに表示されます。

6. ブラウザーから TeamCity インスタンスにアクセスし、管理者アカウントを作成して、TeamCity の使用を開始します。

サーバーへの接続とログの表示

サーバーコンソールに接続するには、インスタンスの秘密鍵を使用する必要があります。

ssh -i <path to private key\privatekey.pem> ec2-user@<server_IP_address>

teamcity-agent.log または teamcity-server.log を表示するには、目的のコンテナーに対して docker logs コマンドを実行するだけです。例: サーバーログの場合は、次のコマンドを実行します。

docker logs teamcity-server

次のステップ

TeamCity を起動して実行したら、次の手順を検討してください。

AWS で TeamCity をアップグレードする

TeamCity を更新するには、CloudFormation テンプレートから始めます。

  1. AWS CloudFormation コンソール(英語)で、スタックのリストから実行中の TeamCity スタックを選択し、スタック更新(英語)オプションを使用します。

  2. テンプレート選択ページにリダイレクトされます。現在のテンプレートオプションを使用して、次へをクリックします。

  3. テンプレート設定ページで、アップデートしたい TeamCity のバージョンを入力します。最新のタグ付き TeamCity バージョンを以前に使用したことがある場合は、latest タグはサーバーに 1 回しか適用できないため、実際のバージョン番号を入力する必要があります。

  4. 次へをクリックし、必要に応じて追加オプションを提供し、新しい設定を確認して更新をクリックします。更新が完了したら、ブラウザーから TeamCity Web UI にアクセスします。

  5. 必要に応じて、スーパーユーザートークンを提供します。それを取得するには、サーバーインスタンスに接続し、上記の TeamCity サーバーログを取得し、メンテナンストークンを取得する必要があります。

  6. サーバーがアップグレードされるのを待ち、TeamCity サーバーにログインし、エージェントがアップグレードされてサーバーに接続するのを待ちます。