работающий compose с документацией
This commit is contained in:
parent
0c73ed99f3
commit
344c7a3dec
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.idea
|
4
Dockerfile
Normal file
4
Dockerfile
Normal file
@ -0,0 +1,4 @@
|
||||
FROM jetbrains/teamcity-agent
|
||||
|
||||
RUN curl -sL https://deb.nodesource.com/setup_11.x | bash - \
|
||||
&& apt-get install -y nodejs build-essential
|
20
REAME.md
20
REAME.md
@ -1,3 +1,23 @@
|
||||
# Teamcity
|
||||
|
||||
Запискаем докер, когда запускаем докер!
|
||||
|
||||
Внутренний ТС. Подробнее в (Confluence)[https://confluence.archive.systems/display/PRO/TeamCity]
|
||||
|
||||
## Tl;dr
|
||||
Самое главное, что:
|
||||
1. прокидываем сокет демона ХОСТА в контеры агентов (docker in docker)
|
||||
2. монтируем агентские рабочие папки из агентов на хост, чтобы демон (см. 1) мог увидеть файлы по относительным путям
|
||||
|
||||
## Траблшутинг
|
||||
Нельзя использовать ```_``` или ```-``` в названии сервисов! [Docker Compose DNS issues with Team City Agent](https://stackoverflow.com/q/46013774)
|
||||
|
||||
Нужно примаунтить директории, в которые чекаутится проект, чтобы избежать проблемы отсутствия файлов в первом докере (чтобы можно было запускать контейнеры внутри!). Первая ссылка - описание проблемы, вторая - солюшн.
|
||||
* [Using docker compose inside a running container](https://github.com/docker/compose/issues/3918#issuecomment-483969527)
|
||||
* [Unable to start any build step with Docker Wrapper on an agent from official docker image](https://youtrack.jetbrains.com/issue/TW-52017?_ga=2.31155327.1161243431.1566480946-540401972.1563195305)
|
||||
|
||||
## Запуск на локальной машине в исследовательских целях
|
||||
Для этого можно глянуть в [Multiple Compose files](https://docs.docker.com/compose/extends/#understanding-multiple-compose-files) или просто сделать:
|
||||
```bash
|
||||
docker-compose -f docker-compose.yml -f docker-compose.local.yml up -d
|
||||
```
|
4
docker-compose.local.yml
Normal file
4
docker-compose.local.yml
Normal file
@ -0,0 +1,4 @@
|
||||
services:
|
||||
server:
|
||||
ports:
|
||||
- '88:8111'
|
55
docker-compose.yml
Normal file
55
docker-compose.yml
Normal file
@ -0,0 +1,55 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
server:
|
||||
image: 'jetbrains/teamcity-server'
|
||||
volumes:
|
||||
- '/var/data/teamcity/server:/data/teamcity_server/datadir'
|
||||
- '/var/log/teamcity/server:/opt/teamcity/logs'
|
||||
ports:
|
||||
- '80:8111'
|
||||
# container_name: 'teamcity-server-instance'
|
||||
restart: always
|
||||
networks:
|
||||
- net
|
||||
|
||||
agent-white:
|
||||
build: .
|
||||
volumes:
|
||||
- '/var/data/teamcity/agent-white:/data/teamcity_agent/conf'
|
||||
- '/var/run/docker.sock:/var/run/docker.sock'
|
||||
- '/opt/buildagent/work:/opt/buildagent/work'
|
||||
- '/opt/buildagent/temp:/opt/buildagent/temp'
|
||||
environment:
|
||||
SERVER_URL: http://server:8111
|
||||
AGENT_NAME: 'White'
|
||||
#container_name: 'teamcity-agent-white'
|
||||
restart: always
|
||||
depends_on:
|
||||
- server
|
||||
links:
|
||||
- server
|
||||
networks:
|
||||
- net
|
||||
|
||||
agent-black:
|
||||
build: .
|
||||
volumes:
|
||||
- '/var/data/teamcity/agent-black:/data/teamcity_agent/conf'
|
||||
- '/var/run/docker.sock:/var/run/docker.sock'
|
||||
- '/opt/buildagent/work:/opt/buildagent/work'
|
||||
- '/opt/buildagent/temp:/opt/buildagent/temp'
|
||||
environment:
|
||||
SERVER_URL: http://server:8111
|
||||
AGENT_NAME: 'Black'
|
||||
#container_name: 'teamcity-agent-black'
|
||||
restart: always
|
||||
depends_on:
|
||||
- server
|
||||
links:
|
||||
- server
|
||||
networks:
|
||||
- net
|
||||
|
||||
networks:
|
||||
net:
|
Loading…
Reference in New Issue
Block a user