Locarails 1.1.5
Posted on September 05, 2008
Pessoal, ontem a noite coloquei no ar a nova versão do Locarails. Acabei de blogar sobre suas funcionalidades no Blog de Produtos da Locaweb. Como ficou bem extenso não vou copiar aqui, dêem uma olhadinha por lá ;-) Mas na prática fiz um monkey-patch sobre o Capistrano 2.5.0 para consertar um bug que eles introduziram nessa versão e eu fiz o copy strategy realmente funcionar no Windows (adicionei a dependência ao archive-tar-minitar para não chamar o comando tar via linha de comando, que quebra no Windows).
Para o Rubistas de plantão eu queria pedir algumas opiniões. Antes de mais nada, é a primeira vez que faço um programa em linha de comando (não-web) por isso ainda não sei se fiz da melhor maneira, estou aberto à sugestões. A segunda coisa é que ele usa o Capistrano por baixo. Agora, como fazer testes de um pacote desses? Ainda fiquei na dúvida porque existem alguns componentes a serem testados:
- A linha de comando propriamente dita. Talvez isso seja mais simples, validando as combinações padrão e se ele se comporta corretamente. Primeiro problema: algumas delas dão um exit e isso provavelmente pararia a suite de testes.
- Os templates gerados dependendo da estratégia escolhida (copy ou git). Isso poderia ser uma comparação simples sobre um arquivo estático pré-gerado
- A receita deploy.rb propriamente dita, se o capistrano vai funcionar corretamente. Mas para isso eu precisaria de uma conta limpa de SSH, o que seria inviável para outros programadores testarem. Como vocês lidam com testes em ambientes remotos? Apenas mock mesmo? Mas e a complexidade de mockar o comportamento do capistrano?
- As receitas auxiliares, como backup, restore, upload de chaves ssh, tail remoto de log. Como testar essas coisas?
Normalmente fazemos testes de nossas aplicações em Rails, com as coisas locais, dados locais, fixtures locais, talvez algumas APIs REST remotas que fazemos mock. Mas e quando a complexidade da dependência externa é grande – nesse caso o Locarails é totalmente para gerar receitas de Capistrano.
Se alguém tem idéias, não deixe de fazer um fork do meu projeto e já implementá-las. Estou aguardando pull requests ;-)
blog comments powered by Disqus
Archives
- February 12(2)
- December 11(1)
- November 11(4)
- October 11(6)
- September 11(5)
- August 11(1)
- July 11(5)
- May 11(4)
- April 11(11)
- March 11(4)
- February 11(3)
- January 11(4)
- December 10(9)
- November 10(2)
- October 10(10)
- September 10(4)
- August 10(6)
- July 10(14)
- June 10(16)
- May 10(8)
- April 10(14)
- March 10(9)
- February 10(6)
- January 10(14)
- December 09(10)
- November 09(10)
- October 09(7)
- September 09(19)
- August 09(4)
- July 09(12)
- June 09(7)
- May 09(12)
- April 09(11)
- March 09(9)
- February 09(9)
- January 09(12)
- December 08(14)
- November 08(20)
- October 08(15)
- September 08(18)
- August 08(25)
- July 08(13)
- June 08(21)
- May 08(29)
- April 08(27)
- March 08(12)
- February 08(32)
- January 08(31)
- December 07(27)
- November 07(30)
- October 07(25)
- September 07(28)
- August 07(16)
- July 07(15)
- June 07(16)
- May 07(7)
- April 07(13)
- March 07(8)
- February 07(9)
- January 07(24)
- December 06(17)
- November 06(17)
- October 06(15)
- September 06(38)





