ansible jdk 部署

目录结构

hosts
deployment
    - jdk.yml
roles
    - jdk
        - tasks
              -main.yml
        - templater
        - files
              -jdk8.sh
              

vim hosts

[jdk]
192.168.106.130 hostname=rocky90-106-130
[compose]
192.168.106.130 hostname=rocky90-106-130
[docker]
192.168.106.130 hostname=rocky90-106-130
[timesyncclient]
192.168.106.130 hostname=rocky90-106-130
[aliyuan]
192.168.106.130 hostname=rocky90-106-130
[init]
192.168.106.130 hostname=rocky90-106-130

[all:vars]
ansible_ssh_user=root
ansible_ssh_pass=kc@123456
ansible_ssh_port=22

deployment/jdk.yml

---
- hosts: jdk
  sudo: yes
  roles: 
    - ../roles/jdk

vim roles/jdk/tasks/main.yml

---
### 安装并配置 jdk
# 拷贝解压jdk.tar包到/usr/local(提前执行 bash download_jdk.sh下载jdk.tar.gz包)
- name: Copy_jdk.tar.gz_to_tmp
  unarchive: src=jdk-8u202-linux-x64.tar.gz dest=/usr/local/ copy=yes owner=root group=root
# 创建jdk目录的软连接,易于升级
- name: Create_jdk_link  file: path=/usr/local/jdk src=/usr/local/jdk1.8.0_351 state=link
# 配置jdk变量文件
- name: Set_jdk_profile
  copy: src=jdk8.sh dest=/etc/profile.d/   mode=0777
# 加载jdk环境变量
- name: Source path
  shell: "/bin/bash /etc/profile.d/jdk8.sh"

roles/jdk/files/jdk8.sh

#!/bin/bash
# JAVA Env 全局环境变量
export JAVA_HOME=/usr/local/jdk
export JAVA_BIN=$JAVA_HOME/bin
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/li:$JRE_HOME/lib
export PATH=$PATH:$JAVA_BIN
export JAVA_HOME JAVA_BIN JRE_HOME CLASSPATH PATH
# 将此脚本放到  /etc/profile.d/ 目录下

roles/jdk/files/download_jdk.sh

#!/bin/bash
# 1/ github/gitee 上传空间不足,不能直接push and pull
# 2/ oracle jdk 网站不支持直接下载 jdk.tar.gz
# 3/ 我从华为站下载8u202下载
wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz

测试

# 提前下载jdk包
cd roles/jdk/files/
bash download_jdk.sh
# 执行playbook
ansible-playbook -i hosts deployment/jdk.yml

posted on 2025-11-04 10:25  luokeli  阅读(5)  评论(0)    收藏  举报

导航