RVM over SSH 

Bukan materi baru, cuma baru nemu aja solusinya setelah mikir dua hari.

Kasus:

  1. Delpoy Ruby on Rails via ssh
    laptop$ ssh estu@ip-mesin "cd ~ && deploy.sh"
  2. Ruby dibantu rvm.

Kendala:

  1. Log stdout:
    bundle not found

Mitigasi:

Di server via login langsung:
server$ echo $PATH

Ouput tidak sama dengan ‘echo PATH’ dari ssh:
laptop$ ssh estu@ip-mesin "echo $PATH"

Solusi:

  1. Set env dari .bashrc ke /etc/environment. Samakan hasil “echo $PATH”. Kira-kira begini:
    PATH="/home/ubuntu/.rvm/gems/ruby-2.3.3/bin:/home/ubuntu/.rvm/gems/ruby-2.3.3@global/bin:/home/ubuntu/.rvm/rubies/ruby-2.3.3/bin:/home/ubuntu/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/ubuntu/.rvm/bin"
    export GEM_PATH=/home/ubuntu/.rvm/gems/ruby-2.3.3:/home/ubuntu/.rvm/gems/ruby-2.3.3@global
    export GEM_HOME=/home/ubuntu/.rvm/gems/ruby-2.3.3
  2. Disable env dari .bashrc.
  3. Reboot
  4. Tambahkan opsi –login pada baris ssh dan sederhanakan opsi perintah
    laptop$ ssh estu@ip-mesinĀ  bash --login "./deploy.sh

Dah gitu aja.

Selamat istirahat.
Estu~