Segundo a Wikipedia, “software deployment” significa:

“todas as atividades necessárias para tornar um software disponível para uso”

Esta lista de atividades pode ser algo simples como enviar um diretório de arquivos para um FTP ou um processo complexo, envolvendo migrações de banco de dados, múltiplos servidores, vários níveis de cache, etc.

Geralmente o processo de deployment automatizado é uma sequencia natural do processo de integração contínua e exitem diversas ferramentas e formas de se automatizar esse processo, tanto gratuitas quanto pagas.

Vamos considerar os dois extremos de complexidade no quesito deploy automatizado.

De um lado o mais simples: um shell script que realiza uma série de comandos Linux (ou outro sistema operacional) para colocar o software em produção.

De outro lado um sistema de deploy ligado a uma ferramenta de integração contínua como o Jenkins, Codeship ou Travis.

Em dois projetos de clientes da Coderockr resolvemos adotar uma solução intermediária: scripts PHP.
imagem-artigo-elton-deploy

Para isso estamos usando o Deployer.

Continue reading

Twitter