0

Integração contínua

-
Hudson

A cada dia que passa, evoluímos mais, aqui na empresa, para um cenário estável de integração contínua. O que isso quer dizer ? Bom, integração contínua, é você ter o status do seus sistema (testes, cobertura, javadoc, build, release, etc.) em um único ponto, e de fácil acesso. Com isso, fica simples ver quando alguém faz uma macacada e detona o software que você está fazendo.

Para atingir esse estado da arte de integração contínua, há vários métodos. Desde agendar tudo no crontab, criar scripts, ou utilizar softwares específicos para isso. Qua aliás, não faltam opções.

Aqui no trabalho, começamos a utilizar o continuum, porém, há apenas uma máquina para gerar uma grande quantidade de builds, sem contar com os testes automáticos. Dado isso, resolvi, colocar na minha máquina mesmo, uma tarefinha no crontab para gerar a build e rodar os testes automatizados, o que leva mais ou menos 8 horas (por isso optei em rodar na minha máquina e não no continuum server da empresa =p).

Até então estava tudo indo bem, com relatórios diários do status dos testes. Mas isso me abriu um horizonte. De repente me peguei fazendo uns scripts (em Ruby, lógico) para gravar no banco o resultado dos testes, para conseguir fazer um tracking da evolução desta tarefa. Apesar de ser divertido, estava meio complicado fazer este script. E eis, que numa conversa no café, um amigo me sugere a utilização do Hudson, que assim como o continuum é um software para integração contínua.

Ainda está cedo para disponibilizar qualquer análise, mas estou gostando muito, principalmente da facilidade que o software proporciona. Em poucos cliques consegui fazer o hudson baixar o codigo do subversion, fazer a build, gerar relatorio dos testes unitários, e ainda rodar a suite de testes automatizados. Ah, e de graça consegui um gráfico que mostra a variaca na quantidade de testes (e de falhas e erros nos testes também), ou seja, tudo o que eu queria!

Bom, fica ai a dica de pelo menos experimentarem o Hudson

0

Crontab via Ruby

-

Aqui vai uma dica que vi no excelente blog rubyinside:

Há um projeto no github, chamado whenever, que encapsula chamadas ao cron, utilizando a sitaxe e o jeitão do Ruby.  É possível fazer agendar tarefas no cron desta forma:

  every 3.hours do
    runner "MyModel.some_process"
    rake "my:rake:task"
    command "/usr/bin/my_great_command"
  end

  every 1.day, :at => '4:30 am' do
    runner "MyModel.task_to_run_at_four_thirty_in_the_morning"
  end

  every :hour do # Many shortcuts available: :hour, :day, :month, :year, :reboot
    runner "SomeModel.ladeeda"
  end

  every :sunday, :at => '12pm' do # Use any day of the week or :weekend, :weekday
    runner "Task.do_something_great"
  end

Para saber mais, visite o site do projeto, ou assista a este video.

Fonte: http://www.rubyinside.com.br/whenever-uma-dsl-ruby-para-programar-tarefas-no-cron-1514

0

Invocando um SessionBean 2.1 via JRuby

-

Veja como é simples invocar um session bean através de um cliente JRuby.

Obs: Não esqueça do jndi.properties e de adicionar, ao classpath (tem que ser via variável CLASSPATH), o seu jbossall-client.jar (caso seu servidor seja jboss =p) e o jar que contém as interfaces dos seu SessionBean.

#!/usr/bin/env jruby

require 'java'
include_class 'javax.naming.InitialContext'

ic = InitialContext.new
sb_home = ic.lookup("MySessionBean")
sb_remote = sb_home.create

value = sb_remote.sayHi
puts "Valor = #{value}"

Pois é, juro que com isso é possível invocar o EJB.

Isso abre várias portas, não ?

0

Rails Summit: Eu vou, mas só amanhã!

-

Pois é, hoje começou a Rails Summit, e eu estou doido para saber tudo o que está rolando lá, mas infelizmente só poderei ir amanhã. Obviamente perderei a palestra do DHH, e algumas outras que eu realmente queria ver, mas amanha o dia também tá cheio de coisas boas…

Obviamente, após a conferência, compilarei o que achar de mais interessante e postarei aqui no blog.

0

Palestra na semana da computação – USP São Carlos

-

De volta às origens! Depois de palestrar no evento “É dia de java” na UFSCar, chegou a vez de palestrar na USP São Carlos, universidade que me formou. Confesso que estou um pouco ansioso para voltar lá e ver como estão as coisas, conversar com os professores, ver como anda a infra-estrutura e, quem sabe, reencontrar velhos amigos. Desta vez, falaremos sobre Maven 2, algo que eu acho magnífico e nos poupa muito trabalho aqui no trampo (tá certo que as vezes nos dá uma trabalheira também…). A Palestra ocorrerá na semana entre os dias 14/10 e 18/10. Provavelmente será no dia 17/09, mas ainda temos que confirmar.