ansible 部署jdk
时间: 2023-09-26 19:07:22 浏览: 135
ansible的安装部署
可以使用 Ansible 的 `yum` 模块安装 JDK。以下是一个示例 Playbook:
```yaml
- name: Install JDK
hosts: all
become: yes
tasks:
- name: Install JDK
yum:
name: java-1.8.0-openjdk
state: present
```
这将在所有主机上安装 OpenJDK 8。如果需要安装其他版本或者其他发行版,可以更改 `name` 参数的值。
如果需要在特定目录下安装 JDK,可以使用 `unarchive` 模块将 JDK 压缩包解压到指定目录。以下是一个示例 Playbook:
```yaml
- name: Install JDK
hosts: all
become: yes
vars:
jdk_version: 8u291
jdk_download_url: "https://download.oracle.com/otn-pub/java/jdk/{{ jdk_version }}+10/89d678f2be164786b292527658ca1605/jdk-{{ jdk_version }}_linux-x64_bin.tar.gz"
jdk_install_dir: "/opt/java"
tasks:
- name: Download JDK
get_url:
url: "{{ jdk_download_url }}"
dest: /tmp/jdk.tar.gz
headers:
Cookie: oraclelicense=accept-securebackup-cookie
- name: Extract JDK
unarchive:
src: /tmp/jdk.tar.gz
dest: "{{ jdk_install_dir }}"
remote_src: yes
creates: "{{ jdk_install_dir }}/jdk{{ jdk_version.split('.')[1] }}"
- name: Set JAVA_HOME
lineinfile:
path: /etc/environment
regexp: '^JAVA_HOME='
line: 'JAVA_HOME={{ jdk_install_dir }}/jdk{{ jdk_version.split('.')[1] }}'
state: present
- name: Set PATH
lineinfile:
path: /etc/environment
regexp: '^PATH='
line: 'PATH=$PATH:$JAVA_HOME/bin'
state: present
- name: Reload environment
command: source /etc/environment
```
此 Playbook 在所有主机上下载并安装 Oracle JDK 8。可以通过更改 `jdk_version` 和 `jdk_download_url` 变量来安装其他版本的 JDK。将 `jdk_install_dir` 变量设置为所需的安装目录。
该 Playbook 还设置了 `JAVA_HOME` 和 `PATH` 环境变量,以便在系统范围内使用 Java。最后,使用 `command` 模块重新加载环境变量。
阅读全文