本文主要讲述如何使用Ansible在Redhat Linux系列上安装java 17。
关于Ansible的基本概念可以参考运维自动化之Ansible
1. 安装Ansible
安装Ansible参考安装ansible | 鹏叔的技术博客
2. 编写Ansible Playbook
如果远程主机非root用户,需要准备一个ansible.cfg文件用于覆盖ansible默认配置,
也可以直接修改/etc/ansible/ansible.cfg
1 2 3 4 5 6 7 8 9 10 11
| # vi ansible.cfg [defaults] # replace the user with actual user name remote_user = user_name_on_managed_host
[privilege_escalation] become = True become_method = sudo become_user = root become_ask_pass = False
|
vi install_java.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| --- - name: Install Java hosts: all become: yes vars: - jdk_package_name: java-17-openjdk-devel jdk_version: 17.0.9.0.9 env_file: /etc/profile tasks: - name: Install OpenJDK yum: name={{ jdk_package_name }}-{{ jdk_version }} state=present - name: Set Java environment variables lineinfile: dest={{ env_file }} insertafter={{ item.position }} line={{ item.value }} state=present with_items: - {position: EOF,value: "export JAVA_HOME=/usr/lib/jvm/{{ jdk_package_name }}-{{ jdk_version }}.el8.x86_64"} - {position: EOF,value: "export PATH=$JAVA_HOME/bin/:$PATH"} - {position: EOF,value: "export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"} notify: Reload profile handlers: - name: Reload profile shell: source {{ env_file }}
|
3. 执行Ansible Playbook
1
| ansible-playbook install_java.yaml
|
4. 参考文档
使用ansible 安装java
Ansible 学习总结(6)—— Ansible 19个常用模块使用示例
Linux System Roles