build/provisioning/playbook.yml
changeset 28 b0b56e0f8c7f
equal deleted inserted replaced
27:a2342f26c9de 28:b0b56e0f8c7f
       
     1 ---
       
     2 - hosts: all
       
     3 
       
     4   vars:
       
     5 
       
     6   tasks:
       
     7 
       
     8 #    - name: ensure correct locale LC_ALL
       
     9 #      lineinfile: dest=/etc/sysconfig/i18n regexp=^LC_ALL= line=LC_ALL="en_US.UTF-8"
       
    10 #    - name: ensure correct locale LANG
       
    11 #      lineinfile: dest=/etc/sysconfig/i18n regexp=^LANG= line=LANG="en_US.UTF-8"
       
    12 
       
    13     # - name: set .bashrc
       
    14     #   copy: src=files/.bashrc dest=/home/vagrant/.bashrc force=yes
       
    15     # - name: set .profile
       
    16     #   copy: src=files/.profile dest=/home/vagrant/.profile force=yes
       
    17     - name: set hostname
       
    18       hostname: name=corpus-build
       
    19 
       
    20     - name: check yum base last update
       
    21       stat: path=/var/cache/yum/x86_64/6/base/cachecookie
       
    22       register: yum_cache_stat_base
       
    23 
       
    24     - name: additional repos install
       
    25       yum: name={{item}} state=latest enablerepo=extras
       
    26       with_items:
       
    27         - epel-release
       
    28 
       
    29     # Remi yum repository.
       
    30     - stat: path=/etc/yum.repos.d/remi.repo
       
    31       register: remi_repo
       
    32 
       
    33     - name: Download Remi repo.
       
    34       get_url: url=http://rpms.famillecollet.com/enterprise/remi-release-6.rpm dest=/tmp/
       
    35       when: remi_repo.stat.exists == False
       
    36 
       
    37     - name: Install Remi repo.
       
    38       command: rpm -Uvh --force /tmp/remi-release-6.rpm creates=/etc/yum.repos.d/remi.repo
       
    39       when: remi_repo.stat.exists == False
       
    40 
       
    41     - name : delete remi rpm
       
    42       file: path=/tmp/remi-release-6.rpm state=absent
       
    43 
       
    44     - name: additional repos install epel
       
    45       ini_file:
       
    46         dest: /etc/yum.repos.d/epel.repo
       
    47         section: epel
       
    48         option: enabled
       
    49         value: 1
       
    50 
       
    51     - name: yum update
       
    52       yum: name=* update_cache=yes state=latest
       
    53 #      when: ansible_date_time.epoch|float - yum_cache_stat_base.stat.mtime > 60*60*12*24
       
    54 
       
    55     - name: install packages
       
    56       yum: name={{item}} state=latest enablerepo=remi
       
    57       with_items:
       
    58         - git-core
       
    59         - zlib
       
    60         - zlib-devel
       
    61         - gcc-c++
       
    62         - patch
       
    63         - readline
       
    64         - readline-devel
       
    65         - libyaml-devel
       
    66         - libffi-devel
       
    67         - openssl-devel
       
    68         - make
       
    69         - bzip2
       
    70         - autoconf
       
    71         - automake
       
    72         - libtool
       
    73         - bison
       
    74         - curl
       
    75         - sqlite-devel
       
    76         - rpm-build
       
    77         - redhat-rpm-config
       
    78         - php56
       
    79         - php56-php-pdo
       
    80         - php56-php-mbstring
       
    81         - php56-php-mcrypt
       
    82 
       
    83     - name: activate remi php scl
       
    84       lineinfile: dest=/home/vagrant/.bash_profile regexp="^source \/opt\/remi\/php56\/enable$" line="source /opt/remi/php56/enable"
       
    85 
       
    86     - stat: path=/home/vagrant/.rbenv
       
    87       register: rbenv_stat
       
    88 
       
    89     - name: clone rbenv github repo
       
    90       git: repo=https://github.com/rbenv/rbenv.git dest=/home/vagrant/.rbenv
       
    91       become: yes
       
    92       become_user: vagrant
       
    93       when: rbenv_stat.stat.exists == False
       
    94 
       
    95     - name: configure rbenv
       
    96       command: chdir=/home/vagrant/.rbenv {{ item }}
       
    97       with_items:
       
    98           - src/configure
       
    99           - /usr/bin/make -C src
       
   100       become: yes
       
   101       become_user: vagrant
       
   102       when: rbenv_stat.stat.exists == False
       
   103 
       
   104     - name: add rbenv to path
       
   105       lineinfile: dest=/home/vagrant/.bash_profile regexp="^PATH=" line="PATH=$PATH:$HOME/.local/bin:$HOME/bin:$HOME/.rbenv/bin"
       
   106 
       
   107     - name: add rbenv init to profile
       
   108       lineinfile: dest=/home/vagrant/.bash_profile regexp="^eval \"\$\(rbenv init \-\)\"$" line="eval \"$(rbenv init -)\""
       
   109 
       
   110     - name: clone ruby-build github repo
       
   111       git: repo=https://github.com/rbenv/ruby-build.git dest=/home/vagrant/.rbenv/plugins/ruby-build
       
   112       become: yes
       
   113       become_user: vagrant
       
   114       when: rbenv_stat.stat.exists == False
       
   115 
       
   116     - name: install ruby 2.3.0
       
   117       command: chdir=/home/vagrant/.rbenv creates=/home/vagrant/.rbenv/versions/2.3.0 /home/vagrant/.rbenv/bin/rbenv install 2.3.0
       
   118       become: yes
       
   119       become_user: vagrant
       
   120 
       
   121     - name: make ruby 2.3.0 global
       
   122       command: chdir=/home/vagrant/.rbenv /home/vagrant/.rbenv/bin/rbenv global 2.3.0
       
   123       become: yes
       
   124       become_user: vagrant
       
   125 
       
   126     - name: install fpm
       
   127       shell: source ~/.bash_profile && gem install fpm
       
   128       args:
       
   129           chdir: /home/vagrant
       
   130           executable: /usr/bin/bash
       
   131           creates: /home/vagrant/.rbenv/shims/fpm
       
   132       become: yes
       
   133       become_user: vagrant