diff --git a/README.md b/README.md index d5c45d0..4f5c7aa 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,17 @@ None. ## Example Playbook - hosts: all + vars: + homebrew_prefix: '/opt/homebrew' + roles: + - ccdc.teamcity_agent + +## Example Playbook with specific java version + + - hosts: all + vars: + homebrew_prefix: '/opt/homebrew' + java_version: '18' roles: - ccdc.teamcity_agent @@ -36,4 +47,4 @@ MIT / BSD ## Author Information -This role was created in 2020 by Claudio Bantaloukas/Florian Piesche, based on existing roles at CCDC, by Jeff Geerling and google searches \ No newline at end of file +This role was created in 2020 by Claudio Bantaloukas/Florian Piesche, based on existing roles at CCDC, by Jeff Geerling and google searches diff --git a/defaults/main.yml b/defaults/main.yml index 63fc759..150e48d 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -6,3 +6,14 @@ teamcity_downloaded_buildagent_zip: "{{ teamcity_agent_install_dir }}/teamcity-a teamcity_buildagent_zip_url: "{{ teamcity_server_url }}/update/buildAgent.zip" teamcity_buildagent_drive: E teamcity_agent_hostname: "{{ inventory_hostname }}" + +homebrew_prefix: "{{ (ansible_machine == 'arm64') | ternary('/opt/homebrew', '/usr/local') }}" + +java_version: '17' +java: + openjdk: + Debian: "openjdk-{{ java_version }}-jdk" + RedHat: "java-{{ java_version }}-openjdk" + FreeBSD: "openjdk{{ java_version }}" + Darwin: "openjdk@{{ java_version }}" + Windows: "microsoft-openjdk{{ java_version }}" diff --git a/tasks/Darwin.yml b/tasks/Darwin.yml index 6dd35c9..751567a 100644 --- a/tasks/Darwin.yml +++ b/tasks/Darwin.yml @@ -1,17 +1,17 @@ --- -- name: Insatll Homebrew + OpenJDK +- name: Install Homebrew + OpenJDK ansible.builtin.include_role: name: geerlingguy.mac.homebrew vars: # This is overwritten by our group_vars (cpp.build-machines) homebrew_installed_packages: - - openjdk@17 + - "{{ java.openjdk[ansible_os_family] }}" when: not cpp_buildmachine - name: Symlink OpenJDK to system-wide Java VMs ansible.builtin.file: state: link - src: /usr/local/opt/openjdk@17/libexec/openjdk.jdk + src: "{{ homebrew_prefix }}/opt/openjdk@17/libexec/openjdk.jdk" dest: /Library/Java/JavaVirtualMachines/openjdk-17.jdk become: true diff --git a/tasks/Linux.yml b/tasks/Linux.yml index 865b09a..56a1be7 100644 --- a/tasks/Linux.yml +++ b/tasks/Linux.yml @@ -1,7 +1,7 @@ --- - name: Install Java - ansible.builtin.yum: - name: java-1.8.0-openjdk-devel + ansible.builtin.package: + name: "{{ java.openjdk[ansible_os_family] }}" state: present become: true diff --git a/tasks/Windows.yml b/tasks/Windows.yml index abc4dc9..63ac2e7 100644 --- a/tasks/Windows.yml +++ b/tasks/Windows.yml @@ -5,7 +5,7 @@ win_chocolatey: name: - 7zip.install - - microsoft-openjdk17 + - "{{ java.openjdk[ansible_os_family] }}" state: present - name: Create teamcity agent install directory # noqa: name[template]