Karo – Um companheiro de linha de comando para um aplicativo Rails

Karo é um companheiro de linha de comando para um aplicativo Rails que torna mais fácil executar comandos de rotina localmente ou no servidor.

Github – https://github.com/rahult/karo

Site – http://rahult.github.io/karo/

Exemplo de coisas que pode fazer, para descansar, consulte karo help

karo db pull # Will sync the production MySQL database on to local machine
karo db console
# Will open MySQL console on the server
karo console
# Will open Rails console on the server
karo assets pull
-e staging # Will sync the dragonfly assets from staging on to the local machine
karo log
-f # Will tail the production log with -f argument

Você também pode escrever seus comandos personalizados

karo server {command} # Will try to find a command from .karo.yml or execute the one provided on the server
karo client
{command} # Will try to find a command from .karo.yml or execute the one provided on the client

Poucas Suposições

  • Você tem acesso SSH aos seus servidores
  • Você tem a estrutura de diretório de implantação do Capistrano em seu servidor
    [implantar para]
    [implantar
    para] / releases
    [implantar para] / releases / 20080819001122
    [implantar
    para] / releases / …
    [implantar para] / shared
    [implantar
    para] / shared /config/database.yml
    [implantar em] / shared / log
    [implantar
    em] / shared / pids
    [implantar em] / shared / system
    [implantar
    em] / current -> [deploy_to] / releases / 20100819001122
  • Você está usando MySQL como servidor de banco de dados
  • Você está usando o Dragonfly para armazenar seus ativos

Estou trabalhando no suporte a outros bancos de dados e gerenciadores de ativos para versões futuras

Instalação

Karo é lançado como uma Ruby Gem. A gem deve ser instalada em um
aplicativo Ruby on Rails. Para instalar, basta adicionar o seguinte ao seu Gemfile:

# Gemfile
gem
'karo'

Depois de atualizar seu pacote, você pode usar a função Karo a partir da linha de comando

Uso (linha de comando)

karo help

Arquivo de configuração padrão (.karo.yml)

production:
host
: example.com
user
: deploy
path
: /data/app_name
commands
:
server
:
memory
: watch vmstat -sSM
top_5_memory
: ps aux | sort -nk +4 | tail
client
:
deploy
: cap production deploy
staging
:
host
: example.com
user
: deploy
path
: /data/app_name
commands
:
server
:
memory
: vmstat -sSM
client
:
deploy
: ey deploy -e staging -r staging