RVM over SSH

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

Kasus:

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

Kendala:

  • 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</code>"
      

 

Dah gitu aja.

Selamat istirahat.
Estu~

Advertisements