ansible軟件部署

每個軟件或集羣都建立一個單獨的角色。java

mkdir -pv ansible/roles/{jdk,hadoop,spark}/{tasks,files,templates,meta,handlers,vars}linux

建立JDK roleshell

pwd
/root/ansible_playbooks/roles/jdk7
ls
files  handlers  meta  tasks  templates  vars

一、上傳軟件包oop

將jdk-8u80-linux-x64.gz上傳到files目錄下spa

2、編寫taskscode

vi tasks/main.yml 

- name: mkdir                                                                                                               
  file: path=/usr/java state=directory mode=0755
- name: unzip
  unarchive: src={{jdk_package_name}} dest=/usr/local/java/
- name: set env 
  lineinfile: dest={{env_file}} insertafter="{{item.position}}" line="{{item.value}}" state=present
  with_items:
  - {position: EOF, value: "\n"}
  - {position: EOF, value: "export JAVA_HOME=/usr/local/java/{{jdk_version}}"}
  - {position: EOF, value: "export PATH=$JAVA_HOME/bin:$PATH"}
- name: enforce env 
  shell: source {{env_file}}

3. 編寫varsblog

vi vars/main.yml

jdk_package_name: jdk-8u80-linux-x64.gz                                                                                                       
env_file: /etc/profile
jdk_version: jdk1.8.0_80

4. playbook角色 ip

 vi jdk.yml 
- hosts: jdk
  remote_user: root
  roles:
  - jdk
ansible-playbook jdk.yml
相關文章
相關標籤/搜索