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
- Crie um novo aplicativo de caixa de depósito via https://www.dropbox.com/developers/apps/ (torne-o um aplicativo restrito à sua pasta)
gem install dbox
(em sua máquina local)- Gere um token de acesso usando as instruções em https://github.com/kenpratt/dbox
- Exporte todas as 4 variáveis DROPBOX_ para seu servidor de CI e seu laptop (temporariamente)
- Execute dbox create Cover para criar um diretório de cobertura na pasta do seu aplicativo no dropbox. Faça isso localmente.
- Execute seus casos de teste uma vez (localmente)
cp -r html/* coverage/
# Supondo que seu relatório de cobertura esteja em html / diretóriocd coverage && dbox push
# primeiro push- 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.