Created
April 8, 2014 15:53
-
-
Save psy-q/10146833 to your computer and use it in GitHub Desktop.
Ansible: git refuses to run because it can't cd to /root
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| - name: Install packages for rbenv | |
| apt: pkg={{ item }} state=present | |
| with_items: | |
| - git | |
| - libreadline-dev | |
| - libreadline6-dev | |
| - libssl-dev | |
| - libxslt1-dev | |
| - libxml2-dev | |
| - build-essential | |
| - zlib1g-dev | |
| - sudo | |
| - name: Make sure {{ ruby_user }} exists and uses bash | |
| user: name={{ ruby_user }} shell=/bin/bash state=present | |
| - name: Check if rbenv is installed | |
| sudo: true | |
| sudo_user: "{{ ruby_user }}" | |
| command: bash -lc "rbenv --version" | |
| register: rbenv_is_installed | |
| ignore_errors: true | |
| - name: Install rbenv locally for {{ ruby_user }} | |
| git: repo=https://github.com/sstephenson/rbenv.git dest={{ rbenv_root }} | |
| #shell: cd ~ && git clone https://github.com/sstephenson/rbenv.git /home/pflanze/.rbenv | |
| sudo: true | |
| sudo_user: "{{ ruby_user }}" | |
| register: rbenv_has_been_installed | |
| when: rbenv_is_installed|failed | |
| - name: Install ruby-build so you can install Rubies through rbenv | |
| sudo: true | |
| sudo_user: "{{ ruby_user }}" | |
| git: repo=https://github.com/sstephenson/ruby-build.git dest={{rbenv_root}}/plugins/ruby-build | |
| when: rbenv_is_installed|failed | |
| - name: Install rbenv .profile snippet for user {{ ruby_user }} (1/2) | |
| sudo: true | |
| sudo_user: "{{ ruby_user }}" | |
| lineinfile: | |
| dest: ~/.profile | |
| state: present | |
| regexp: "export PATH=.*rbenv.*" | |
| line: "export PATH=\"{{ rbenv_root }}:$PATH\"" | |
| create: yes | |
| when: rbenv_is_installed|failed | |
| - name: Install rbenv .profile snippet for user {{ ruby_user }} (2/2) | |
| sudo: true | |
| sudo_user: "{{ ruby_user }}" | |
| lineinfile: | |
| dest: ~/.profile | |
| state: present | |
| regexp: ^eval.*rbenv init.* | |
| line: eval "$(rbenv init -)" | |
| insertafter: "^export PATH=.*rbenv.*" | |
| create: yes | |
| when: rbenv_is_installed|failed | |
| - name: Upgrade rbenv for {{ ruby_user }} | |
| sudo: true | |
| sudo_user: "{{ ruby_user }}" | |
| command: chdir={{ rbenv_root }} bash -l -c 'git pull' | |
| when: rbenv_is_installed|success | |
| - name: Upgrade ruby-build for {{ ruby_user }} | |
| sudo: true | |
| sudo_user: "{{ ruby_user }}" | |
| command: chdir={{ rbenv_root }}/plugins/ruby-build bash -lc 'git pull' | |
| when: rbenv_is_installed|success | |
| - name: "rbenv: Check if Ruby {{ ruby_version }} is installed for user {{ ruby_user }}" | |
| sudo: true | |
| sudo_user: "{{ ruby_user }}" | |
| command: bash -lc 'rbenv versions | grep {{ ruby_version }}' | |
| register: ruby_is_installed | |
| ignore_errors: true | |
| - name: "rbenv: Install rbenv Ruby {{ ruby_version }} for user {{ ruby_user }}" | |
| sudo: true | |
| sudo_user: "{{ ruby_user }}" | |
| command: executable=/bin/bash bash -lc 'rbenv install {{ ruby_version }}' | |
| when: (rbenv_is_installed|success or rbenv_has_been_installed|success) and ruby_is_installed|failed | |
| register: ruby_has_been_installed | |
| - name: "rbenv: Check if Ruby {{ ruby_version }} user {{ ruby_user }} has Bundler" | |
| sudo: true | |
| sudo_user: "{{ ruby_user }}" | |
| command: executable=/bin/bash bash -lc 'rbenv shell {{ ruby_version }} && rbenv rehash && gem list bundler | grep bundler' | |
| when: (rbenv_is_installed|success or rbenv_has_been_installed|success) and (ruby_is_installed|success or ruby_has_been_installed|success) | |
| register: bundler_is_installed | |
| ignore_errors: true | |
| - name: "rbenv: Install bundler for Ruby {{ ruby_version }} of user {{ ruby_user }}" | |
| sudo: true | |
| sudo_user: "{{ ruby_user }}" | |
| command: executable=/bin/bash bash -lc 'rbenv shell {{ ruby_version }} && rbenv rehash && gem install bundler' | |
| when: bundler_is_installed|failed | |
| - name: "rbenv: Set default ruby for {{ ruby_user }} to {{ ruby_version }}" | |
| sudo: true | |
| sudo_user: "{{ ruby_user }}" | |
| command: executable=/bin/bash bash -lc 'RBENV_ROOT={{ rbenv_root.stdout }} rbenv global {{ ruby_version }}' | |
| when: set_default | |
| - name: "rbenv: Set default ruby for {{ ruby_user }} to {{ ruby_version }}" | |
| sudo: true | |
| sudo_user: "{{ ruby_user }}" | |
| command: executable=/bin/bash bash -lc 'rbenv global {{ ruby_version }}' | |
| when: default_ruby == ruby_version |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment