Envie seus artefatos de construção ou relatórios de cobertura para o Dropbox gratuitamente

A maioria dos serviços de CI recomenda que você use S3 ou rsync como uma forma de armazenar seus relatórios de cobertura ou construir artefatos. Em vez disso, decidi usar o Dropbox de forma fácil e gratuita.

Isso foi feito com um projeto Rails.

Isso tem a vantagem adicional de que você pode compartilhar aquele diretório específico da caixa de depósito com a equipe e todos obterão a versão mais recente, automaticamente.

Passos

  1. Crie um novo aplicativo de caixa de depósito via https://www.dropbox.com/developers/apps/ (torne-o um aplicativo restrito à sua pasta)
  2. gem install dbox (em sua máquina local)
  3. Gere um token de acesso usando as instruções em https://github.com/kenpratt/dbox
  4. Exporte todas as 4 variáveis ​​DROPBOX_ para seu servidor de CI e seu laptop (temporariamente)
  5. Execute dbox create Cover para criar um diretório de cobertura na pasta do seu aplicativo no dropbox. Faça isso localmente.
  6. Execute seus casos de teste uma vez (localmente)
  7. cp -r html/* coverage/ # Supondo que seu relatório de cobertura esteja em html / diretório
  8. cd coverage && dbox push # primeiro push
  9. Escreva um script after_build no servidor CI, que carrega no dbox usando o seguinte comando
# Upload our coverage to dropbox
gem install dbox

dbox clone coverage

rm
-rf coverage/assets/ # Delete any directories
mv coverage
/* coverage/ # Copy all files
mv coverage
/.[!.]* coverage/ # Move hidden files
cd coverage

dbox push

Esta é apenas a essência básica. Sinta-se à vontade para modificar de acordo com suas necessidades. Comente abaixo se você enfrentar quaisquer problemas ao implementar isso.

* PS: * Uma pasta restrita de aplicativos não pode ser compartilhada de acordo com as limitações do Dropbox. Em vez disso, o que fiz foi configurar um link simbólico na minha máquina local como `Dropbox / cobertura do aplicativo -> Dropbox / Aplicativos / cobertura do aplicativo / cobertura /. Isso significa que meus colegas só obterão os relatórios de cobertura mais recentes se minha máquina estiver executando a caixa de depósito. No entanto, é melhor do que criar um aplicativo sem sandbox no Dropbox.