メインコンテンツまでスキップ

JetBrains製CIサーバーTeamCityを試す

· 約4分
moritalous

JetBrainsがCIサーバーを公開しています。TeamCity Professionalは商用利用でも無料で使えるとのことです。

概要
  • TeamCityはJetBrainsが開発したCIサーバー
  • 無料で商用利用できるエディションやクラウドサービスがある
  • とても簡単にビルドが実行できました

TeamCityとは

TeamCity は、あらゆるワークフローや開発手法に対応する柔軟性に非常に優れた汎用 CI/CD ソリューションです。

出典:公式サイト

Jenkinsからの移行のドキュメントが用意されています。(参考

TeamCity環境構築

公式にDockerイメージが用意されています。

https://hub.docker.com/r/jetbrains/teamcity-server https://hub.docker.com/r/jetbrains/teamcity-agent https://hub.docker.com/r/jetbrains/teamcity-minimal-agent

docker-compose.yamlファイルを作成

docker-compose.yaml
version: '3'

services:
teamcity-server:
image: jetbrains/teamcity-server
container_name: teamcity-server
volumes:
- ./server/datadir:/data/teamcity_server/datadir
- ./server/logs:/opt/teamcity/logs
ports:
- "8111:8111"

teamcity_agent:
image: jetbrains/teamcity-agent
container_name: teamcity_agent
environment:
- SERVER_URL=teamcity-server:8111
volumes:
- ./agent/conf:/data/teamcity_agent/conf
depends_on:
- teamcity-server

ディレクトリーを作成

ホスト側に永続化するディレクトリーを作成します。

mkdir -p server/datadir server/logs agent/conf
注記

💡NOTE:
compose up時に自動生成させると、rootユーザーでの作成となり、動作に影響が出ますので事前に作成します。

起動

docker compose up
ヒント

TeamCityサーバーとエージェントが起動しました。

TeamCityの初期設定

http://localhost:8111にアクセスします。 Proceedボタンをクリックします。

image.png

データベース接続情報を入力します。お試しのため、Internalの設定のままProceedボタンをクリックします。

注記

Internalの他にはPostgreSQLMySQLOracleMS SQL Serverから選択ができます。

image.png

ライセンス条項を確認し、Accept license agreementにチェックを入れContinueボタンをクリックします。

image.png

管理者アカウントの作成を行います。

注記

Login as Super userリンクから、ユーザーを作成せずにスーパーユーザーとしてログインができます。この際に必要なAuthentication tokenはログに出力されています。(docker compose logsで確認可能)

image.png

アカウントの作成後、自動でログインされます。

プロジェクトの作成

まずはプロジェクトを作成します。 Create projectボタンをクリックします。

image.png

Repository URLを入力し、Proceedボタンをクリックします。

image.png

自動でプロジェクトの情報を取得してくれます。このままProceedボタンをクリックします。

image.png

ビルドの情報も自動で取得してくれます。Gradleにチェックを入れ、Use selectedボタンをクリックします。

image.png

image.png

ヒント

これでビルドの設定が完了です。

エージェントの有効化

ビルドを実行するにはエージェントを有効化する必要があります。 画面上部メニューのAgentsをクリックします。 Unauthorizedタブの値が1になっていますので、クリックします。

image.png

Authorazeボタンをクリックします。コメントを入力するダイアログが表示されますのでコメントを入力して進めてください。

image.png

ヒント

これでエージェントが有効化されました。

ビルドを実行

画面上部のProjectsメニューからSpring Petclinicプロジェクトを選択します。 Buildの行の右に表示されるRunボタンをクリックします。

image.png

ビルドが開始されます。

image.png

正常に完了しました。 #1をクリックすると詳細が確認できます。

image.png

  • Overview

image.png

  • Changes

image.png

  • Tests

image.png

  • Build Log

image.png

  • Parameters

image.png

  • Artifacts

image.png

  • PrefMon

image.png

ヒント

簡単にですが、ビルドが実行できました。