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
ファイルを作成
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
ボタンをクリックします。
データベース接続情報を入力します。お試しのため、Internal
の設定のままProceed
ボタンをクリックします。
Internal
の他にはPostgreSQL
、MySQL
、Oracle
、MS SQL Server
から選択ができます。
ライセンス条項を確認し、Accept license agreement
にチェックを入れContinue
ボタンをクリックします。
管理者アカウントの作成を行います。
Login as Super user
リンクから、ユーザーを作成せずにスーパーユーザーとしてログインができます。この際に必要なAuthentication token
はログに出力されています。(docker compose logs
で確認可能)
アカウントの作成後、自動でログインされます。
プロジェクトの作成
まずはプロジェクトを作成します。
Create project
ボタンをクリックします。
Repository URL
を入力し、Proceed
ボタンをクリックします。
自動でプロジェクトの情報を取得してくれます。このままProceed
ボタンをクリックします。
ビルドの情報も自動で取得してくれます。Gradle
にチェックを入れ、Use selected
ボタンをクリックします。
これでビルドの設定が完了です。
エージェントの有効化
ビルドを実行するにはエージェントを有効化する必要があります。
画面上部メニューのAgents
をクリックします。
Unauthorized
タブの値が1
になっていますので、クリックします。
Authoraze
ボタンをクリックします。コメントを入力するダイアログが表示されますのでコメントを入力して進めてください。
これでエージェントが有効化されました。
ビルドを実行
画面上部のProjects
メニューからSpring Petclinic
プロジェクトを選択します。
Build
の行の右に表示されるRun
ボタンをクリックします。
ビルドが開始されます。
正常に完了しました。
#1
をクリックすると詳細が確認できます。
- Overview
- Changes
- Tests
- Build Log
- Parameters
- Artifacts
- PrefMon
簡単にですが、ビルドが実行できました。