Skip to content

Instantly share code, notes, and snippets.

@silenius
Created May 18, 2015 14:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save silenius/45118eca2a6af4964796 to your computer and use it in GitHub Desktop.
Save silenius/45118eca2a6af4964796 to your computer and use it in GitHub Desktop.
{% set args = salt['pillar.get']('venvs:ruby:{}'.format(venv)) %}
{% set is18 = args.ruby_version.startswith('1.8') %}
{% set rbenv_root = '/usr/local/venvs/{}/rbenv'.format(venv) %}
include:
- users.webapps.{{ args.user }}
- pkgs.rbenv
{{ venv }}:
cmd.run:
- name: rbenv install {{ args.ruby_version }}
- user: {{ args.user }}
- group: {{ args.user }}
- cwd: {{ rbenv_root }}
- env:
- RBENV_ROOT: {{ rbenv_root }}
{% if is18 %}
- CC: gcc48
{% endif %}
- require:
- file: {{ rbenv_root }}
- pkg: rbenv
- pkg: ruby-build
- pkg: subversion
{% if is18 %}
- pkg: gcc48
{% endif %}
{{ venv }}_deps:
cmd.wait:
- name: >
eval "$(rbenv init -)" &&
rbenv shell {{ args.ruby_version }} &&
gem install rubygems-update &&
gem update --system &&
gem install bundler &&
rbenv rehash &&
bundle install --gemfile salt://venvs/ruby/{{ venv }}-requirements.txt
- user: {{ args.user }}
- group: {{ args.user }}
- cwd: {{ rbenv_root }}
- shell: /usr/local/bin/bash
- watch:
- cmd: {{ venv }}
- env:
- RBENV_ROOT: {{ rbenv_root }}
{% if is18 %}
- CC: gcc48
{% endif %}
{{ venv }}_dir:
file.directory:
- name: {{ rbenv_root }}
- user: {{ args.user }}
- group: {{ args.user }}
- mode: 755
- makedirs: True
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment