通过 SaltStack 安装 RVM(无法安装 Ruby)

通过 SaltStack 安装 RVM(无法安装 Ruby)

我正在使用 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 来自一个应该可以工作的修复程序(但实际上没有找到)这里

我的最终目标是从很棒的教程。

任何帮助都将受到赞赏。

我的当前输出

----------
          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

答案1

我相信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

相关内容