Manual Azure DevOps
Manual - Azure DevOps
Versão: 1.0.0
Data: 2024
Visão Geral
Azure DevOps é a Fonte da Verdade de Execução do projeto nCommand Lite. Orquestra requisitos, código e testes em uma plataforma unificada.
Função no Processo: Gestão de trabalho, versionamento, CI/CD e testes.
Componentes Utilizados
Azure Boards
Função: Gestão de trabalho e requisitos
Work Item Types
| Tipo | Uso | Exemplo |
|---|---|---|
| Feature | Funcionalidade principal | "Autenticação de Usuários" |
| User Story | Requisito funcional | "Como usuário, quero fazer login" |
| Task | Tarefa de desenvolvimento | "Implementar endpoint de login" |
| Bug | Defeito encontrado | "Botão não funciona no mobile" |
| Risk | Riscos identificados | "RISK-001: Erro no cálculo de IMC" |
Configuração para nCommand Lite
Campos Customizados:
-
Perfil de Usuário (User Story/Feature)
- Tipo: Text (multiline)
- Obrigatório: Sim
-
Tarefas Principais (User Story/Feature)
- Tipo: Text (multiline)
- Obrigatório: Sim (IEC 62366-1)
-
RPN (Risk)
- Tipo: Number
- Obrigatório: Sim (ISO 14971)
-
Severidade (Risk)
- Tipo: Picklist (1-5)
- Obrigatório: Sim
Processo de Criação
- Criar Work Item no Azure Boards
- Preencher campos obrigatórios:
- Título
- Descrição
- Perfil de Usuário (se aplicável)
- Tarefas Principais (se aplicável)
- Análise de Risco (se aplicável)
- Vincular relacionamentos:
- Risks → Mitigates → User Story
- Tasks → Child of → User Story
- Atribuir e definir estado
Azure Repos
Função: Versionamento de código Git
Estrutura de Branches (Gitflow)
main # Produção (protegida)
├── release/v1.0.0 # Preparação de release
├── develop # Desenvolvimento integrado
└── feat/WORKITEM-123 # Features individuais
Políticas de Branch
Branch: main
- Proteção: ✅ Sim
- Aprovações: Mínimo 2
- Build obrigatório: ✅ Sim
- Política de PR: Obrigatório
Branch: develop
- Proteção: ✅ Sim
- Aprovações: Mínimo 2
- Build obrigatório: ✅ Sim
Branch: feat/*
- Proteção: ❌ Não
- Merge apenas via PR
Pull Request Requirements
Pré-requisitos Obrigatórios:
- Work Item vinculado
- Build bem-sucedido
- Sem vulnerabilidades críticas/altas (DefectDojo)
- Mínimo 2 aprovações
- Testes unitários: 100% pass
- SAST: Quality Gate A (SonarCloud)
Configuração de Policy:
# Branch Policy: Pull Request
- Minimum reviewers: 2
- Required reviewers: QA Leader, Tech Lead (se disponível)
- Reset votes on push: ✅ Sim
- Work item linking: Obrigatório
- Build validation: ✅ Sim
- Status checks: ✅ SonarCloud, DefectDojo
Azure Pipelines
Função: CI/CD automatizado
Pipeline Principal
Arquivo: pipelines/azure-pipelines.yml
Stages:
- BuildAndTest: Build e testes unitários
- SAST: SonarCloud analysis
- SCA: Trivy scan
- SecurityValidation: DefectDojo check
- DeployStaging: Deploy para staging
- DAST: OWASP ZAP scan
Variáveis e Secrets
Variable Groups:
ncommand-lite-variables: Variáveis públicasncommand-lite-secrets: Secrets (DefectDojo API Key, etc.)
Como Configurar:
- Azure DevOps → Pipelines → Library
- Criar Variable Group:
ncommand-lite-variables - Adicionar variáveis:
sonarcloud.projectKey:ionic-health_ncommand-litedefectdojo.url:https://defectdojo.example.com
- Criar Variable Group:
ncommand-lite-secrets - Adicionar secrets (🔒):
DEFECTDOJO_API_KEYSONARCLOUD_TOKENAZURE_SERVICE_PRINCIPAL_*
Azure Test Plans
Função: Gestão de testes funcionais e usabilidade
Estrutura
Test Plan: nCommand Lite v1.0.0
├── Test Suite: Functional Tests
│ ├── Test Case: TC-DEMO-001-001
│ ├── Test Case: TC-DEMO-001-002
│ └── ...
├── Test Suite: Usability Tests (IEC 62366)
│ ├── Test Case: TASK-001 - Calcular IMC
│ └── ...
└── Test Suite: Regression Tests
Criar Test Case
- Test Plans → Criar Test Case
- Título: ID + Descrição (ex:
TC-DEMO-001-001: Cálculo de IMC correto) - Passos:
- Action: O que fazer
- Expected Result: Resultado esperado
- Vincular Work Item: Requisito relacionado
- Adicionar à Test Suite
Executar Test Run
- Criar Test Run a partir do Test Plan
- Executar testes manualmente
- Registrar resultados:
- ✅ Pass
- ❌ Fail
- ⚠️ Blocked
- Registrar bugs para falhas
Integrações
Com DefectDojo
Configuração:
- Pipeline envia relatórios para DefectDojo API
- DefectDojo cria Bugs no Azure DevOps via "Push to Azure DevOps"
- Bugs vinculados ao Work Item original
Script: pipelines/scripts/defectdojo-ingest.sh
Com SonarCloud
Configuração:
- Instalar extensão SonarCloud no Azure DevOps
- Configurar Service Connection:
- Organization:
ionic-health - Token: SonarCloud token
- Organization:
- Pipeline usa tasks:
SonarCloudPrepare@1SonarCloudAnalyze@1SonarCloudPublish@1
Com SharePoint
Via API ou Manual:
- Artefatos salvos manualmente no SharePoint
- Links para SharePoint podem ser adicionados em Work Items
Configuração Inicial do Projeto
Passo 1: Criar Projeto
- Azure DevOps → New Project
- Nome:
nCommand-Lite - Version Control: Git
- Work Item Process: Basic (ou Agile customizado)
Passo 2: Configurar Work Item Types
- Project Settings → Boards → Process
- Adicionar campos customizados conforme seção "Work Item Types"
- Configurar estados customizados se necessário
Passo 3: Configurar Repos
- Repos → Files → Initialize Repository
- Conectar repositório local:
git remote add origin https://dev.azure.com/ionic-health/nCommand-Lite/_git/nCommand-Lite git push -u origin main
Passo 4: Configurar Pipelines
- Pipelines → New Pipeline
- Conectar repositório
- Selecionar arquivo:
pipelines/azure-pipelines.yml - Configurar Variable Groups
- Executar primeira execução
Passo 5: Configurar Test Plans
- Test Plans → New Test Plan
- Nome:
nCommand Lite - Functional Tests - Criar Test Suites e Test Cases
Troubleshooting
Problema: Pipeline não inicia
Solução:
- Verificar triggers no
azure-pipelines.yml - Verificar permissões do Service Principal
- Verificar variáveis obrigatórias
Problema: PR bloqueado incorretamente
Solução:
- Verificar status checks
- Verificar políticas de branch
- Verificar aprovações pendentes
Problema: Test Plans não aparecem
Solução:
- Verificar permissões do usuário
- Verificar se Test Plans estão no projeto correto
- Limpar cache do navegador
Boas Práticas
- Sempre vincular Work Items em PRs e commits
- Usar nomenclatura padrão para branches e Work Items
- Manter Test Plans atualizados conforme novos requisitos
- Revisar Variable Groups periodicamente
- Documentar mudanças em políticas de branch
Referências
- Documentação Oficial Azure DevOps
- Azure DevOps REST API
- Processo no projeto:
docs/PROCESS.md - SOP-001:
docs/sop/SOP-001-SDLC.md
Última Atualização: 2024
Responsável: DevOps / QA Team