Deployment

通過 SaltStack 安裝 RVM(無法安裝 Ruby)

  • July 30, 2015

我在這裡使用 saltstack 文件在我的 salt-minions 上安裝 RVM

鹽 2015.5.2(鋰)

在 Ubuntu 14.04 系統上

這是我的 ruby​​ 的 init.sls 文件。

gpg-import-D39DC0E3:
 cmd.run:
   - user: rvm
   - require:
     - user: rvm
   - name: gpg --keyserver hkp://keys.gnupg.net:80 --recv-keys D39DC0E3; echo '409B6B1796C275462A1703113804BB82D39DC0E3:4:' |gpg --import-ownertrust
- unless: gpg --fingerprint |fgrep 'Key fingerprint = 409B 6B17 96C2 7546 2A17  0311 3804 BB82 D39D C0E3'

rvm-deps:
 pkg.installed:
   - pkgs:
     - bash
     - coreutils
     - gzip
     - bzip2
     - gawk
     - sed
     - curl
     - git-core
     - subversion

rvm:
 group.present: []
 user.present:
   - gid: rvm
   - home: /home/rvm
   - require:
     - group: rvm

mri-deps:
 pkg.installed:
   - pkgs:
     - build-essential
     - openssl
     - libreadline6
     - libreadline6-dev
     - curl
     - git-core
     - zlib1g
     - zlib1g-dev
     - libssl-dev
     - libyaml-dev
     - libsqlite3-0
     - libsqlite3-dev
     - sqlite3
     - libxml2-dev
     - libxslt1-dev
     - autoconf
     - libc6-dev
     - libncurses5-dev
     - automake
     - libtool
     - bison
     - subversion
     - ruby
jruby-deps:
 pkg.installed:
   - pkgs:
     - curl
     - g++
     - openjdk-6-jre-headless

ruby-2.0.0:
 rvm.installed:
   - default: True
   - user: rvm
   - require:
     - pkg: rvm-deps
     - pkg: mri-deps
     - user: rvm

jruby:
 rvm.installed:
   - user: rvm
   - require:
     - pkg: rvm-deps
     - pkg: jruby-deps
     - user: rvm

jgemset:
 rvm.gemset_present:
   - ruby: jruby
   - user: rvm
   - require:
     - rvm: jruby

mygemset:
 rvm.gemset_present:
   - ruby: ruby-2.0.0
   - user: rvm
   - require:
     - rvm: ruby-2.0.0    

gpg-import-D39DC0E3 來自一個應該可以工作(但不是)的修復程序在這裡找到

我的最終目標是從這個精彩的教程中對 redmine 進行鹽部署。

任何幫助表示讚賞。

我目前的輸出

----------
         ID: rvm
   Function: group.present
     Result: True
    Comment: Group rvm is already present
    Started: 
   Duration: 
    Changes:   
----------
         ID: rvm
   Function: user.present
     Result: True
    Comment: User rvm is present and up to date
    Started: 
   Duration: 
    Changes:   
----------
         ID: gpg-import-D39DC0E3
   Function: cmd.run
       Name: gpg --keyserver hkp://keys.gnupg.net:80 --recv-keys             D39DC0E3; echo                         '409B6B1796C275462A1703113804BB82D39DC0E3:4:' |gpg --import-ownertrust
     Result: True
    Comment: unless execution succeeded
    Started: 
   Duration: 
    Changes:   
----------
         ID: rvm-deps
   Function: pkg.installed
     Result: True
    Comment: All specified packages are already installed.
    Started: 
   Duration: 
    Changes:   
----------
         ID: mri-deps
   Function: pkg.installed
     Result: True
    Comment: All specified packages are already installed.
    Started: 
   Duration: 
    Changes:   
----------
         ID: jruby-deps
   Function: pkg.installed
     Result: True
    Comment: All specified packages are already installed.
    Started: 
   Duration: 
    Changes:   
----------
         ID: ruby-2.0.0
   Function: rvm.installed
     Result: False
    Comment: Could not install ruby.
    Started: 
   Duration: 
    Changes:   
----------
         ID: jruby
   Function: rvm.installed
     Result: False
    Comment: Could not install ruby.
    Started: 
   Duration: 
    Changes:   
----------
         ID: jgemset
   Function: rvm.gemset_present
     Result: False
    Comment: One or more requisite failed
    Started: 
   Duration: 
    Changes:   
----------
         ID: mygemset
   Function: rvm.gemset_present
     Result: False
    Comment: One or more requisite failed
    Started: 
   Duration: 
    Changes:   

Summary
------------
Succeeded: 6
Failed:    4
------------
Total states run:    10

我相信salt.states.rvm 文件缺少實際安裝 rvm 的狀態:

install_rvm:
 cmd.run:
   - name: curl -sSL https://get.rvm.io | bash
   - user: rvm
   - unless: /home/rvm/.rvm/bin/rvm --version

引用自:https://serverfault.com/questions/708898