Montando uma sistemática de deploy para o Podcast

Todos nós sabemos que um projeto de software que não possui um deploy seguro e automático acaba falhando em algum momento. O deploy é o ato de colocar o que foi desenvolvido em produção.

Os projetos que não possuem um bom sistema de deploy, acabam acumulando muitas tarefas antes de virar para produção. Isso ocorre por não justificar gastar, por exemplo, o dobro de tempo gasto no que foi desenvolvido somente para fazer a entrega.

Ai sabe como é que é, o tudao.tar.gz demora pra ser enviado, problemas de falta de arquivo, ninguém dorme, e aquela história de sempre.

Se você está desenvolvendo para web, utilize o Capistrano. Mas este post não é sobre isso.

Essa introdução é uma justificativa para o sistema de deploy que eu montei para o meu podcast Voltando pra Casa.

Desde que tive a idéia de fazer o podcast, eu sabia que se eu não montasse um esquema automatizado para a publicação, acabaria não mantendo com a freqüência desejada de um podcast por dia.

Comecei a pensar no fluxo necessário e cheguei à seguinte proposta:

  1. Gravo no meu Celular Nokia N95 os arquivos
  2. Ao ligar o MacBook o script de sincronização (de contatos e agenda) rodaria também a sincronização dos audios gravados. (isso ainda não rolou)
  3. Um programa escrito em Ruby e Shoes abriria perguntando quais arquivos eu desejo publicar. (isso não vai rolar, usei a abordagem de workflow por diretório)
  4. Ao selecionar os arquivos, eles entram em fila para serem processados.
  5. A rotina de processamento, faz um mix colocando um wav padrão no início e no final de cada arquivo.
  6. Os arquivos já mixados são convertidos de .wav para .mp3
  7. Em seguida, as tags ID3 são aplicadas em cada arquivos convertido
  8. Eles são enviados por ftp para o meu servidor de hospedagem
  9. Um post é criado no WordPress pelo XML-RPC e salvo como rascunho
  10. O firefox é aberto na página do post para eu editá-lo e publicá-lo

Resumindo, minha interação se restringe a escolher quais arquivos gravados no celular serão convertidos em podcast e depois publicar no momento que achar oportuno.

Desta maneira a chance de eu conseguir manter este podcast aumenta bastante!

Vou publicar este script em breve no GitHub em http://github.com/rafaelp/podcast-deployment

Abraços e até a próxima.