[Gastosabertos-dev] Deploy de atualização no site e no blog

Luiz Armesto luiz.armesto em gmail.com
Quarta Novembro 18 17:27:19 UTC 2015


Tem 2 grandes pontos de consumo de tempo no processo de deploy automático
que podemos atacar

 * instalação das deps de frontend (npm e bower)
 * Instalação de deps de backend (pip)

O segundo está sendo feito, aparentemente, de modo desnecessário. Se formos
ver no log do circleci há uma seção "pip install" muito rápida (00:01), que
parece estar usando um cache para não precisar instalar sempre os pacotes.
Depois na seção "$ fab build_all && fab deploy" é criada uma nova
virtualenv e instalados todos os pacotes python, agora sem cache. O
ambiente do circleci já é isolado e já usa uma virtualenv automaticamente,
então não precisamos criar nossa propria virtualenv e reinstalar tudo. Isso
já deve economizar cerca de um minuto ou mais.

O ponto das deps frontend, a instalação dos pacotes do bower é necessária,
pois é deles que são copiados os js para a pasta static no processo de
build. Os pacotes do npm só são necessários para rodar os testes, se não me
falha a memória. Então temos duas alternativas, uma é fazer esse detector e
só baixar as deps do npm e rodar os testes se for necessário. A outra é
fazermos algum esquema de cache dos pacotes, seja incluindo as pastas
"bower_components" e "node_modules" no controle de versão, seja salvando-as
externamente um um servidor nosso, e baixando-as e atualizando-as no
processo de test e deploy.


[]'s

2015-11-18 15:03 GMT-02:00 Edgar Zanella Alvarenga <e em vaz.io>:

> *finalizando o email precoce :P*
>
> Atualmente estamos atualizando o site após um push no repositório
> gastosabertos_dev via circleci. O problema é que o processo do circleci é
> muito lento, ele cria uma máquina virtual, instala dependências nela, roda
> gulp, apt-get, faz testes, compila as páginas e envia os resultados depois
> de alguns minutos pro nosso servidor. O stack é sensato se pensarmos em só
> subir atualizações complexas após testes para termos certeza que nada
> ficará quebrado no site. Mas quando queremos apenas mudar um texto num dos
> arquivos de conteúdo markdown, ou publicar um novo post, o processo me
> parece muito lento.
>
> Como simplificar o processo? Criamos nos script de deploy um detector se
> as atualizações foram apenas nos arquivos markdown e nesse caso só geramos
> novamente as novas páginas?
>
> E.
>
> _______________________________________________
> Gastosabertos-dev mailing list
> Gastosabertos-dev em lists.okfn.org
> https://lists.okfn.org/mailman/listinfo/gastosabertos-dev
>



-- 
Luiz Armesto
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://lists.okfn.org/pipermail/gastosabertos-dev/attachments/20151118/1788e043/attachment-0003.html>


Mais detalhes sobre a lista de discussão Gastosabertos-dev