Giter Club home page Giter Club logo

teamcity-docker-compose's Introduction

teamcity-docker-compose

Compose to create working TeamCity server with PostgreSQL and Agents

This configuration use only official images:

teamcity server, teamcity agent, postgres

How to use

Clone this repository or download the zip.

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

Configuration

First of all, you should set your Postgres username and password variables in env.example and 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

To add HTTPs nginx-proxy with Let's Encrypt certificates (see https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion) just set your domain name and email for nginx service in compose file:

  nginx:
    image: nginx
    links:
      - teamcity-server
    volumes:
      - "./server/etc/nginx/conf.d/:/etc/nginx/conf.d/"
    environment:
      # set your domain name and email!
      VIRTUAL_HOST: ci.example.com
      LETSENCRYPT_HOST: ci.example.com
      LETSENCRYPT_EMAIL: [email protected]

If you don't need HTTPs support – remove nginx, nginx-proxy and letsencrypt-nginx-proxy-companion services from your docker-compose file

Building and setup

Next, build the images:

cd teamcity-docker-compose
docker-compose build

Now you can Up the service and continue settings in Web Interface:

docker-compose up

After initialisation Web Interface will be available on https://yourdockerhost/ (with HTTPs support) or http://yourdockerhost:8111/

Setup DB

Open https://yourdockerhost/ or http://yourdockerhost:8111/

Set PostgreSQL as database type and click «Refresh JDBC drivers»

Alt text

Configurate DB connection:

Alt text

Authorize your Agent:

Alt text

Done, TeamCity basically ready to work.

Scaling

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

docker-compose scale teamcity-agent=3

Keep in mind, currently, agents are stateless

Backups / restore

You may use JetBrains way to backup or restore your server

Platform-specific agents

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

Python3 / Django / Node.js

Agent info

Run server + agent:

docker-compose -f tc-django-nodejs-agent.yml build
docker-compose -f tc-django-nodejs-agent.yml up
# optional
docker-compose -f tc-django-nodejs-agent.yml scale teamcity-django-agent=3

Contributing

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

teamcity-docker-compose's People

Contributors

alexboor avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.