JeanRev / TeamcityDockerCloudPlugin

Docker Cloud Plugin for the TeamCity build server
Apache License 2.0
33 stars 10 forks source link
docker teamcity

TeamCity Docker Cloud Plugin

Join the chat at https://gitter.im/TeamcityDockerCloudPlugin/Lobby status coverage license

This plugin leverages the TeamCity Cloud API in order to start and dispose TeamCity agents hosted in Docker containers on demand. Containers can be configured, and tested, directly from the TeamCity configuration interface. This cloud provider also has built-in support for Official TeamCity agent images, and resolve them automatically according to your TeamCity version.

Requirements

Browser requirements are the same than TeamCity itself (IE9+ or recent version of Firefox/Chrome/Safari/Opera/Edge).

Quick start

  1. Upload the plugin archive using the "Administration | Plugin List" section of your TeamCity instance, or copy it to the plugins subfolder in the TeamCity Data Directory.
  2. Access the cloud configuration page for your project ("Administration | <Your Project> | Cloud Profiles") and add a new cloud profile using Docker as Cloud type (for TeamCity 10.x, the cloud configuration page is located at the top level of the Administration section).
  3. Configure the access settings to your Docker instance.
  4. Register and configure a Docker image hosting the build agent. You can test the image directly from the same configuration page.

By default, the official TeamCity agent images will be used. These images are usable without any additional configuration, but you may need to tune the container settings a little depending on your build requirements.

News

For the latest information on the development of the plugin, and access to preview versions, visit the project's Gitter chatroom.

Build

This project uses Gradle Kotlin scripts to build and package the plugin. To create the plugin archive simple run the tcDist task using the provided gradle wrapper:

./gradlew tcDist

For more information about building and testing please check the Wiki.

License

Unless otherwise specified in their header, all files are distributed under the Apache License 2.0.

Acknowledgments

This plugin bundles the following third-party libraries:

In addition, the docker-java library was also a source of inspiration.

Lot of thanks to the respective authors of these software.

This software has been built thanks to the unfailing support of my company (Puzzle ITC) to Open Source projects. Kudos to them.