ansible을 이용하여 ubuntu image에서 oracle java 7을 설치하는 방법이다. 

apt-get은 update_cache를 이용해서 재설치를 피할 수 있는 방법이 있지만, apt-get을 사용하지 않으면 매번 재설치를 해야 하는 번거로움을 피하기 위해서 java_exists 변수를 사용하였다. 

그리고, oracle java 설치시 oracle license를 수락하는 부분도 추가되었다. 



---

  - name: Check if the java compiler exists

    command : java -version

    ignore_errors: True

    register: java_exists


 # - name: Java already installed

 #   command: echo "Java already installed"

 #   when: java_exists.rc == 0


  - name: ensuring add-apt-repository is installed

    apt: pkg=python-software-properties state=latest

    when: java_exists.rc != 0


  - name: adding webupd8 ppa for java7 installer

    apt_repository: repo=ppa:webupd8team/java

    when: java_exists.rc != 0


  - name: updating apt cache

    apt: update_cache=yes

    when: java_exists.rc != 0


  - name: installing java7

    shell: echo debconf shared/accepted-oracle-license-v1-1 select true |

           debconf-set-selections &&

           echo debconf shared/accepted-oracle-license-v1-1 seen true |

           debconf-set-selections &&

           apt-get -y install oracle-java7-installer

    when: java_exists.rc != 0


결과화면


$ vagrant ssh

Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic x86_64)


 * Documentation:  https://help.ubuntu.com/

Welcome to your Vagrant-built virtual machine.

Last login: Tue Jun 17 21:11:36 2014 from 192.168.1.1

vagrant@web:~$ java -version

java version "1.7.0_60"

Java(TM) SE Runtime Environment (build 1.7.0_60-b19)

Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)




Posted by '김용환'
,