Commit 1430d035 by e0d

changes to support parameterized role for rbenv

parent cc4c66bf
- name: forum | git checkout forum repo into {{forum_code_dir}} - name: forum | git checkout forum repo into {{ forum_code_dir }}
git: dest={{forum_code_dir}} repo={{forum_source_repo}} version={{forum_version}} git: dest={{ forum_code_dir }} repo={{ forum_source_repo }} version={{ forum_version }}
sudo: yes sudo: yes
sudo_user: ${forum_user} sudo_user: "{{ forum_user }} "
notify: notify:
- forum | restart the forum service - forum | restart the forum service
tags: tags:
...@@ -9,9 +9,9 @@ ...@@ -9,9 +9,9 @@
- deploy - deploy
- name: forum | install comments service bundle - name: forum | install comments service bundle
shell: executable=/bin/bash {{ rbenv_root }}/shims/bundle install chdir={{ forum_code_dir }} shell: executable=/bin/bash {{ forum_home }}/.rbenv/shims/bundle install chdir={{ forum_code_dir }}
sudo: yes sudo: yes
sudo_user: ${forum_user} sudo_user: "{{ forum_user }}"
notify: notify:
- forum | restart the forum service - forum | restart the forum service
tags: tags:
......
...@@ -3,30 +3,28 @@ ...@@ -3,30 +3,28 @@
- name: forum | create $forum_user user - name: forum | create $forum_user user
user: name=$forum_user state=present shell=/bin/bash home=$forum_home user: name=$forum_user state=present shell=/bin/bash home=$forum_home
tags: tags:
- ruby - forum
- update - update
- include: ../../rbenv/tasks/main.yml
- name: forum | setup the forum env - name: forum | setup the forum env
template: src=forum_env.j2 dest={{ ruby_base }}/forum_env owner={{ rbenv_user }} group={{ rbenv_user }} template: src=forum_env.j2 dest={{ forum_home }}/forum_env owner={{ forum_user }} group={{ forum_user }}
tags: tags:
- forum - forum
- update - update
- name: rbenv | ensure .bashrc exists - name: forum | ensure .bashrc exists
shell: touch $ruby_base/.bashrc shell: touch {{ forum_home }}/.bashrc
sudo: true sudo: true
sudo_user: $rbenv_user sudo_user: "{{ forum_user }}"
tags: tags:
- ruby - forum
- update - update
- name: rebenv | add source of ruby_env to .bashrc - name: forum | add source of ruby_env to .bashrc
lineinfile: lineinfile:
dest=$ruby_base/.bashrc dest="{{ forum_home }}/.bashrc"
regexp='. {{ruby_base}}/forum_env' regexp='. {{ forum_home }}/forum_env'
line='. {{ruby_base}}/forum_env' line='. {{ forum_home }}/forum_env'
- 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
......
...@@ -7,4 +7,4 @@ env PID=/var/tmp/comments_service.pid ...@@ -7,4 +7,4 @@ env PID=/var/tmp/comments_service.pid
chdir {{ forum_code_dir }} chdir {{ forum_code_dir }}
exec {{rbenv_root}}/shims/ruby app.rb exec {{forum_home}}/.rbenv/shims/ruby app.rb
\ No newline at end of file \ No newline at end of file
...@@ -14,7 +14,7 @@ USER={{ forum_user }} ...@@ -14,7 +14,7 @@ USER={{ forum_user }}
NAME="cs_comments_service" NAME="cs_comments_service"
RETVAL=0 RETVAL=0
APP_ROOT={{ forum_code_dir }} APP_ROOT={{ forum_code_dir }}
DAEMON={{ rbenv_root }}/shims/ruby DAEMON={{ forum_home }}/.rbenv/shims/ruby
PID=/var/tmp/cs_comments_service.pid PID=/var/tmp/cs_comments_service.pid
OPTIONS="app.rb" OPTIONS="app.rb"
......
...@@ -2,13 +2,7 @@ ...@@ -2,13 +2,7 @@
forum_user: "forum" forum_user: "forum"
forum_home: "/opt/forum" forum_home: "/opt/forum"
rbenv_root: "{{ forum_home }}/.rbenv" forum_ruby_version: "1.9.3-p448"
rbenv_user: "forum"
ruby_version: "1.9.3-p448"
ruby_base: "/opt/forum"
gem_home: "{{ ruby_base }}/.gem"
forum_code_dir: "{{ forum_home }}/cs_comments_service" forum_code_dir: "{{ forum_home }}/cs_comments_service"
forum_source_repo: https://github.com/edx/cs_comments_service.git forum_source_repo: https://github.com/edx/cs_comments_service.git
forum_version: 'HEAD' forum_version: 'HEAD'
\ No newline at end of file
...@@ -3,11 +3,20 @@ ...@@ -3,11 +3,20 @@
# with a number of changes. # with a number of changes.
# #
- name: Create ruby base - fail: rbenv_user required for role
file: path=$ruby_base state=directory owner=$rbenv_user group=$rbenv_user when: rbenv_user is not defined
tags:
- ruby - fail: rbenv_user_home required for role
- update when: rbenv_user_home is not defined
- fail: rbenv_ruby_version required for role
when: rbenv_ruby_version is not defined
#- name: rbenv | create ruby base
# file: path=$ruby_base state=directory owner={{ rbenv_user }} group={{ rbenv_user }}
# tags:
# - ruby
# - update
- name: rbenv | install build depends - name: rbenv | install build depends
apt: pkg=$item state=present install_recommends=no apt: pkg=$item state=present install_recommends=no
...@@ -26,39 +35,39 @@ ...@@ -26,39 +35,39 @@
- install - install
- name: rbenv | update rbenv repo - name: rbenv | update rbenv repo
git: repo=https://github.com/sstephenson/rbenv.git dest=$rbenv_root version=v0.4.0 git: repo=https://github.com/sstephenson/rbenv.git dest={{ rbenv_user_home }}/.rbenv version={{ rbenv_version }}
sudo: true sudo: true
sudo_user: $rbenv_user sudo_user: "{{ rbenv_user }}"
tags: tags:
- ruby - ruby
- install - install
- name: rbenv | ensure .bashrc exists - name: rbenv | ensure .bashrc exists
shell: touch $ruby_base/.bashrc shell: touch {{ rbenv_user_home }}/.bashrc
sudo: true sudo: true
sudo_user: $rbenv_user sudo_user: "{{ rbenv_user }}"
tags: tags:
- ruby - ruby
- update - update
- name: rbenv | drop a bash_profile - name: rbenv | drop a bash_profile
copy: src=../../common/files/bash_profile dest=$ruby_base/.bash_profile owner=$rbenv_user group=$rbenv_user 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: src=ruby_env.j2 dest={{ ruby_base }}/ruby_env owner={{ rbenv_user }} group={{ rbenv_user }} template: src=ruby_env.j2 dest={{ rbenv_user_home }}/ruby_env owner={{ rbenv_user }} group={{ rbenv_user }}
tags: tags:
- ruby - ruby
- update - update
- name: rebenv | add source of ruby_env to .bashrc - name: rebenv | add source of ruby_env to .bashrc
lineinfile: lineinfile:
dest=$ruby_base/.bashrc dest="{{ rbenv_user_home }}/.bashrc"
regexp='. {{ruby_base}}/ruby_env' regexp='. {{ rbenv_user_home }}/ruby_env'
line='. {{ruby_base}}/ruby_env' line='. {{ rbenv_user_home }}/ruby_env'
- name: rbenv | drop a bash_profile - name: rbenv | drop a bash_profile
copy: src=../../common/files/bash_profile dest=$ruby_base/.bash_profile owner=$rbenv_user group=$rbenv_user 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
...@@ -72,7 +81,7 @@ ...@@ -72,7 +81,7 @@
command: mktemp -d command: mktemp -d
register: tempdir register: tempdir
sudo: true sudo: true
sudo_user: $rbenv_user sudo_user: "{{ rbenv_user }}"
when_failed: $rbuild_present when_failed: $rbuild_present
tags: tags:
- ruby - ruby
...@@ -82,65 +91,65 @@ ...@@ -82,65 +91,65 @@
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_failed: $rbuild_present when_failed: $rbuild_present
sudo: true sudo: true
sudo_user: $rbenv_user sudo_user: "{{ rbenv_user }}"
tags: tags:
- ruby - ruby
- install - 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_failed: $rbuild_present when_failed: $rbuild_present
tags: tags:
- ruby - ruby
- install - install
- name: rbenv | remove temporary directory - name: rbenv | remove temporary directory
file: path=${tempdir.stdout} state=absent file: path={{ tempdir.stdout }} state=absent
when_failed: $rbuild_present when_failed: $rbuild_present
tags: tags:
- ruby - ruby
- install - install
- name: rbenv | check ruby $ruby_version installed - name: rbenv | check ruby {{ rbenv_ruby_version }} installed
shell: RBENV_ROOT=${rbenv_root} ${rbenv_root}/bin/rbenv versions | grep $ruby_version shell: ${rbenv_user_home}/.rbenv/bin/rbenv versions | grep ${rbenv_ruby_version}
register: ruby_installed register: ruby_installed
sudo: true sudo: true
sudo_user: $rbenv_user sudo_user: "{{ rbenv_user }}"
ignore_errors: yes ignore_errors: yes
tags: tags:
- ruby - ruby
- install - install
- name: rbenv | install ruby $ruby_version - name: rbenv | install ruby {{ rbenv_ruby_version }}
shell: RBENV_ROOT=${rbenv_root} ${rbenv_root}/bin/rbenv install $ruby_version shell: ${rbenv_user_home }/.rbenv/bin/rbenv install ${rbenv_ruby_version}
when_failed: $ruby_installed when_failed: $ruby_installed
sudo: true sudo: true
sudo_user: $rbenv_user sudo_user: "{{ rbenv_user }}"
tags: tags:
- ruby - ruby
- install - install
- name: rbenv | set global ruby $ruby_version - name: rbenv | set global ruby {{ rbenv_ruby_version }}
shell: RBENV_ROOT=${rbenv_root} ${rbenv_root}/bin/rbenv global $ruby_version shell: "{{rbenv_user_home }}/.rbenv/bin/rbenv global {{ rbenv_ruby_version }}"
sudo: true sudo: true
sudo_user: $rbenv_user sudo_user: "{{ rbenv_user }}"
when_failed: $ruby_installed when_failed: $ruby_installed
tags: tags:
- ruby - ruby
- install - install
- name: rbenv | install bundler - name: rbenv | install bundler
shell: RBENV_ROOT=${rbenv_root} ${rbenv_root}/shims/gem install bundler -v 1.3.2 shell: "{{ rbenv_user_home }}/.rbenv/shims/gem install bundler -v {{ rbenv_bundler_version }}"
sudo: true sudo: true
sudo_user: $rbenv_user sudo_user: "{{ rbenv_user }}"
tags: tags:
- ruby - ruby
- install - install
- name: rbenv | rehash - name: rbenv | rehash
shell: RBENV_ROOT=${rbenv_root} ${rbenv_root}/bin/rbenv rehash shell: "{{rbenv_user_home}}/.rbenv/bin/rbenv rehash"
sudo: true sudo: true
sudo_user: $rbenv_user sudo_user: "{{ rbenv_user }}"
when_failed: $ruby_installed when_failed: $ruby_installed
tags: tags:
- ruby - ruby
......
---
rbenv_version: 'v0.4.0'
rbenv_bundler_version: '1.3.2'
\ No newline at end of file
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