Deploys production-ready TeamCity to your machine using docker.
Serves as a middleware for TeamCity Commit Hooks Plugin.
Listens for GitHub webhook payload, fetches pull request status via GitHub API and then re-sends webhook payload to TeamCity itself.
Pull requests prefetch is required to update PR's merge branch and get latest commits when checking VCS roots for changes. (see https://youtrack.jetbrains.com/issue/TW-53108 for details).
- Docker
docker-compose
-
$ cd compose/ci/
-
$ cp .env.dist .env
-
Modify environment variables at
.env
to fit your needs.${WEBHOOK_CI_PROXY_ACCESS_TOKEN}
is used for Webhook CI Proxy.You can obtain a token from https://github.com/settings/tokens.
{WEBHOOK_CI_PROXY_CI_URL}
is the interal address of a TeamCity server. Default one ishttp://teamcity-server:8111
. -
Build images:
$ docker-compose build
-
Run it:
$ docker-compose -f general.yml -f teamcity.yml -f teamcity_volumes.yml -f proxy_teamcity_local.yml up -d
$ docker-compose -f general.yml -f teamcity.yml -f teamcity_volumes.yml -f webhook.yml -f proxy_all_local.yml up -d
$ docker-compose -f general.yml -f teamcity.yml -f teamcity_volumes.yml -f proxy_teamcity.yml up -d
$ docker-compose -f general.yml -f teamcity.yml -f teamcity_volumes.yml -f webhook.yml -f proxy_all.yml up -d