Automatizar o ciclo de vida das suas aplicações com compilação e integração contínuas

Enquanto programadores, escreve código e verifica-o no repositório de código, mas as consolidações verificadas no repositório podem nem sempre ser consistentes. Quando vários programadores trabalham no mesmo projeto, os problemas podem surgir com a integração. As equipas podem deparar-se com situações em que as coisas não funcionam, os erros acumulam-se e o desenvolvimento do projeto é adiado. Os programadores têm de esperar até que todo o código de software seja criado e testado para verificar se existem erros, o que torna o processo lento e menos iterativo.

Com a compilação e integração contínuas, os programadores podem simplificar as compilações e testar o respetivo código ao consolidar as alterações ao repositório de código fonte e ao colocar testes e verificações no ambiente de compilação. Desta forma, estão sempre a executar testes no código. Todas as alterações efetuadas ao código fonte são criadas continuamente sempre que for efetuada uma consolidação no repositório. A cada entrada, o servidor de integração contínua (CI) valida e executa qualquer teste que o programador criou. Se os testes não forem aprovados, o código é enviado novamente para mais alterações. Desta forma, os programadores não interrompem as compilações que são criadas. Também não têm de executar todos os testes localmente nos respetivos computadores, o que aumenta a produtividade dos programadores.

Principais benefícios

  • Automatize as suas compilações, testes e implementações para pipelines.
  • Detete erros e corrija problemas mais cedo para garantir taxas de lançamento mais rápidas.
  • Consolide código com mais frequência e crie aplicações rapidamente.
  • Obtenha flexibilidade para alterar o código rapidamente sem problemas.
  • Obtenha um tempo de colocação no mercado mais rápido para que apenas o código de boa qualidade o faça até ao fim.
  • Efetue pequenas alterações de código de forma mais eficiente porque pequenos blocos de código estão integrados de uma só vez.
  • Aumente a transparência e a responsabilidade da equipa para que receba feedback contínuo dos seus clientes e da sua equipa.

Utilize os seguintes serviços para ativar um pipeline de integração contínua nas suas aplicações móveis.

Centro de Aplicações do Visual Studio

A Compilação do App Center ajuda-o a criar aplicações nativas e multiplataformas em que a sua equipa está a trabalhar através de uma infraestrutura de cloud segura. Pode ligar facilmente o seu repositório no Visual Studio App Center e começar a criar a sua aplicação na cloud em cada consolidação. Não tem de se preocupar em configurar servidores de compilação localmente, configurações complicadas e código que se baseia no computador de um colega, mas não no seu.

Com o poder adicional dos serviços do Visual Studio App Center, pode automatizar ainda mais o seu fluxo de trabalho. Pode lançar automaticamente compilações para testadores e lojas de aplicações públicas com a Distribuição do App Center. Também pode executar testes de IU automatizados em milhares de configurações reais de dispositivos e SO na cloud com o Teste do App Center.

Funcionalidades do Visual Studio App Center

  • Configure a integração contínua em minutos e crie aplicações com mais frequência e rapidez.
  • Integre com o GitHub, o BitBucket, o Azure DevOps e o GitLab.
  • Crie compilações rápidas e seguras em máquinas geridas alojadas na cloud.
  • Ative as compilações para iniciar o teste e verifique se a aplicação é compilação em dispositivos iOS e Android do mundo real.
  • Obtenha suporte nativo e multiplataforma para iOS, Android, macOS, Windows, Xamarin e React Native.
  • Personalize as suas compilações ao adicionar scripts pós-clone, pré-compilação e pós-compilação.

Referências do Visual Studio App Center

Azure Pipelines

O Azure Pipelines, um serviço no Azure DevOps, é um serviço de integração contínua e entrega contínua (CD) totalmente destacado que funciona com o seu fornecedor de Git preferido. Pode implementar na maioria dos principais serviços cloud, incluindo o Azure. Pode começar com o seu código no GitHub, GitHub Enterprise Server, GitLab, Bitbucket Cloud ou Repositórios do Azure. Em seguida, pode automatizar a compilação, teste e implementação do seu código no Microsoft Azure, Google Cloud Platform ou Amazon Web Services (AWS).

Funcionalidades do Azure Pipelines

  • Experiência simplificada baseada em tarefas para configurar um servidor CI: Configure um servidor CI para aplicações móveis nativas (Android, iOS e Windows) e para várias plataformas (Xamarin, Cordova e React Native), além das tecnologias de servidor baseadas na Microsoft e não microsoft (Node.js, Java).
  • Qualquer linguagem, plataforma e cloud: Crie, teste e implemente aplicações Node.js, Python, Java, PHP, Ruby, Go, C/C++, C#, Android e iOS. Execute em paralelo no Linux, macOS e Windows. Implemente em fornecedores de cloud como o Azure, o AWS e o Google Cloud Platform. Distribuir aplicações móveis através de canais beta e lojas de aplicações.
  • Suporte de contentor nativo: Crie novos contentores com facilidade e envie-os para qualquer registo. Implemente contentores em anfitriões independentes ou no Kubernetes.
  • Fluxos de trabalho avançados: Crie facilmente cadeias de compilação e compilações multifasadas. Obtenha suporte para YAML, integração de testes, portas de versão, relatórios e muito mais.
  • Extensível: Utilize uma variedade de tarefas de compilação, teste e implementação criadas pela comunidade, que inclui centenas de extensões do Slack para o SonarCloud. Pode até implementar a partir de outros sistemas de CI, como o Jenkins. Os web hooks e as APIs REST podem ajudá-lo a integrar.
  • Compilações gratuitas alojadas na cloud: Estas compilações estão disponíveis para repositórios públicos e privados.
  • Suporte para implementação para outros fornecedores da cloud: Os fornecedores incluem o AWS e o Google Cloud Platform.

Referências dos Pipelines do Azure

Para o ajudar a escolher o serviço certo para as compilações de aplicações, veja o artigo que compara a Compilação do App Center vs. Pipelines do Azure.