All Projects → egregors → teamcity-docker-compose

egregors / teamcity-docker-compose

Licence: GPL-3.0 license
Compose to create working TeamCity server with PostgreSQL and Agents

Programming Languages

Dockerfile
14818 projects
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to teamcity-docker-compose

teamcity-docker-samples
TeamCity docker compose samples
Stars: ✭ 116 (+19.59%)
Mutual labels:  teamcity, teamcity-server
TeamCityApp
TeamCity in your pocket (Android application)
Stars: ✭ 48 (-50.52%)
Mutual labels:  teamcity, teamcity-server
teamcity-docker-server
TeamCity server docker image sources
Stars: ✭ 70 (-27.84%)
Mutual labels:  teamcity, teamcity-server
CI-Report-Converter
The tool converts different error reporting standards for deep compatibility with popular CI systems (TeamCity, IntelliJ IDEA, GitHub Actions, etc).
Stars: ✭ 17 (-82.47%)
Mutual labels:  teamcity
koshry
Run on CI, Apply Rules on the Build and Get the Result back to the Pull Request.
Stars: ✭ 59 (-39.18%)
Mutual labels:  teamcity
teamcity-commit-hooks
Plugin for TeamCity simplifying installation of webhooks for repositories in GitHub and GitHub Enterprise.
Stars: ✭ 24 (-75.26%)
Mutual labels:  teamcity
teamcity-deployer-plugin
Deployer plugin for TeamCity CI server
Stars: ✭ 37 (-61.86%)
Mutual labels:  teamcity
teamcity-vagrant
No description or website provided.
Stars: ✭ 23 (-76.29%)
Mutual labels:  teamcity
tc-radiate
Build radiator for TeamCity - GitHub hosted, Standalone HTML+JS
Stars: ✭ 15 (-84.54%)
Mutual labels:  teamcity
swarmci
Swarm CI - Docker Swarm-based CI system or enhancement to existing systems.
Stars: ✭ 48 (-50.52%)
Mutual labels:  teamcity
teamcity-symbol-server
TeamCity Symbol Server plugin
Stars: ✭ 16 (-83.51%)
Mutual labels:  teamcity
teamcity-kubernetes-plugin
Run TeamCity cloud agents on Kubernetes cluster
Stars: ✭ 57 (-41.24%)
Mutual labels:  teamcity
newman-reporter-teamcity
A newman reporter for TeamCity.
Stars: ✭ 19 (-80.41%)
Mutual labels:  teamcity
terraform-provider-teamcity
Terraform Provider for Jetbrains TeamCity CI server
Stars: ✭ 70 (-27.84%)
Mutual labels:  teamcity
teamcity-msbuild-logger
MSBuild logger for TeamCity
Stars: ✭ 16 (-83.51%)
Mutual labels:  teamcity
jest-teamcity
Jest Teamcity Reporter
Stars: ✭ 29 (-70.1%)
Mutual labels:  teamcity
go-teamcity
Golang client for TeamCity REST API
Stars: ✭ 32 (-67.01%)
Mutual labels:  teamcity
teamcity-hashicorp-vault-plugin
TeamCity plugin to support HashiCorp Vault
Stars: ✭ 23 (-76.29%)
Mutual labels:  teamcity
teamcity-settings
Example project using TeamCity's Versioned Settings and Kotlin DSL
Stars: ✭ 20 (-79.38%)
Mutual labels:  teamcity
teamcity
dohq-teamcity is a Python package providing access to the JetBrains TeamCity server API.
Stars: ✭ 24 (-75.26%)
Mutual labels:  teamcity

teamcity-docker-compose

Compose to create working TeamCity server with PostgreSQL and Agents

state ssl

This configuration use only official images:

teamcity server, teamcity agent, postgres, traefik

How to use

Clone this repository or download the zip.

git clone https://github.com/egregors/teamcity-docker-compose.git

Configuration

All you need is to set a few ENV variables in the example.env file.

Set your Postgres username and password in env.example

Set your VIRTUAL_HOST and ACME credential (LETSENCRYPT_HOST, LETSENCRYPT_EMAIL)

After all rename env.example to .env

Don't push .env file in public repositories!

It's all. PostgreSQL already configured according to the JetBrains recommendations

HTTPs support

HTTPs entry point is enabled by default thanks to traefik

If you don't need HTTPs support – use docker-compose-nossl.yml

Build and setup

Next, build the images: make build

or

docker-compose -f docker-compose.yml build

Now you may start up the service and continue configuring settings in Web Interface: make up

or

mkdir -p /opt/traefik && touch /opt/traefik/acme.json && chmod 600 /opt/traefik/acme.json
docker-compose -f docker-compose.yml up -d && docker-compose -f docker-compose.yml logs -f -t --tail=10

After initialisation Web Interface will be available on https://yourdockerhost/

Setup DB

Open https://yourdockerhost/

Set PostgreSQL as database type, download JDBC driver

Alt text

Configure DB connection:

Alt text

Authorize your Agent:

Alt text

Done, TeamCity ready to work.

Scaling

Scaling your workers (agents) supported as well. Just use docker-compose scale command:

docker-compose scale teamcity-agent=3

Keep in mind: currently, agents are stateless

Backup / restore

You may use JetBrains way to backup or restore your server

Update

If you see a notice that a new version is available, you may update your TeamCity that way:

use make (set your compose file name in Makefile, by default it is docker-compose.yml)

make update

or

# stop and remove old containers
docker-compose stop
docker-compose down --rmi all

# build new version
docker-compose build --pull --no-cache

# create and up new containers
docker-compose up -d

After an update, you need to reauthorize your agents.

Updating maintenance

Sometimes, during update you may get «maintenance is required» message instead of login page. It's ok! To login in a maintenance mode you need to enter an authentication token. You may find it in the logs: docker-compose logs -f

Try to find something like this:

teamcity-server_1                    | [TeamCity] Administrator can login from web UI using authentication token: 8755994969038184734

Platform-specific agents

You can use my preconfigured custom agents with already installed necessary dependencies

Python 3 | Node.js 11, yarn 1.15

Agent info

Ruby | Bundle

Agent info

Node 14

Agent info

Contributing

Bug reports, bug fixes and new features are always welcome. Please open issues and submit pull requests for any new code.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].