andreychernih/railsbox

View on GitHub
templates/ansible/roles/base/tasks/main.yml.erb

Summary

Maintainability
Test Coverage
---
- name: Update apt cache
  apt:
    update_cache: yes
    cache_valid_time: 3600


- name: Install apt dependencies
  apt: name={{ item }}
  with_items:
    - autoconf
    - bison
    - build-essential
    - libssl-dev
    - libyaml-dev
    - libreadline6-dev
    - zlib1g-dev
    - libncurses5-dev
    - nodejs
    - python-pip
    - python-dev
    - htop
    - git
    - libgmp-dev
<% if params[:databases].include?('postgresql') -%>
    - libpq-dev
<% end %>

- name: Install additional packages
  apt: name={{ item }}
  with_items: packages
  when: packages

- name: Create application group
  group: name={{ group_name }}

- name: Create application user
  user: name={{ user_name }} group={{ group_name }} shell=/bin/bash home={{ user_home_path }}

- name: Setup script to read application environment
  template: src=read_environment.sh.j2 dest=/etc/profile.d/read_environment.sh
  notify:
    - restart application
<% params[:background_jobs].each do |job| -%>
    - restart <%= job %>
<% end %>

- name: Create temp directory
  file: path={{ app_temp_path }} state=directory
  sudo: no

- name: Create profile.d directory
  file: path={{ profile_d_path }} state=directory owner={{ user_name }} group={{ group_name }}

- name: Create ~/.bash_profile which loads all from ~/profile.d
  template: src=bash_profile.j2 dest={{ user_home_path }}/.bash_profile owner={{ user_name }} group={{ group_name }}