--- - name: Install Teamcity hosts: localhost become: true become_method: sudo vars: java_version: "17" teamcity: installation_path: /opt/TeamCity version: "2023.11.4" tasks: - name: Install Java ansible.builtin.apt: name: openjdk-{{ java_version }}-jdk # This is important because TeamCity will fail to start if we try to use 18 or 19 update_cache: yes state: latest install_recommends: no - name: Add TeamCity User ansible.builtin.user: name: teamcity - name: Download TeamCity Server ansible.builtin.get_url: url: https://download.jetbrains.com/teamcity/TeamCity-{{teamcity.version}}.tar.gz dest: /opt/TeamCity-{{teamcity.version}}.tar.gz mode: '0770' - name: Install TeamCity Server ansible.builtin.shell: | tar xfz /opt/TeamCity-{{teamcity.version}}.tar.gz rm -rf /opt/TeamCity-{{teamcity.version}}.tar.gz args: chdir: /opt - name: Update permissions ansible.builtin.shell: chown -R teamcity:teamcity /opt/TeamCity - name: TeamCity | Create environment file template: src=teamcity.service.j2 dest=/etc/systemd/system/teamcityserver.service notify: - reload systemctl - name: TeamCity | Start teamcity service: name=teamcityserver.service state=started enabled=yes handlers: - name: reload systemctl command: systemctl daemon-reload