A GERAÇÃO DO FUTURO

É A QUE APRENDE HOJE.

00HORAS
:
00MIN
:
00SEG
Comece sua evolução
Comece sua evolução
  • Home

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    CURSOS

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    CURSOS

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    CURSOS

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    CURSOS

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    CURSOS

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    CURSOS

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    CURSOS

    Ver mais cursos de Inovação e Gestão
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    CURSOS

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    CARREIRAS

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    CURSOS

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    CURSOS

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    CURSOS

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA
  • Artigos
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Carreiras

    Ver todas
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA
    Entrar Ver Planos
  • Área de Interesse

    Entrar Ver Planos
  • Aulas ao Vivo - Skills & Go

    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA
    Entrar Ver Planos
  • Senioridade

    Entrar Ver Planos
  • Eventos Alura

    • IA Conference
    • Alura Signals
    Entrar Ver Planos
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Artigos
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • Plano Pro 24
    • Plano Plus 24
    • Plano Ultra Lab 24
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Mobile
    3. Flutter CI/CD: o que é? Como funciona e como usar?

    Flutter CI/CD: o que é? Como funciona e como usar?

    16 min16 minutos de leitura

    16 min16 minutos de leitura

    Publicado: 18/04/2024

    Última atualização: 10 de Março

    1. CI/CD e o dia a dia de trabalho
    2. O que é Integração Contínua (CI)?
    3. E o que é CI no Flutter?
    4. Quais os benefícios da CI?
    5. O que é Entrega Contínua (CD) no Flutter?
    6. E o que é CD?
    7. Ferramentas de CI/CD para Flutter
    8. Implementando CI/CD em projetos Flutter
    9. Por que o CI/CD é indispensável no Flutter?
    10. Quem cuida de CI/CD na empresa?
    11. Conclusão
    12. Referências

    Se trabalha ou estuda o desenvolvimento de aplicativos Flutter, é fundamental que você domine algumas habilidades.

    Neste artigo, compreenda o que é CI/CD em Flutter - um conjunto de práticas que acelera e melhora a qualidade do seu trabalho.

    Neste artigo, você aprenderá:

    • O que é Integração Contínua (CI) e suas vantagens;
    • O que é Entrega Contínua (CD) e suas vantagens;
    • Quais principais ferramentas para CI/CD com Flutter;
    • Como implementar o CI/CD no Flutter;
    • Qual é a importância de CI/CD no mercado de trabalho e nas empresas.

    Segure-se e vamos lá!

    CI/CD e o dia a dia de trabalho

    No dia a dia de trabalho, você atua em conjunto com um time. Há tarefas e etapas no desenvolvimento de um aplicativo:

    • Escrever um código de qualidade;
    • Testar o funcionamento do projeto;
    • Revisar e refatorar o código, minimizando erros;
    • Publicar atualizações do app.

    Você trabalha com vários profissionais: outras pessoas desenvolvedoras, analistas de qualidade, gerentes de produto e designers. Afinal, juntos vamos mais longe.

    Infográfico que mostra os membros de um time de desenvolvimento mobile. O título é: “exemplo de um time de desenvolvimento de aplicativo. São demonstrados com ícones, uma pessoa dev 1, uma pessoa dev 2, designer, gerente de produto, scrum master, analista de qualidade.

    Com o tempo, projeto cresce. Cada nova linha de código aumenta o desafio em manter um sistema de pé.

    Imagine um aplicativo de banco, utilizado por milhões de pessoas. Um dia, uma pessoa dev erra no código do app. Daí, o usuário tenta pagar um boleto, mas o aplicativo quebra.

    Seria possível minimizar problemas desse tipo?

    Sim! Um código de qualidade reduz esses cenários caóticos. Mas é possível ir além.

    A automatização de trabalhos manuais que fazem parte do desenvolvimento também diminui a margem de erros - e libera você para tarefas mais relevantes.

    É aí que entram os superpoderes de CI/CD no Flutter: aumentar a qualidade e automatizar processos.

    Mas, afinal, o que são CI/CD no Flutter?

    Banner da Alura convidando profissionais a desenvolver habilidades em inteligência artificial para acompanhar as transformações do mercado de tecnologia. A campanha destaca que quem utiliza IA produz mais, cresce na carreira e se torna mais competitivo, reforçando que a inteligência artificial deixou de ser tendência e passou a ser uma habilidade essencial. O banner incentiva a começar a aprender IA com os cursos da Alura e impulsionar a transformação digital.

    O que é Integração Contínua (CI)?

    Imagine uma equipe de remo onde cada pessoa rema em um ritmo diferente.

    O barco não iria muito longe, certo?

    O desenvolvimento de software sem CI pode ser um pouco assim. Nas grandes empresas, há vários times de devs trabalhando ao mesmo tempo.

    Digamos que você esteja no time que vai atualizar a tela de Pix; e um amigo está no time que vai criar uma função de empréstimos.

    Infográfico que mostra uma representação de dois times de desenvolvimento: o time pix, voltado a criar uma tela de pix mais bonita; e um time de emprésimos, que vai adicionar uma nova funcionalidade de empréstimos no aplicativo.

    Ambos estão escrevendo código e modificando o projeto. Eventualmente, os códigos novos são mesclados em um repositório compartilhado (como o GitHub, ou o Bitbucket, GitLab, entre outros).

    Chamamos esse processo de integração ou merge. Ou seja, os novos códigos dos times são integrados (mergeados) ao projeto já existente.

    Vários deslizes podem ocorrer nessa hora - são os famosos “problemas de merge”.

    Infográfico que explica o processo de integração (merge) que ocorre no desenvolvimento de aplicativos. Há dois quadrados. O primeiro tem o texto “novo código com novas funcionalidades pix; o segundo diz “novo código com novas funcionalidades de empréstimo”. Dos dois quadrados parte uma seta, acompanhada da palavra “merge”, em direção a um retângulo que representa a base de código já existente de um projeto. Por fim, os dois quadrados estão contidos no retângulo, demonstrando a integração (ou seja, merge) do código.

    Como garantir uma integração mais tranquila das novidades produzidas pelos dois times (Pix e empréstimos)?

    Com a integração contínua (CI)! Ela simplifica a integração de códigos, diminuindo o tempo e margem de erros.

    Sabe a famosa “ansiedade antes do merge”? É isso que a CI soluciona, automatizando etapas e deixando o processo mais gerenciável e previsível.

    Em vez de integrações esporádicas e grandes, você integra pequenas mudanças frequentemente. Assim, conflitos são detectados e corrigidos - e o desenvolvimento anda mais rápido.

    Infográfico que exemplifica a diferença entre um projeto sem CI (com merges grandes e esporádicos ao longo de uma semana) e um projeto com CI (em que os merges são constantes, pequenos e diários.

    E o que é CI no Flutter?

    A Integração Contínua, abreviada como CI do inglês "Continuous Integration", é uma boa prática de desenvolvimento de software que incentiva as pessoas desenvolvedoras a integrarem suas mudanças no repositório central de código várias vezes ao dia.

    A ideia principal da CI é identificar e resolver conflitos de integração, bugs e problemas de compatibilidade o mais cedo possível, idealmente no momento em que são introduzidos.

    Perceba que a Integração Contínua envolve cinco princípios:

    • Cuidar da saúde do código;
    • Reduzir o custo de entrega;
    • Automatizar etapas;
    • Aumentar a qualidade;
    • Imprimir mais velocidade.

    Para projetos Flutter em que a consistência e a qualidade entre diferentes plataformas são críticas, adotar a CI não é apenas uma boa prática: é um investimento no sucesso e na sustentabilidade do projeto.

    Saiba que vamos usar o termo “build” durante o resto deste artigo. Se não conhece o sentido, um "build", no contexto da programação, é o processo de converter o código fonte em um software executável, envolvendo etapas como compilação (tradução do código para linguagem de máquina), linking (associação com bibliotecas necessárias).

    E, por vezes, empacotamento (preparação do software para distribuição).

    Quando você roda seu código, a IDE gera um “build de debug” que você vê e interage no emulador.

    Quando você quer publicar seu app, o Flutter gera um “build de distribuição” que pode ser um app bundle (no caso do Android), um ipa (no caso do iOS), um exe (no caso do Windows), ou mesmo uma pasta com html, css e js (no caso de Web).

    Como funciona CI no Flutter?

    Na prática, a CI requer a automatização dos processos de teste e build do aplicativo. Ela envolve os seguintes passos:

    1. Controle de versão: Todos os códigos fonte são mantidos em um sistema de controle de versão, como o Git.
    2. Integração regular: Pessoas desenvolvedoras integram suas mudanças no repositório central várias vezes ao dia.
    3. Automatização de build: Cada integração dispara automaticamente uma build do sistema, garantindo que as mudanças não quebrem a aplicação.
    4. Testes automatizados: Junto com a build, são executados testes automatizados - dos unitários aos de integração e UI, dependendo da configuração.
    5. Feedback imediato: Se a build ou os testes falharem, a equipe é notificada imediatamente, permitindo uma rápida correção de problemas.
    Infográfico que ilustra as etapas do processo de CI, que são: controle de versão, integração regular, automatização de build, testes automatizados e feedback imediato.

    Quais os benefícios da CI?

    • Redução de bugs: Ao integrar e testar mudanças frequentemente, os bugs são identificados e corrigidos mais rapidamente.
    • Melhoria na qualidade do produto: Com testes automatizados abrangentes, a qualidade do software melhora.
    • Aumento da velocidade de desenvolvimento: A automatização dos processos de build e teste acelera o ciclo de desenvolvimento.
    • Feedback contínuo: Pessoas desenvolvedoras recebem feedback imediato sobre o estado do código, permitindo ajustes rápidos.
    • Colaboração e transparência: A CI promove uma cultura de transparência e colaboração, onde todos enxergam o processo de desenvolvimento e o estado atual do projeto.

    Agora que entendemos a integração contínua, vamos descobrir a outra metade desse superpoder: CD.

    O que é Entrega Contínua (CD) no Flutter?

    Voltando ao exemplo do barco de remo: se a CI garante que todos remam no mesmo ritmo, a CD assegura que o barco navegue suavemente em águas abertas, capaz de ajustar a rota rapidamente conforme necessário.

    Em outras palavras, enquanto a CI mantém o código integrado e testado, a CD prepara esse código para lançamento ao público a qualquer momento.

    E o que é CD?

    Entrega Contínua, ou CD, do inglês "Continuous Delivery", é uma prática de engenharia de software na qual o código é construído, testado e preparado para lançamento de maneira contínua.

    O objetivo da CD é fazer lançamentos frequentes e em pequena escala.

    Dessa forma, você e as demais equipes mantêm um ritmo constante de entrega, oferecendo novas funcionalidades, correções e atualizações às pessoas usuárias finais de forma rápida e confiável.

    No caso de um aplicativo de banco, você lança pequenas atualizações na tela de Pix ou empréstimos, por exemplo.

    Para devs Flutter, a CD acelera o ciclo de feedback com as pessoas usuárias, garantindo que as aplicações sejam rapidamente atualizadas em todas as plataformas suportadas pelo Flutter (iOS, Android, web, etc.).

    Isso é valioso no ecossistema mobile, onde a expectativa por aplicativos ágeis e em constante evolução é alta.

    A Entrega Contínua transforma como você entrega software, movendo-se para além do desenvolvimento e testes, e abordando o lançamento como parte do ciclo de vida do desenvolvimento.

    Você também eleva a qualidade e a responsividade de suas aplicações Flutter - que ganham competitividade e se alinham às expectativas das pessoas usuárias.

    Como funciona a CD no Flutter?

    Na prática, dois processos são automatizados: distribuição para testes internos e lançamentos nas lojas (Google Play ou App Store).

    O processo de CD aproveita a base estabelecida pela CI, adicionando os seguintes passos:

    1. Automatização do pipeline de lançamento: Após a CI concluir a build e os testes com sucesso, o código é automaticamente promovido através de várias etapas de preparação para lançamento, como testes de aceitação da pessoa usuária, testes de carga e performance.
    2. Ambiente de staging: O código pronto para lançamento é implantado em um ambiente de staging que replica o ambiente de produção, onde é revisado antes do lançamento.
    3. Lançamento manual ou automático: Dependendo da política da empresa, o lançamento é feito manualmente por um membro da equipe ou automaticamente, assim que o código passar por todas as verificações.
    4. Rollbacks automáticos: Se problemas forem detectados após o lançamento, o processo de CD pode automaticamente reverter para a última versão estável, minimizando o impacto para as pessoas usuárias finais. Esse processo de reversão é chamado de rollback.
    Infográfico que ilustra as etapas do processo de CD, que são: automatização do pipeline de lançamento, ambiente de staging, lançamento manual ou automático e rollbacks automáticos.

    O termo "pipeline" refere-se a uma série de etapas automatizadas que codificam o processo de levar o código do desenvolvimento até a produção.

    Essas etapas podem incluir compilação, testes (unitários, integração, segurança, etc.), embalagem, implantação e monitoramento.

    Em português, podemos dizer que pipeline contém “ambientes” que automatização a distribuição de um aplicativo de acordo com o público-alvo da build: devs (que testam); analistas de qualidade (que revisam qualidade) e o usuário final.

    Ou seja, todas pessoas que baixam o aplicativo em uma loja virtual de apps como a Google Play Store.

    Infográfico que ilustra possíveis pipelines ou ambientes do processo de CD. Cada etapa tem um usuário específico e alguns desafios. O ambiente de desenvolvimento é direcionado a devs e tem o objetivo de melhorar a qualidade de código e aplicar testes. O ambiente de homologação é voltado a profissionais como analistas de qualidade e gerentes de produtos; tem o objetivo de revisar e assegurar um aplicativo integrado e funcional, sem surpresas nos testes.  Por fim, o ambiente de produção mira o usuário final, e o aplicativo deve ser distribuído sem bugs.

    Quais são os benefícios da CD?

    • Lançamentos rápidos e seguros: A CD permite que as equipes lancem novas funcionalidades e correções rapidamente, mantendo a estabilidade do aplicativo.
    • Feedback contínuo das pessoas usuárias: Lançamentos frequentes significam feedback rápido das pessoas usuárias, permitindo ajustes ágeis baseados nas necessidades e comportamento dos clientes.
    • Redução do risco de lançamento: Com lançamentos menores e mais frequentes, o risco associado a cada lançamento é significativamente reduzido.
    • Eficiência operacional: A automatização do processo de lançamento reduz a carga de trabalho manual e o potencial para erros humanos.
    • Melhoria contínua: A CD incentiva uma cultura de melhoria contínua, em que pequenas mudanças são continuamente implementadas e avaliadas.

    Como você percebeu, CI/CD são práticas do dia a dia de trabalho que envolvem a gestão e automatização de alguns processos. Isso é feito com ajuda de ferramentas que veremos na sequência.

    Ferramentas de CI/CD para Flutter

    Atualmente no mercado, três ferramentas são mais utilizadas (e recomendadas oficialmente pelo Flutter) para CI/CD:

    1. Codemagic;
    2. Bitrise;
    3. Appcircle.

    Vamos ver cada uma delas.

    Codemagic

    Parece magia, mas é tecnologia!

    O Codemagic, uma das primeiras e mais populares ferramentas de CI/CD dedicadas ao Flutter, permite a configuração simplificada de pipelines de CI/CD.

    Desde a execução de testes automatizados até a entrega de builds para lojas de aplicativos, o Codemagic se destaca pela sua facilidade de uso e integração direta com repositórios de código como GitHub, GitLab e Bitbucket.

    Vantagens do Codemagic

    • Especialização no Flutter: Projetado para o Flutter, o Codemagic atende as especificidades dessa framework, proporcionando integrações suaves e processos otimizados.
    • Simplicidade: Com sua interface intuitiva, configurar e gerenciar seu pipeline de CI/CD é um processo direto e mais acessível para iniciantes.

    Desvantagens do Codemagic

    • Custo: Há um plano gratuito e limitado, porém projetos maiores podem rapidamente ultrapassar esse limite, exigindo uma assinatura paga.
    • Recursos avançados: Algumas pessoas desenvolvedoras encontram limitações em configurações mais complexas ou em casos de uso muito específicos.

    Bitrise

    O Bitrise é outra ferramenta poderosa que suporta Flutter, além de outros frameworks móveis.

    Oferece uma ampla gama de workflows personalizáveis e integrações com serviços de terceiros, fazendo dela uma escolha versátil para equipes que trabalham em projetos multiplataforma.

    Vantagens

    • Versatilidade: Além do Flutter, o Bitrise suporta várias outras plataformas, tornando-o ideal para projetos com múltiplas tecnologias.
    • Extensibilidade: Com uma vasta biblioteca de integrações e plugins, é possível personalizar o pipeline de CI/CD para atender a quase qualquer necessidade.

    Desvantagens

    • Curva de Aprendizado: Devido a sua ampla gama de funcionalidades, novas pessoas usuárias podem achar o Bitrise um pouco intimidador no início.
    • Custo: Assim como o Codemagic, projetos maiores pedem investimento em planos mais robustos.

    Appcircle

    Focada na automação de builds móveis, a Appcircle fornece um ambiente CI/CD que suporta Flutter.

    Com recursos de teste automatizado e distribuição de aplicativos, Appcircle facilita a gestão de builds e a colaboração entre times de desenvolvimento.

    Vantagens

    • Interface amigável: Com um foco na simplicidade, o Appcircle facilita a configuração e gestão de pipelines de CI/CD.
    • Feedback rápido: Com builds otimizadas e feedback instantâneo, é mais fácil manter a produtividade e o foco na qualidade.

    Desvantagens

    • Recursos limitados para projetos complexos: Embora excelente para muitos projetos, Appcircle não oferece a mesma profundidade de configuração que algumas equipes avançadas podem requerer.
    • Suporte multiplataforma: O suporte é decente, mas pode não ser tão abrangente quanto outras ferramentas para projetos que não são exclusivamente Flutter.

    Implementando CI/CD em projetos Flutter

    Já sabemos que acelerar o desenvolvimento, automatizar tarefas e agregar qualidade no produto são os superpoderes de CI/CD no Flutter.

    Mas como colocá-los em prática?

    Primeiros passos com CI no Flutter

    O primeiro passo para implementar CI em um projeto Flutter é escolher a ferramenta certa.

    Codemagic é frequentemente a escolha predileta, por conta de sua integração nativa com Flutter e configuração simplificada, conforme destacado neste curso de CI.

    O Codemagic requer criação de conta e sua integração com sua conta no GitHub. Feito isso, os principais passos são:

    1. Configurar o pipeline de CI: Conecte o seu repositório de código ao Codemagic (ou à ferramenta de CI de sua escolha). Isso geralmente envolve adicionar um arquivo de configuração YAML ao seu projeto, que define o pipeline de CI;
    2. Automatizar testes: Configurar a execução automática dos seus testes no Flutter é essencial. Isso inclui testes unitários, testes de widgets e testes de integração. A cada push para o repositório, automaticamente a ferramenta de CI executa todos os testes para garantir que as mudanças não causem novos bugs;
    3. Colher feedback contínuo: Configure a ferramenta para notificar a sua equipe sobre o sucesso ou falha dos builds e testes. Isso facilita uma correção rápida no caso de problemas.

    Com a base de CI preparada, você pode implementar o outro lado da moeda, que é o CD.

    Infográfico que ilustra o processo de CI e CD com um símbolo do infinito, ou seja, duas curvas entrelaçadas que mostram como CI e CD se completam e são interdependentes.

    Avançando para CD com Flutter

    No processo de CD, após a passagem bem-sucedida pelos testes de CI, o aplicativo é lançado para ambientes de testes ou produção, de forma automática (ou com aprovação manual). Os passos são:

    1. Fazer o deploy automático para lojas de aplicativos: Utilizando ferramentas como Codemagic, você automatiza o processo de lançamento (deploy) do seu app Flutter na Google Play Store e Apple App Store. É necessário configurar assinaturas de código, perfis de provisionamento e tokens de API para as lojas de aplicativos.
    2. Configurar ambientes de Staging e produção: É recomendável separar ambientes para staging (teste) e produção. Assim, você testa o aplicativo em um ambiente que imita a produção, sem afetar as pessoas usuárias finais - é um “ensaio” para o lançamento oficial. A CD facilita o deploy para esses ambientes com base em regras específicas que você pode configurar, como lançamentos apenas a partir do branch principal ou após aprovação manual;
    3. Rollbacks e gestão de configuração: Um superpoder da CD é a capacidade de reverter a aplicação rapidamente para uma versão anterior estável em caso de problemas. Se você lança uma atualização com a versão 2 da tela de pix e ela quebra o aplicativo, é possível reverter para a versão 1, rapidamente solucionando uma dor de cabeça. Além disso, a gestão eficaz das configurações de ambiente mantém a consistência entre os deploys.

    Os aplicativos de larga escala (pense no mundo real: iFood, Uber, Google Maps, Netflix, Spotify) são utilizados por milhões de pessoas.

    Imagine se, por conta de um erro de código, milhares ficam sem ouvir músicas no Spotify ou mandar mensagens no WhatsApp? O caos se instaura!

    Estrategicamente, as empresas desenvolvem boas práticas como CI/CD para remediar problemas e garantir a estabilidade dos produtos e serviços.

    Desafios e melhores práticas

    A implementação de CI/CD em projetos Flutter não está livre de desafios. A configuração inicial pode ser complexa, e a manutenção do pipeline requer atenção contínua.

    No entanto, são imensas as recompensas — em termos de eficiência, qualidade e satisfação da pessoa usuária.

    Algumas melhores práticas incluem:

    • Documentar com detalhes: Documente e atualize o seu pipeline de CI/CD e processos relacionados e deixando-os acessíveis para toda a equipe;
    • Fazer revisão e otimização contínuas: Regularmente, reveja e otimize seu pipeline de CI/CD para melhorar a eficiência e reduzir os tempos de build;
    • Cultura de qualidade: Promova uma cultura de qualidade dentro da equipe, onde todos são responsáveis pela saúde do código e pela experiência do usuário.

      Implementar CI/CD em seus projetos Flutter muda como sua equipe desenvolve e entrega software, tornando o processo mais rápido e confiável.

    Por que o CI/CD é indispensável no Flutter?

    Implementar CI/CD em seus projetos Flutter evita dores de cabeça e garante uma entrega contínua de valor para as pessoas usuárias.

    Assim, você confia que cada linha de código contribui para o produto final.

    Com ferramentas certas e boa estratégia, o CI/CD facilita que equipes, grandes ou pequenas, inovem rapidamente sem arriscar a estabilidade ou a qualidade.

    Além disso, é indispensável para a sua carreira! Diversas vagas de emprego solicitam CI/CD (especialmente as técnicas de automatização).

    Os benefícios de dominar CI/CD superam, de longe, os desafios da curva de aprendizado.

    Quem cuida de CI/CD na empresa?

    Depende! Em geral, nas grandes empresas, o processo de CI/CD fica na mão de pessoas mais experientes (níveis pleno e sênior).

    Porém, em empresas pequenas, há uma exceção! Por vezes, o time é enxuto ou há apenas uma pessoa responsável pelo desenvolvimento.

    Então, talvez alguém mais iniciante ou júnior assuma a integração e entrega contínuas.

    Em startups ou algumas empresas pequenas, pode ainda nem existir o processo de CI/CD - e tudo é feito na mão!

    Se você busca se destacar no mercado, pode sugerir essa boa prática onde não se utiliza CI/CD - com certeza, você ganhará pontos por isso.

    Conclusão

    Se o Flutter flexibiliza o desenvolvimento multiplataforma, o CI/CD suaviza esse processo do início ao fim.

    Esse superpoder aumenta a qualidade, derrotando vilões como erros de código e problemas de merge.

    E poupa você de trabalhos manuais! O futuro é agora; e ele é automatizado.

    Bateu o interesse pelo assunto? Estude CI/CD com a gente:

    • Curso Flutter: aplicando integração contínua (CI)

    E aí, já tinha ouvido falar de CI/CD no Flutter? Já usou essas técnicas em algum projeto?

    Conte para nós, marcando os perfis da Alura em suas redes sociais e usando a hashtag #AprendiNaAlura para compartilhar sua experiência de desenvolvimento.

    Vejo você por aí no maravilhoso mundo do Flutter!

    Referências

    Continue seus estudos:

    • Curso Flutter: aplicando integração contínua (CI) (em português);
    • Tech.guide de Flutter (em português, é um mapa das técnicas, conhecimentos e habilidades requeridas pelo mercado de trabalho);
    • Documentação do Flutter sobre CD (em inglês);
    • Documentação do Codemagic (em inglês);
    • Documentação do Bitrise (em inglês);
    • Documentação do App Circle (em inglês);
    • Problemas de merge (em inglês).
    Banner da Alura convidando profissionais a desenvolver habilidades em inteligência artificial para acompanhar as transformações do mercado de tecnologia. A campanha destaca que quem utiliza IA produz mais, cresce na carreira e se torna mais competitivo, reforçando que a inteligência artificial deixou de ser tendência e passou a ser uma habilidade essencial. O banner incentiva a começar a aprender IA com os cursos da Alura e impulsionar a transformação digital.

    Avalie este artigo

    Foto de Ricarth Lima

    Autor(a)

    Ricarth Lima

    Acredito que educação e computação podem mudar o mundo para melhor, em especial, juntas. Amo Flutter e Unity!

    Explore por tópico

    • Mobile
    • Back-end
    • Front-end
    • DevOps
    • UX & Design
    • Dados
    • Gestão & Negócios
    • Inteligência Artificial
    • Cibersegurança
    • Cloud

    Leia também

    • Alura
      01/03/2016

      Salvando informações do formulário no Android

      Ler mais
    • 24/03/2017

      Criando uma lista com ListView no Android

      Ler mais
    • 08/03/2016

      Auto Layout e StackView no iOS9: comparação com Android

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.

    Institucional

    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status
    Institucional
    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status

    A Alura

    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes
    A Alura
    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes

    Conteúdos

    • Alura Cases
    • Imersões
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Conteúdos
    • Alura Cases
    • Imersões
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Alura