使用Ansible自动配置JDK环境
1、首先安装好Ansible环境,具体步骤请见Ansible安装
2、先创建hosts文件(为后面编写脚本安装JDK做铺垫)
[root@localhost /]# vi hosts
[jdktest]
192.168.186.134 ansible_ssh_user=guxiong ansible_ssh_pass=private
注:记得/etc/ansible/hosts也要加入
3、创建该层级的文件目录
├── roles
├── jdk-install
│ ├── default
│ ├── files #jdk压缩包存放目录
│ │ └── jdk-7u79-linux-x64.tar.gz
│ ├── handler
│ ├── meta
│ ├── tasks #部署安装流程yml文件目录
│ │ └── main.yml
│ ├── templates
│ │ └── set_jdk.sh #配置目标机器的Java环境变量脚本
│ └── vars
│ └── main.yml #记录使用到的变量
├──jdk-install.yml
├──hosts
├──jdk-install.sh
4、编辑tasks下面的main.yml
- name: copy jdk to remote host
copy: src=jdk-7u79-linux-x64.tar.gz dest=~
- name: unzip jdk
shell: tar -zxf jdk-7u79-linux-x64.tar.gz
- name: creat soft link
shell: ln -s ~/jdk1.7.0_79 jdk
- name: set jdk_env copy use template
template: src=set_jdk.sh dest=~/set_jdk.sh
- name: execute script to set jdkenv
shell: sh set_jdk.sh
- name: source bash_profile
shell: source ~/.bash_profile
- name: remove files
shell: rm jdk-7u79-linux-x64.tar.gz set_jdk.sh
5、编辑templates下的set_jdk.sh
#!/bin/bash echo "export JAVA_HOME=${HOME}/jdk" >> ~/.bash_profile
echo 'export CLASSPATH=.:${JAVA_HOME}/lib' >> ~/.bash_profile
echo 'export PATH=${JAVA_HOME}/bin:$PATH' >> ~/.bash_profile
source ~/.bash_profile
6、将使用到的变量编辑在vars下的main.yml
user: guxiong
host_cluster: jdktest
7、jdk-install.yml
- hosts: "{{ host_cluster }}"
gather_facts: no
vars:
user: "{{ user }}"
roles:
- jdk-install
8、ansible-playbook安装
[root@localhost /]# ansible-playbook jdk-install.yml --extra-var "host_cluster=jdktest user=guxiong"
PLAY [jdktest] **************************************************************** TASK: [jdk-install | copy jdk to remote host] *********************************
changed: [192.168.186.134] TASK: [jdk-install | unzip jdk] ***********************************************
changed: [192.168.186.134] TASK: [jdk-install | creat soft link] *****************************************
changed: [192.168.186.134] TASK: [jdk-install | set jdk_env copy use template] ***************************
changed: [192.168.186.134] TASK: [jdk-install | execute script to set jdkenv] ****************************
changed: [192.168.186.134] TASK: [jdk-install | source bash_profile] *************************************
changed: [192.168.186.134] TASK: [jdk-install | remove files] ********************************************
changed: [192.168.186.134] PLAY RECAP ********************************************************************
192.168.186.134 : ok=7 changed=7 unreachable=0 failed=0
8、为了方便编写安装脚本
[root@localhost /]# vi jdk-install.sh
#!/bin/bash
set -e
source ~/.bash_profile
ansible-playbook jdk-install.yml -i ./hosts -e "host_cluster=${host_cluster} user=${user}" 注:${host_cluster} 为执行脚本时需要传入的服务组名,${user}为用户名
[root@localhost /]# ./jdk-install.sh jdktest guxiong
结果一样能安装成功
PLAY [] *********************************************************************** TASK: [jdk-install | copy jdk to remote host] *********************************
changed: [192.168.186.134] TASK: [jdk-install | unzip jdk] ***********************************************
changed: [192.168.186.134] TASK: [jdk-install | creat soft link] *****************************************
changed: [192.168.186.134] TASK: [jdk-install | set jdk_env copy use template] ***************************
changed: [192.168.186.134] TASK: [jdk-install | execute script to set jdkenv] ****************************
changed: [192.168.186.134] TASK: [jdk-install | source bash_profile] *************************************
changed: [192.168.186.134] TASK: [jdk-install | remove files] ********************************************
changed: [192.168.186.134] PLAY RECAP ********************************************************************
192.168.186.134 : ok=7 changed=7 unreachable=0 failed=0
使用Ansible自动配置JDK环境的更多相关文章
- RocketMQ的安装配置:配置jdk环境,配置RocketMQ环境,配置集群环境,配置rocketmq-console
RocketMQ的安装配置 演示虚拟机环境:Centos64-1 (D:\linuxMore\centos6_64) root / itcast : 固定IP 192.168.52.128 一,配置J ...
- Linux CentOS 配置JDK环境
一.下载JDK 下载JDK的方式有两种: 1.Linux中使用wget下载 1.使用命令安装wget yum install wget 2.下载 wget 'http://download.oracl ...
- 配置JDK环境变量,与各步骤的意义
配置JDK环境变量 1,新建变量名:JAVA_HOME,变量值:C:\Program Files\Java\jdk1.7.0 (变量值为jdk安装路径) 2,打开P ...
- 配置JDK环境变量
•配置JDK环境变量<Windows系统下> 点击我的电脑右键----->属性------>高级------>环境变量-------> 新建(建议在系统变量中新建 ...
- Windows 7下配置JDK环境变量和Java环境变量配置
下面来介绍一下Java环境变量配置,是在Windows 7下配置JDK环境变量. 方法/步骤 1 安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为:C:\Program Fil ...
- MAC OX 配置JDK环境变量
大家在windows里面配置JDK环境变量很容易,但是如果要在mac里面配置JDK环境变量和windows里面有所不同,具体如下: 第一: mac OS里面自带jdk,不过是1.6的版本,现在很多人使 ...
- ubuntu 配置JDK环境变量
ubuntu 配置JDK环境变量 (2011-11-25 16:45:59) 转载▼ 标签: ubuntu jdk 环境变量 杂谈 分类: Linux_Ubuntu_CentOs 过程如下: 1. 先 ...
- linux 下安装jdk及配置jdk环境图解
linux 下安装jdk及配置jdk环境图解 一:先检測是否已安装了JDK 运行命令: # rpm -qa|grep jdk 或 # rpm -q jdk 或 #find / -name j ...
- 第一节:学会Java前提-手把手教你配置JDK环境变量
前言 大家好,今天写一遍学会Java前提-手把手教你配置JDK环境变量的概述,希望你们喜欢 下载地址 下载jdk,和eclipse就比较简单了,提供JDK 9 地址: http://www.oracl ...
随机推荐
- Android Camera API/Camera2 API 相机预览及滤镜、贴纸等处理
Android Lollipop 添加了Camera2 API,并将原来的Camera API标记为废弃了.相对原来的Camera API来说.Camera2是又一次定义的相机 API,也重构了相机 ...
- CSS 命名规范总结
CSS 命名规范总结 BEM 命名给 CSS 以及 html 提供清晰结构,命名空间提供更多信息,模块化提高代码的重用,以达到 CSS 命名语义化.可重用性高.后期维护容易.加载渲染快的要求. 首先, ...
- spring boot热部署pom.xml配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- CentOs下安装gcc/g++/gdb
使用yum安装gcc:yum install gcc即可.使用:which gcc 查看是否安装成功 使用yum安装g++:yum install gcc-c++ 即可.使用:which g++ 查看 ...
- NFC读卡APP
# 设计文档 ### 简介----------------------------- 这个APP的功能是使用手机的NFC读卡器功能,做到读取卡片支持M1卡和CPU卡. ### 功能列表-------- ...
- senfile函数实例的运行过程截图
//要传输的文件内容如下所示: 启动服务器,等待客户端连接(在同一台主机上模拟的) 客户端远程登录,这里是在本地登录 这个要注意一点就是远程登陆的时候一定要带上端口号不然连接失败!!
- PLSQL 连接不上64位ORACLE数据库解决办法
http://it.oyksoft.com/post/6003/ huan jing bian liang TNS_ADMIN D:\OracleClient D:\OracleClient\TNS ...
- Android基础总结(五)网络通信2
HttpClient 发送get请求 创建一个客户端对象 HttpClient client = new DefaultHttpClient(); 创建一个get请求对象 HttpGet hg = n ...
- WebIM技术---编写前端WebSocket组件
过去我们想要实现一个实时Web应用通常会考虑采用ajax轮循或者是long polling技术,但是因为频繁的建立http连接会带来多余的请求以及消息精准性的问题,让我们在实现实时Web应用时头疼不已 ...
- csdn 模式识别
http://blog.csdn.net/liyuefeilong/article/details/45217335 模式识别 http://ceit.ucas.ac.cn/index.php?id= ...