Skip to content

Commit

Permalink
add teamcity with minimal agent
Browse files Browse the repository at this point in the history
  • Loading branch information
Onur Ozkol authored and devopswise committed Jan 24, 2019
1 parent 3e9abf8 commit 67e8a3b
Show file tree
Hide file tree
Showing 6 changed files with 96 additions and 0 deletions.
3 changes: 3 additions & 0 deletions inventories/pro/hosts
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,8 @@ only_server
[bitbucket:children]
only_server

[teamcity:children]
only_server

[only_server]
cdt01 ansible_ssh_host=__dw_server_fqdn__ ansible_ssh_user=centos ansible_ssh_private_key_file=__dw_private_key__
5 changes: 5 additions & 0 deletions playbooks/teamcity.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
- hosts: teamcity
roles:
- { role: teamcity,
tags: [ 'teamcity' ] }
8 changes: 8 additions & 0 deletions roles/teamcity/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
teamcity_service_name: "teamcity"
teamcity_registry_url: "" #from dockerhub
teamcity_image_name: "jetbrains/teamcity-server"

teamcity_version: "latest"
teamcity_user: 1000
teamcity_group: 1000

9 changes: 9 additions & 0 deletions roles/teamcity/handlers/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
- name: restart teamcity
docker_service:
project_name: "{{ teamcity_service_name }}"
project_src: "/tmp/{{ teamcity_service_name }}"
restarted: true
state: present
become: yes
become_method: sudo
31 changes: 31 additions & 0 deletions roles/teamcity/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
- name: Create a directory to store volume
file: path="{{ item }}" state=directory mode=0777 owner="{{ teamcity_user }}" group="{{ teamcity_group }}"
with_items:
- "{{ docker_logs }}/{{ teamcity_service_name }}"
- "{{ docker_volumes }}/{{ teamcity_service_name }}"
- "{{ docker_volumes }}/{{ teamcity_service_name }}/db"
- "{{ docker_volumes }}/{{ teamcity_service_name }}/data"
become: yes
become_method: sudo

- name: create directory for project_src
file: path="/tmp/{{ teamcity_service_name }}" state=directory
become: yes
become_method: sudo

- name: sync docker-compose.yml
template:
src: ../templates/docker-compose.yml.j2
dest: /tmp/{{ teamcity_service_name }}/docker-compose.yml
mode: 0755
become: yes
become_method: sudo

- name: "Run teamcity {{ teamcity_version }}"
become: yes
become_method: sudo
docker_service:
project_name: "{{ teamcity_service_name }}"
project_src: "/tmp/{{ teamcity_service_name }}"
register: output
40 changes: 40 additions & 0 deletions roles/teamcity/templates/docker-compose.yml.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
version: '2'
services:
teamcity:
image: "{{ teamcity_registry_url }}{{ teamcity_image_name }}:{{ teamcity_version }}"
environment:
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ http_proxy }}"
no_proxy: "{{ no_proxy }}"
volumes:
- "{{ docker_volumes }}/{{ teamcity_service_name }}/data:/data/teamcity_server/datadir"
- "{{ docker_logs }}/{{ teamcity_service_name }}:/opt/teamcity/logs"
ports:
- "8111"
networks:
- internal
- external
restart: always
labels:
- traefik.backend=teamcity
- traefik.frontend.rule=Host:teamcity.{{ base_domain }}
- traefik.port=8111
logging:
driver: "syslog"
options:
syslog-facility: "local2"
tag: "docker/{% raw %}{{.Name}}{% endraw %}"
teamcity_agent:
image: jetbrains/teamcity-minimal-agent
environment:
- SERVER_URL=http://teamcity:8111
- AGENT_NAME=minimal_agent
networks:
- internal
- external

networks:
internal:
external: true
external:
external: true

0 comments on commit 67e8a3b

Please sign in to comment.