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
本文来自博客园,站在巨人的肩膀上,坚持开源精神,遵循开源协议:Apache Licene 2.0协议。
浙公网安备 33010602011771号