Forma preferida de instalar o Ruby / Rake para todos os usuários

2

Temos alguns servidores diferentes configurados para lidar com nosso principal produto. Temos um servidor de desenvolvimento, um servidor de demonstração / preparação e um servidor de produção. Todos estes são executados em alguma variante do Debian ou Ubuntu.

Para gerenciar a criação de novos clientes, compacte backups, liste dados estatísticos e outros enfeites; Eu criei um novo repositório Git (hospedado no GitHub ) que contém várias tarefas do Rake. Eu então usei rvm para instalar o Ruby e o bundler para instalar o gemas necessárias, e eu uso rvmsudo rake my_task para executar as tarefas.

Isso funcionou muito bem até que um novo desenvolvedor entrou no projeto. Ele está tendo que baixar rvm, instalar o ruby e instalar todas as gemas apropriadas para fazê-lo funcionar, e tem sido difícil para ele descobrir se usar sudo ou rvmsudo porque é configurado de forma diferente em cada máquina .

Então, estou querendo começar do zero e reinstalar tudo em todos os servidores. Idealmente, eu quero que meus desenvolvedores clonem o repositório do Git em seu diretório pessoal (caso eles estejam modificando as tarefas de rake) e executem tarefas de rake usando sudo OR rvmsudo. Eu quero padronizá-lo para que eles não tenham que adivinhar qual deles é.

Eu me lembro de ter problemas para obter as versões mais recentes do Ruby, Rails e Rake instaladas com o gerenciador de pacotes apt-get padrão e é por isso que mudei para o rvm, mas parece que essa pode ter sido uma má escolha.

Então, alguém sabe de um ótimo guia ou tem alguma indicação sobre como configurar Ruby / Rails / Rake em um servidor para que todos os desenvolvedores com acesso sudo possam executar os comandos e não precisem se preocupar em instalar nada. ?

Muito obrigado!

    
por Topher Fangio 11.08.2011 / 17:44

1 resposta

1

Parece que você está dando o primeiro grande passo na padronização do seu ambiente. Parabéns - Você está em um breve período de agonia, seguido pelo sysadmin Nirvana.
Sério, demore um mês, construa o que você deseja para seus sistemas no futuro próximo e comece a trabalhar em um plano para implantá-lo em qualquer lugar usando algum tipo de ferramenta de implantação ( fantoche ou chef são os mais comuns nos dias de hoje).

As ferramentas de implantação e a padronização resolvem seu problema principal: tudo funcionará da mesma maneira em todas as máquinas.

Em termos de colocar o software na máquina modelo e escolher como as coisas funcionarão, minha sugestão em um sistema baseado no Debian é instalar tudo usando apt se você puder, mas se você estiver usando ferramentas de implementação não é Não é tão crítico: seus sistemas serão implantados, corrigidos e mantidos pelas ferramentas, portanto, você não deve fazer SEMPRE fazer correções pontuais em um servidor ativo. (Sim, isso acontece às vezes, mas lembre-se de que suas ferramentas de implantação irão pisar nessas mudanças, então certifique-se de torná-las do modo correto em algum momento.)

Certifique-se de dar aos seus desenvolvedores a chance de brincar com o novo ambiente (um laboratório da VMWare é MUITO agradável de se ter) antes de lançá-lo ...

    
por 11.08.2011 / 18:27