Roteiro de Atividade Prática
Nome: Turma:
.
Título da atividade: Integração contínua e deploy
automatizado para aplicações mobile com
containers
Contexto:
No desenvolvimento de aplicações mobile, a agilidade e a consistência são
fundamentais para garantir a qualidade do software. A utilização de
ferramentas de CI/CD (Integração Contínua e Deploy Contínuo) permite que as
equipes automatizem a execução de testes e o processo de deploy, reduzindo
o tempo entre o desenvolvimento e a entrega de novas funcionalidades aos
usuários. Usar containers e Docker no contexto de CI/CD facilita a criação de
ambientes de teste e produção consistentes. Nesta atividade, você será
desafiado a planejar e a implementar um pipeline de CI/CD que envolve
automação de testes e deploy contínuo para uma aplicação mobile.
Objetivo:
Guiar o participante na compreensão dos conceitos de CI/CD, automação de
testes e deploy contínuo utilizando containers. A atividade busca desenvolver a
capacidade de planejar um fluxo automatizado que garanta qualidade e
agilidade no desenvolvimento e na entrega de uma aplicação mobile.
Roteiro de atividade:
Passo 1: Entendendo ferramentas de CI/CD
1. Pesquisa sobre ferramentas de CI/CD:
o Pesquise sobre as principais ferramentas de CI/CD disponíveis no
mercado, como Jenkins, GitLab CI, CircleCI e GitHub Actions.
Compare as funcionalidades e anote quais delas têm maior
integração com ambientes de containers.
2. Identificação de requisitos para CI/CD:
o Defina quais são os requisitos básicos para implementar um
pipeline de CI/CD para uma aplicação mobile, como execução
automática de testes, construção da imagem do container e deploy
em ambientes de teste e produção.
3. Planejamento do pipeline de CI/CD:
[SIS] [U2] [C2]
1/3
o Crie um diagrama simples que ilustre o pipeline de CI/CD da sua
aplicação. Inclua etapas como: commit no repositório, execução de
testes automatizados, construção de imagem do container e
deploy para um ambiente de teste.
Passo 2: Automação de testes para aplicações mobile
1. Definição dos tipos de testes:
o Liste os tipos de testes que são relevantes para uma aplicação
mobile, como testes unitários, testes de interface (UI) e testes de
integração. Explique a importância de cada um para garantir a
qualidade do software.
2. Planejamento da automação de testes:
o Imagine que sua equipe precisa garantir que toda nova
funcionalidade esteja coberta por testes automatizados. Descreva
um plano de automação de testes, considerando quais etapas
precisam ser testadas antes que a aplicação seja enviada para o
próximo estágio do pipeline.
3. Integração dos testes ao pipeline de CI/CD:
o Descreva como os testes automatizados devem ser integrados ao
pipeline de CI/CD, garantindo que o código só seja promovido para
o próximo estágio se todos os testes forem bem-sucedidos.
Considere a importância de evitar que falhas em testes cheguem
ao ambiente de produção.
Passo 3: Planejamento de deploy contínuo
1. Conceitos de deploy contínuo:
o Descreva o conceito de deploy contínuo e como ele pode ser
desenvolvido em uma aplicação mobile, garantindo que
atualizações sejam enviadas de forma rápida e segura para os
usuários finais.
2. Estrutura do processo de deploy:
o Imagine que sua aplicação mobile precisa ser distribuída tanto para
ambientes de teste internos quanto para a loja de aplicativos. Crie
um roteiro que explique como o deploy pode ser feito de forma
automatizada para cada ambiente, destacando a importância de
verificar o feedback dos testes antes de realizar o deploy final.
3. Monitoramento pós-deploy:
o Elabore um plano de monitoramento que ajude a acompanhar o
desempenho e a estabilidade da aplicação após o deploy. Inclua
métricas como tempo de resposta, consumo de memória e logs de
[SIS] [U2] [C2]
2/3
erros, explicando como essas informações podem ajudar na
melhoria contínua do software.
Passo 4: Revisão e melhoria do pipeline
1. Revisando o pipeline de CI/CD:
o Reflita sobre quais pontos do pipeline podem ser otimizados para
reduzir o tempo de entrega de novas funcionalidades sem
comprometer a qualidade. Anote melhorias como paralelização de
testes e otimização da construção de containers.
2. Plano de ação para manutenção do pipeline:
o Descreva um plano de manutenção para garantir que o pipeline de
CI/CD permaneça atualizado e eficiente, incluindo a revisão
periódica de testes e a atualização das ferramentas de CI/CD.
Perguntas para conclusão da atividade:
1. Por que a automação de testes é fundamental para a implementação de
um pipeline de CI/CD?
2. Como o uso de containers pode melhorar o processo de CI/CD para
aplicações mobile?
3. Explique a importância do monitoramento pós-deploy e como ele contribui
para a qualidade de uma aplicação.
4. Quais seriam os principais desafios ao implementar um pipeline de CI/CD
para uma aplicação mobile e como eles podem ser superados?
Lista de materiais
• Computador com acesso à internet;
• Caderno para anotações;
• 1 caneta.
[SIS] [U2] [C2]
3/3