Probando SSHKit

SSHKit es una gema que permite realizar acciones automatizadas ssh en diversos servidores de manera sencilla. Un Ejemplo sencillo que permite conectarse a varios servidores y hacer un tail seria:

require 'sshkit'
require 'sshkit/dsl'

SSHKit::Backend::Netssh.configure do |ssh|
  ssh.ssh_options = {
      user: '<username>',
  	  password: '<password>'
  }
end

SSHKit.config.output_verbosity = :debug
SSHKit.config.format = :pretty

servers_list = %w{<server1> <server2>}
site_dir = '<directorio>'

on servers_list do |host|
  within site_dir do
    execute(:tail, '-20', 'server.log')
  end
end

Detectar el shell activo

  • Existen varias maneras de detectar el shell activo
$ echo $0
/bin/zsh
$ ps -p $$
PID TTY           TIME CMD
5379 ttys001    0:01.46 /bin/zsh

Uso de Rbenv

Rbenv permite tener instaladas varias versiones de ruby y su gestión.

  • Listado de versiones de ruby disponibles para instalar
$ rbenv install -l
  • Instala la version 2.2.0
$ rbenv install 2.2.0

La versiones de rbenv se instala en ~/.rbenv/versions

  • Activa la version de ruby de rbenv. Si se quiere activar automáticamente se deberia poner en ~/.bashrc o ~/.zshrc
$ eval "$(rbenv init -)"
  • Fija la version de ruby para todos el sistema
$ rbenv global 2.2.0
  • Fija la version de ruby para una carpeta con rbenv
$ rbenv local 2.2.0
  • Muestra versiones instaladas en rbenv
$ rbenv versions
  system
  2.1.5
* 2.2.0 (set by /.rbenv/version)
  • Devuelve todas las versiones de un comando
# => rbenv whence <comando>
$ rbenv whence rails
2.1.5
2.2.0

Actualizar gem

Para actualizar la versión del rubygems es necesarios ejecutar:

$ gem update --system

Crear un site con jekyll y github

Si disponemos de un site en jekyll, github es una solución ideal para alojarla. Solamente hay que seguir los siguientes pasos:

  • Crear un repositorio en github con el nombre del usuario (p.e. jamvius.github.io)
  • Si no tenemos todavia nuestro site en git, lo añadimos
$ git init

y lo añadimos al repositorio

$ git add .
$ git commit -m "version inicial del site"
  • Añadir el repositorio remoto al codigo de nuestro site
$ git remote add origin git@github.com:jamvius/jamvius.github.io.git
  • Subir el codigo a github
$ git push origin master

…y listo. Github automaticamente genera el site jekyll en los dominios de usuario (de la forma jamvius.github.io)

Ahora cada vez que querramos actualizar nuestro site, solo tendremos que realizar:

# => Guardamos la nueva version del site en git
$ git add .
$ git commit -m "nueva vesion del site"
# => La subimos a github
$ git push origin master