Automação de compilação - Build automation

Automação de build é o processo de automatizar a criação de um build de software e os processos associados, incluindo: compilar o código-fonte do computador em código binário , empacotar o código binário e executar testes automatizados .

Visão geral

Historicamente, a automação da construção era realizada por meio de makefiles . Hoje, existem duas categorias gerais de ferramentas:

Utilitário de automação de compilação
Isso inclui utilitários como Make , Rake , CMake , MSBuild , Ant , Maven ou Gradle (Java) etc. Seu objetivo principal é gerar artefatos de construção por meio de atividades como compilar e vincular o código-fonte.
Servidores de automação de compilação
Estas são ferramentas gerais baseadas na web que executam utilitários de automação de compilação em uma base programada ou acionada; um servidor de integração contínua é um tipo de servidor de automação de construção.

Dependendo do nível de automação, a seguinte classificação é possível:

Uma lista de software para cada um pode ser encontrada na lista de software de automação de construção .

Utilitários de automação de compilação

Os utilitários de automação de compilação permitem a automação de tarefas simples e repetíveis. Ao usar a ferramenta, ele calculará como atingir o objetivo executando as tarefas na ordem correta e específica e executando cada tarefa. As duas maneiras pelas quais as ferramentas de construção diferem são orientadas a tarefas e orientadas a produtos. As ferramentas orientadas a tarefas descrevem a dependência das redes em termos de um conjunto específico de tarefas e as ferramentas orientadas a produtos descrevem as coisas em termos dos produtos que geram.

Servidores de automação de compilação

Embora os servidores de construção existam muito antes dos servidores de integração contínua, eles geralmente são sinônimos de servidores de integração contínua; no entanto, um servidor de construção também pode ser incorporado a uma ferramenta ARA ou ferramenta ALM .

Tipos de servidor

Automação de compilação distribuída

A automação é obtida por meio do uso de um farm de compilação para compilação distribuída ou a execução da etapa do utilitário. O processo de construção distribuída deve ter inteligência de máquina para entender as dependências do código-fonte para executar a construção distribuída.

Relação com entrega contínua e integração contínua

A automação de build é considerada a primeira etapa na direção da implementação de uma cultura de entrega contínua e DevOps . A automação de construção combinada com integração contínua , implantação , automação de lançamento de aplicativo e muitos outros processos ajudam a levar uma organização adiante no estabelecimento de melhores práticas de entrega de software.

Vantagens

As vantagens da automação de construção para projetos de desenvolvimento de software incluem

  • Uma pré-condição necessária para integração contínua e teste contínuo
  • Melhore a qualidade do produto
  • Acelere a compilação e o processamento do link
  • Elimine tarefas redundantes
  • Minimize "construções ruins"
  • Elimine dependências do pessoal-chave
  • Ter histórico de construções e lançamentos para investigar problemas
  • Economize tempo e dinheiro - pelos motivos listados acima.

Veja também

Referências