You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Readme.md
+18-4Lines changed: 18 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ This image provides teamcity build agent which might be connected to teamcity se
6
6
7
7
__NOTE__: It is highly recommended to keep Teamcity Server and agent versions in sync. While it is possible to use __older__ version of agent with newer version of Teamcity this setup is not recommended as it will cause agent update on each new agent container provisioning.
8
8
9
-
##Contents
9
+
##Contents
10
10
11
11
Along with agent itself this image contains a few set of software widely used in typical build chains. Table below contains the main packages and theirs versions:
12
12
@@ -28,6 +28,20 @@ Along with agent itself this image contains a few set of software widely used in
28
28
29
29
\*__latest__ version means the recent stable version in repositories available on the moment of image build.
| 9090 | The port used for communication between TeamCity server and Agent. It is required to make sure that Teamcity could establish network connection with agent on this port. |
| /srv/teamcity-agent/conf | The directory contains Teamcity agent configuration files. You might consider mapping this volume in case you need to tweak configuration manually. |
44
+
31
45
## Usage
32
46
33
47
Below is basic configuration for deploying teamcity server and agent on the same machine:
@@ -59,7 +73,7 @@ Nowadays it is pretty common to build docker images as a part of continuous inte
59
73
60
74
In order to configure this setup you need to set `DOCKER_HOST` environment variable to point docker server accessible from the container. There are multiple options how to achieve this. We describe a few below, however you should be careful in your choices and **consider security implications** before implementation.
61
75
62
-
####Option 1. Share docker server from your host.
76
+
####Option 1. Share docker server from your host.
63
77
64
78
You can simply grand access to the docker server of the machine you use to run this container with build agent. This is the easiest configuration possible **BUT it is also the most dangerous one**! It means that your agent will have FULL access on the containers running on the machine including own container and also other containers on the same machine. **Please think twice before doing this and ensure you understand the risks**. In general this might be a good option if you do not run anything critical on the same machine with your agent and you are not able to setup more complicated configuration.
65
79
@@ -93,7 +107,7 @@ Just configure you host machine to run 2 docker daemons and use the first one fo
93
107
94
108
Note there is still a non addressed security risk - your build agent along with building, pushing and pulling images might also **run** new containers and generally do whatever is possible with docker daemon (full access).
95
109
96
-
####Option 3. Setup separate docker daemon with http interface behind proxy
110
+
####Option 3. Setup separate docker daemon with http interface behind proxy
97
111
98
112
An idea is the similar to the prev. one but we add http proxy (e.g. nginx) to limit allowed api calls to `BUILD`, `PULL`, `PUSH`, `TAG`, `AUTH`. Below is simple nginx config which might do the trick:
99
113
@@ -142,4 +156,4 @@ This image was originally built by Dmitry Berezovsky (Logicify). The list of mai
142
156
143
157
## Contribution
144
158
145
-
This image is connected to Docker Cloud automated builds and configured to rebuild images on each push to the repository. It should pick changes from the `master` branch and tag those builds as `latest` AND also pick **any** repository tag. In that case it will build from repository tag, assign the same docker image tag and change `latest` to point the recent build.
159
+
This image is connected to the [Docker Cloud](https://cloud.docker.com) automated builds and configured to rebuild images on each push to the repository. It should **automatically** pick changes from **any** repository tag. In that case it will build from repository tag, assign the same docker image tag and change `latest` to point the recent build. In order to build image from the `mater` branch it is required to trigger build manually via [Docker Cloud Console](https://cloud.docker.com/app/logicify/repository/).
0 commit comments