Commit f1b56503 by John Jarvis

updating the rbenv role, removing environment

parent a2c10c77
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
- elasticsearch - elasticsearch
- role: rbenv - role: rbenv
rbenv_user: "{{ forum_user }}" rbenv_user: "{{ forum_user }}"
rbenv_user_home: "{{ forum_home }}" rbenv_dir: "{{ forum_home }}"
rbenv_ruby_version: "{{ forum_ruby_version }}" rbenv_ruby_version: "{{ forum_ruby_version }}"
- forum - forum
- role: virtualenv - role: virtualenv
......
...@@ -27,6 +27,6 @@ ...@@ -27,6 +27,6 @@
- { role: 'edxapp', celery_worker: True } - { role: 'edxapp', celery_worker: True }
- role: rbenv - role: rbenv
rbenv_user: "{{ forum_user }}" rbenv_user: "{{ forum_user }}"
rbenv_user_home: "{{ forum_home }}" rbenv_dir: "{{ forum_home }}"
rbenv_ruby_version: "{{ forum_ruby_version }}" rbenv_ruby_version: "{{ forum_ruby_version }}"
- forum - forum
--- ---
- name: common | Add user www-data - name: common | Add user www-data
# This is the default user for nginx # This is the default user for nginx
user: name="{{ common_web_user }}" user: >
name="{{ common_web_user }}"
shell=/bin/false
- name: common | Create common directories - name: common | Create common directories
file: > file: >
......
...@@ -2,5 +2,5 @@ ...@@ -2,5 +2,5 @@
dependencies: dependencies:
- role: rbenv - role: rbenv
rbenv_user: "{{ edxapp_user }}" rbenv_user: "{{ edxapp_user }}"
rbenv_user_home: "{{ edxapp_rbenv_dir }}" rbenv_dir: "{{ edxapp_rbenv_dir }}"
rbenv_ruby_version: "{{ edxapp_ruby_version }}" rbenv_ruby_version: "{{ edxapp_ruby_version }}"
...@@ -9,7 +9,9 @@ ...@@ -9,7 +9,9 @@
notify: common | restart logrotate notify: common | restart logrotate
- name: edxapp | create application user - name: edxapp | create application user
user: name="{{ edxapp_user }}" user: >
name="{{ edxapp_user }}"
shell=/bin/false
- name: edxapp | create edxapp app dir - name: edxapp | create edxapp app dir
file: > file: >
......
...@@ -8,22 +8,22 @@ ...@@ -8,22 +8,22 @@
# * elasticsearch # * elasticsearch
# * oraclejdk # * oraclejdk
# * rbenv # * rbenv
# #
# #
# Example play: # Example play:
# roles: # roles:
# - common # - common
# - oraclejdk # - oraclejdk
# - elasticsearch # - elasticsearch
# - role: rbenv # - role: rbenv
# rbenv_user: "{{ forum_user }}" # rbenv_user: "{{ forum_user }}"
# rbenv_user_home: "{{ forum_rbenv_dir }}" # rbenv_dir: "{{ forum_rbenv_dir }}"
# rbenv_ruby_version: "{{ forum_ruby_version }}" # rbenv_ruby_version: "{{ forum_ruby_version }}"
# - forum # - forum
- name: forum | setup the forum env - name: forum | setup the forum env
template: src=forum_env.j2 dest={{ forum_home }}/forum_env owner={{ forum_user }} group={{ forum_user }} template: src=forum_env.j2 dest={{ forum_home }}/forum_env owner={{ forum_user }} group={{ forum_user }}
notify: notify:
- forum | restart the forum service - forum | restart the forum service
tags: tags:
- forum - forum
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
- name: forum | ensure .bashrc exists - name: forum | ensure .bashrc exists
shell: touch {{ forum_home }}/.bashrc shell: touch {{ forum_home }}/.bashrc
sudo: true sudo: true
sudo_user: "{{ forum_user }}" sudo_user: "{{ forum_user }}"
tags: tags:
- forum - forum
...@@ -40,9 +40,9 @@ ...@@ -40,9 +40,9 @@
- name: forum | add source of ruby_env to .bashrc - name: forum | add source of ruby_env to .bashrc
lineinfile: lineinfile:
dest="{{ forum_home }}/.bashrc" dest="{{ forum_home }}/.bashrc"
regexp='. {{ forum_home }}/forum_env' regexp='. {{ forum_home }}/forum_env'
line='. {{ forum_home }}/forum_env' line='. {{ forum_home }}/forum_env'
notify: notify:
- forum | restart the forum service - forum | restart the forum service
tags: tags:
- forum - forum
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
- name: forum | copy cs_comments_service SysVunit script - name: forum | copy cs_comments_service SysVunit script
template: src=cs_comments_service.j2 dest=/etc/init.d/cs_comments_service owner=root group=root mode=750 template: src=cs_comments_service.j2 dest=/etc/init.d/cs_comments_service owner=root group=root mode=750
notify: notify:
- forum | restart the forum service - forum | restart the forum service
tags: tags:
- forum - forum
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
- name: forum | copy cs_comments_service upstart script - name: forum | copy cs_comments_service upstart script
template: src=cs_comments_service.conf.j2 dest=/etc/init/cs_comments_service.conf owner=root group=root mode=644 template: src=cs_comments_service.conf.j2 dest=/etc/init/cs_comments_service.conf owner=root group=root mode=644
notify: notify:
- forum | restart the forum service - forum | restart the forum service
tags: tags:
- forum - forum
......
...@@ -2,4 +2,14 @@ ...@@ -2,4 +2,14 @@
rbenv_version: 'v0.4.0' rbenv_version: 'v0.4.0'
rbenv_bundler_version: '1.3.2' rbenv_bundler_version: '1.3.2'
rbenv_root: "{{ rbenv_user_home }}/.rbenv" rbenv_root: "{{ rbenv_dir }}/.rbenv"
rbenv_debian_pkgs:
- build-essential
- git
- libcurl4-openssl-dev
- libmysqlclient-dev
- libreadline-dev
- libssl-dev
- libxml2-dev
- libxslt1-dev
- zlib1g-dev
...@@ -12,13 +12,13 @@ ...@@ -12,13 +12,13 @@
# - common # - common
# - role: rbenv # - role: rbenv
# rbenv_user: "{{ forum_user }}" # rbenv_user: "{{ forum_user }}"
# rbenv_user_home: "{{ forum_rbenv_dir }}" # rbenv_dir: "{{ forum_rbenv_dir }}"
# rbenv_ruby_version: "{{ forum_ruby_version }}" # rbenv_ruby_version: "{{ forum_ruby_version }}"
# #
# Parameters: # Parameters:
# #
# * rbenv_user # * rbenv_user
# * rbenv_user_home # * rbenv_dir
# * rbenv_ruby_version # * rbenv_ruby_version
# #
# cribbed from https://github.com/mmoya/ansible-playbooks/blob/master/rbenv/main.yml # cribbed from https://github.com/mmoya/ansible-playbooks/blob/master/rbenv/main.yml
...@@ -28,196 +28,90 @@ ...@@ -28,196 +28,90 @@
- fail: rbenv_user required for role - fail: rbenv_user required for role
when: rbenv_user is not defined when: rbenv_user is not defined
- fail: rbenv_user_home required for role - fail: rbenv_dir required for role
when: rbenv_user_home is not defined when: rbenv_dir is not defined
- fail: rbenv_ruby_version required for role - fail: rbenv_ruby_version required for role
when: rbenv_ruby_version is not defined when: rbenv_ruby_version is not defined
- name: rbenv | create {{ rbenv_user_home }}
# workaround for the case where the parent
# directory doesn't exist
file: >
path={{ rbenv_user_home }}
state=directory
- name: rbenv | create rbenv user {{ rbenv_user }} - name: rbenv | create rbenv user {{ rbenv_user }}
user: > user: >
name={{ rbenv_user }} name={{ rbenv_user }}
state=present shell=/bin/false
shell=/bin/bash
home={{ rbenv_user_home }} - name: rbenv | create rbenv dir
createhome=yes
tags:
- forum
- update
- name: rbenv | ensure homedir permissions {{ rbenv_user_home }}
# workaround for the case where the parent
# directory doesn't exist
file: > file: >
path={{ rbenv_user_home }} path="{{ rbenv_dir }}"
owner={{ rbenv_user }} owner="{{ rbenv_user }}"
group={{ rbenv_user }}
state=directory state=directory
recurse=yes
- name: rbenv | install build depends - name: rbenv | install build depends
apt: pkg={{ item }} state=present install_recommends=no apt: pkg={{ ",".join(rbenv_debian_pkgs) }} state=present install_recommends=no
with_items: with_items: rbenv_debian_pkgs
- build-essential
- git
- libcurl4-openssl-dev
- libmysqlclient-dev
- libreadline-dev
- libssl-dev
- libxml2-dev
- libxslt1-dev
- zlib1g-dev
tags:
- ruby
- install
- name: rbenv | update rbenv repo - name: rbenv | update rbenv repo
git: > git: >
repo=https://github.com/sstephenson/rbenv.git repo=https://github.com/sstephenson/rbenv.git
dest={{ rbenv_user_home }}/.rbenv dest={{ rbenv_dir }}/.rbenv
version={{ rbenv_version }} version={{ rbenv_version }}
sudo: true
sudo_user: "{{ rbenv_user }}" sudo_user: "{{ rbenv_user }}"
tags:
- ruby
- install
- name: rbenv | ensure .bashrc exists
shell: touch {{ rbenv_user_home }}/.bashrc
sudo: true
sudo_user: "{{ rbenv_user }}"
tags:
- ruby
- update
- name: rbenv | drop a bash_profile
copy: >
src=../../common/files/bash_profile
dest={{ rbenv_user_home }}/.bash_profile
owner={{ rbenv_user }}
group={{ rbenv_user }}
- name: rbenv | ensure ruby_env exists - name: rbenv | ensure ruby_env exists
template: > template: >
src=ruby_env.j2 src=ruby_env.j2
dest={{ rbenv_user_home }}/ruby_env dest={{ rbenv_dir }}/ruby_env
owner={{ rbenv_user }} sudo_user: "{{ rbenv_user }}"
group={{ rbenv_user }}
tags:
- ruby
- update
- name: rebenv | add source of ruby_env to .bashrc
lineinfile:
dest="{{ rbenv_user_home }}/.bashrc"
regexp='. {{ rbenv_user_home }}/ruby_env'
line='. {{ rbenv_user_home }}/ruby_env'
- name: rbenv | drop a bash_profile
copy: >
src=../../common/files/bash_profile
dest={{ rbenv_user_home }}/.bash_profile
owner={{ rbenv_user }}
group={{ rbenv_user }}
- name: rbenv | check ruby-build installed - name: rbenv | check ruby-build installed
command: test -x /usr/local/bin/ruby-build command: test -x /usr/local/bin/ruby-build
register: rbuild_present register: rbuild_present
ignore_errors: yes ignore_errors: yes
tags:
- ruby
- install
- name: rbenv | if ruby-build exists, which versions we can install - name: rbenv | if ruby-build exists, which versions we can install
command: /usr/local/bin/ruby-build --definitions command: /usr/local/bin/ruby-build --definitions
when: rbuild_present|success when: rbuild_present|success
register: installable_ruby_vers register: installable_ruby_vers
ignore_errors: yes ignore_errors: yes
tags:
- ruby
- install
### in this block, we (re)install ruby-build if it doesn't exist or if it can't install the requested version ### in this block, we (re)install ruby-build if it doesn't exist or if it can't install the requested version
- name: rbenv | create temporary directory - name: rbenv | create temporary directory
command: mktemp -d command: mktemp -d
register: tempdir register: tempdir
sudo: true
sudo_user: "{{ rbenv_user }}" sudo_user: "{{ rbenv_user }}"
when: rbuild_present|failed or (installable_ruby_vers is defined and rbenv_ruby_version not in installable_ruby_vers) when: rbuild_present|failed or (installable_ruby_vers is defined and rbenv_ruby_version not in installable_ruby_vers)
tags:
- ruby
- install
- name: rbenv | clone ruby-build repo - name: rbenv | clone ruby-build repo
git: repo=https://github.com/sstephenson/ruby-build.git dest={{ tempdir.stdout }}/ruby-build git: repo=https://github.com/sstephenson/ruby-build.git dest={{ tempdir.stdout }}/ruby-build
when: rbuild_present|failed or (installable_ruby_vers is defined and rbenv_ruby_version not in installable_ruby_vers) when: rbuild_present|failed or (installable_ruby_vers is defined and rbenv_ruby_version not in installable_ruby_vers)
sudo: true
sudo_user: "{{ rbenv_user }}" sudo_user: "{{ rbenv_user }}"
tags:
- ruby
- install
- name: rbenv | install ruby-build - name: rbenv | install ruby-build
command: ./install.sh chdir={{ tempdir.stdout }}/ruby-build command: ./install.sh chdir={{ tempdir.stdout }}/ruby-build
when: rbuild_present|failed or (installable_ruby_vers is defined and rbenv_ruby_version not in installable_ruby_vers) when: rbuild_present|failed or (installable_ruby_vers is defined and rbenv_ruby_version not in installable_ruby_vers)
tags:
- ruby
- install
- name: rbenv | remove temporary directory - name: rbenv | remove temporary directory
file: path={{ tempdir.stdout }} state=absent file: path={{ tempdir.stdout }} state=absent
when: rbuild_present|failed or (installable_ruby_vers is defined and rbenv_ruby_version not in installable_ruby_vers) when: rbuild_present|failed or (installable_ruby_vers is defined and rbenv_ruby_version not in installable_ruby_vers)
tags:
- ruby
- install
- name: rbenv | check ruby {{ rbenv_ruby_version }} installed - name: rbenv | check ruby {{ rbenv_ruby_version }} installed
shell: "{{ rbenv_user_home }}/.rbenv/bin/rbenv versions | grep {{ rbenv_ruby_version }}" shell: "{{ rbenv_dir }}/.rbenv/bin/rbenv versions | grep {{ rbenv_ruby_version }}"
register: ruby_installed register: ruby_installed
sudo: true
sudo_user: "{{ rbenv_user }}" sudo_user: "{{ rbenv_user }}"
ignore_errors: yes ignore_errors: yes
tags:
- ruby
- install
- name: rbenv | install ruby {{ rbenv_ruby_version }} - name: rbenv | install ruby {{ rbenv_ruby_version }}
shell: "{{ rbenv_user_home }}/.rbenv/bin/rbenv install {{ rbenv_ruby_version }} creates={{rbenv_user_home}}/.rbenv/versions/{{rbenv_ruby_version}}" shell: "{{ rbenv_dir }}/.rbenv/bin/rbenv install {{ rbenv_ruby_version }} creates={{ rbenv_dir }}/.rbenv/versions/{{ rbenv_ruby_version }}"
when: ruby_installed|failed when: ruby_installed|failed
sudo: true
sudo_user: "{{ rbenv_user }}" sudo_user: "{{ rbenv_user }}"
tags:
- ruby
- install
- name: rbenv | set global ruby {{ rbenv_ruby_version }} - name: rbenv | set global ruby {{ rbenv_ruby_version }}
shell: "{{rbenv_user_home }}/.rbenv/bin/rbenv global {{ rbenv_ruby_version }}" shell: "{{rbenv_dir }}/.rbenv/bin/rbenv global {{ rbenv_ruby_version }}"
sudo: true
sudo_user: "{{ rbenv_user }}" sudo_user: "{{ rbenv_user }}"
tags:
- ruby
- install
- name: rbenv | install bundler - name: rbenv | install bundler
shell: "{{ rbenv_user_home }}/.rbenv/shims/gem install bundler -v {{ rbenv_bundler_version }}" shell: "{{ rbenv_dir }}/.rbenv/shims/gem install bundler -v {{ rbenv_bundler_version }}"
sudo: true
sudo_user: "{{ rbenv_user }}" sudo_user: "{{ rbenv_user }}"
tags:
- ruby
- install
- name: rbenv | rehash - name: rbenv | rehash
shell: "{{rbenv_user_home}}/.rbenv/bin/rbenv rehash" shell: "{{rbenv_dir}}/.rbenv/bin/rbenv rehash"
sudo: true
sudo_user: "{{ rbenv_user }}" sudo_user: "{{ rbenv_user }}"
tags:
- ruby
- install
## # {{ ansible_managed }}
## Managed by Ansible, do not edit.
##
export RBENV_ROOT="{{ rbenv_root }}" export RBENV_ROOT="{{ rbenv_root }}"
export PATH=$RBENV_ROOT/bin/:$PATH export PATH=$RBENV_ROOT/bin/:$PATH
eval "$(rbenv init -)" eval "$(rbenv init -)"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment