Introdução
Build tasks para realizar as auditorias do processo de Gestão de Releases de sistemas da TV Globo.
Auditoria de Repositórios de Fontes da TV Globo
A auditoria de repositórios de fontes realiza duas validações:
- Se a estrutura de pastas está seguindo o padrão definido;
- Se os tipos de arquivos contidos nas pastas estão conforme o padrão definido;
Validação de estrutura de repositório
Todo repositório de fontes dos sistemas da TV Globo devem seguir a seguinte estrutura de pastas:
Em cada uma das últimas pastas existe um arquivo leia-me.txt, que explica o tipo de conteúdo que aquela pasta deve conter, mais alguns arquivos de exemplo:
Caso crie algum arquivo ou pasta em uma pasta superior, como por exemplo dentro da pasta BIN e fora das pastas exe, libs ou libs_externas, a auditoria realizada durantes os builds ira identificar e mostrar erros de consistência.
Validação de tipo de arquivos nas pastas (mime types)
Deve-se seguir o seguinte padrão ao utilizar as pastas:
bin/exe/: arquivos executáveis ;
bin/libs/: arquivos usados como bibliotecas gerados durante a compilação. ( Ex.: Shared Libraries; OCX’s, dll´s e .jar )
bin/external_libs/: arquivos usados como bibliotecas e cujo código não se encontra dentro da área do projeto;
config/: Arquivos globais de configuração usados pela aplicação;
database/baseline/: Scripts SQL de preenchimento de conteúdo no Banco de Dados: Inserts, Deletes e updates;
database/datamodel/: Scripts SQL de criação/manutenção de objetos no Banco de Dados. Um por tipo de objeto, views é um script para cada view;
database/hot_fix/: Scripts SQL de atualização dos objetos no Banco de Dados (patches). São scripts incrementais. Dentro desta pasta deve ser criada uma pasta com data do patch. Exemplo: hot_fix/31_12_2004_1. NÃO COLOCAR NESTA PASTA as stored_procedures e as views;
database/sql_scripts/: Scripts SQL genéricos utilizados no âmbito do projeto;
database/stored_procedures/: Scripts SQL de criação/manutenção de stored procedures (packages, functions, procedures, triggers) no Banco de Dados. Um script para cada objeto. Regra para os packages, um arquivo para o body e outro para o spec;
documentacao/projeto/analise/:High Level Analysis;
documentacao/projeto/apresentacos/: Apresentações;
documentacao/projeto/desenvolvimento/: Project Development Plan; Project Scheduler;
documentacao/projeto/cm/: CM Plan; CAF; Bill Of Materials; Build Report, CM Schedule;
documentacao/projeto/instalacao/:Installation Plan; Dossier da Aplicação;
documentacao/projeto/pendencias/: Open Issues Documents;
documentacao/projeto/questionarios/: Surveys;
documentacao/projeto/reunioes/: Atas de reuniões;
documentacao/sistema/desenho/: Solution Design; Detail Design; Table Size document; Integration Design;
documentacao/sistema/manual_do_usuario/: User Manuals;
documentacao/sistema/operação/: Production Steering; Intervention Manual; Configuration Manual; Relatório de Passagem a Produção;
qualidade/qa/: SQA Plan; SQA Reports; Reviews de QA;
qualidade/rm/: RM Plan, RM Schedule;
qualidade/tst/funcional: Testes e planos de testes funcionais;
qualidade/tst/tecnico: Testes e planos de testes técnicos (performance, carga, etc);
scripts/: Arquivos de Start & Stop da aplicação, de monitorização, ou de qualquer outro tipo (ex: *.bat, *.sh);
setup/: Arquivo que contém o package de instalação da aplicação, normalmente setup.exe ou setup.tar. Pode ser dividido por módulo;
sourcecode/: todos os arquivos utilizados no processo de compilação da aplicação, separados por módulo, arquitetura e linguagem
Para validar se esse padrão está sendo seguido, a auditoria checa os seguintes padrões em cada uma dessas pastas, sendo que o "Tipo da validação" indica se o "Padrão verificado" irá buscar pelos arquivos que são permitidos ou pelos arquivos que não são permitidos:
Path |
Tipo da validação |
Padrões verificados |
BIN/exe |
arquivos não permitidos |
*.doc*, *.xls*, *.ppt* |
BIN/libs |
arquivos não permitidos |
*.doc*, *.xls*, *.ppt* |
BIN/libs_externas |
arquivos não permitidos |
*.doc*, *.xls*, *.ppt*, *.zip |
CONFIG |
arquivos não permitidos |
*.doc*, *.xls*, *.ppt*, *.zip |
DATABASE/baseline |
arquivos não permitidos |
*.doc*, *.xls*, *.ppt*, *.dll", *.exe, *.zip |
DATABASE/datamodel |
arquivos não permitidos |
*.doc*, *.xls*, *.ppt*, *.dll", *.exe, *.zip |
DATABASE/hot_fix |
arquivos não permitidos |
*.doc*, *.xls*, *.ppt*, *.dll", *.exe, *.zip |
DATABASE/sql_scripts |
arquivos não permitidos |
*.doc*, *.xls*, *.ppt*, *.dll", *.exe, *.zip |
DATABASE/stored_procedures |
arquivos não permitidos |
*.doc*, *.xls*, *.ppt*, *.dll", *.exe, *.zip |
DOCUMENTACAO/PROJETO/analise |
arquivos permitidos |
*.doc*, *.xls*, *.ppt*, *.txt, *.pdf, *.vsd*, *.rst, *.md, *.htm*, *.chm, *.mpp, *.jpg*, *.png, *.gif, *.bmp |
DOCUMENTACAO/PROJETO/apresentacoes |
arquivos permitidos |
*.doc*, *.xls*, *.ppt*, *.txt, *.pdf, *.vsd*, *.rst, *.md, *.htm*, *.chm, *.mpp, *.jpg*, *.png, *.gif, *.bmp |
DOCUMENTACAO/PROJETO/cm |
arquivos permitidos |
*.doc*, *.xls*, *.ppt*, *.txt, *.pdf, *.vsd*, *.rst, *.md, *.htm*, *.chm, *.mpp, *.jpg*, *.png, *.gif, *.bmp |
DOCUMENTACAO/PROJETO/desenvolvimento |
arquivos permitidos |
*.doc*, *.xls*, *.ppt*, *.txt, *.pdf, *.vsd*, *.rst, *.md, *.htm*, *.chm, *.mpp, *.jpg*, *.png, *.gif, *.bmp |
DOCUMENTACAO/PROJETO/instalacao |
arquivos permitidos |
*.doc*, *.xls*, *.ppt*, *.txt, *.pdf, *.vsd*, *.rst, *.md, *.htm*, *.chm, *.mpp, *.jpg*, *.png, *.gif, *.bmp |
DOCUMENTACAO/PROJETO/pendencias |
arquivos permitidos |
*.doc*, *.xls*, *.ppt*, *.txt, *.pdf, *.vsd*, *.rst, *.md, *.htm*, *.chm, *.mpp, *.jpg*, *.png, *.gif, *.bmp |
DOCUMENTACAO/PROJETO/questionarios |
arquivos permitidos |
*.doc*, *.xls*, *.ppt*, *.txt, *.pdf, *.vsd*, *.rst, *.md, *.htm*, *.chm, *.mpp, *.jpg*, *.png, *.gif, *.bmp |
DOCUMENTACAO/PROJETO/reunioes |
arquivos permitidos |
*.doc*, *.xls*, *.ppt*, *.txt, *.pdf, *.vsd*, *.rst, *.md, *.htm*, *.chm, *.mpp, *.jpg*, *.png, *.gif, *.bmp |
DOCUMENTACAO/SISTEMA/desenho |
arquivos permitidos |
*.doc*, *.xls*, *.ppt*, *.txt, *.pdf, *.vsd*, *.rst, *.md, *.htm*, *.chm, *.mpp, *.jpg*, *.png, *.gif, *.bmp |
DOCUMENTACAO/SISTEMA/manual_do_usuario |
arquivos permitidos |
*.doc*, *.xls*, *.ppt*, *.txt, *.pdf, *.vsd*, *.rst, *.md, *.htm*, *.chm, *.mpp, *.jpg*, *.png, *.gif, *.bmp |
DOCUMENTACAO/SISTEMA/operacoes |
arquivos permitidos |
*.doc*, *.xls*, *.ppt*, *.txt, *.pdf, *.vsd*, *.rst, *.md, *.htm*, *.chm, *.mpp, *.jpg*, *.png, *.gif, *.bmp |
QUALIDADE/qa |
Não está sendo validado no momento |
|
QUALIDADE/rm |
Não está sendo validado no momento |
|
QUALIDADE/tst/funcional |
Não está sendo validado no momento |
|
QUALIDADE/tst/tecnico |
Não está sendo validado no momento |
|
SCRIPTS |
arquivos permitidos |
*.*sh, *.ps1, *.psm*, *.psd*, *.*sh, *.csv, *.log, *.txt, *.json, *.xml, *.bat, *.cmd, *.ldt |
SETUP |
arquivos permitidos |
*.msi, *.exe, *.zip, *.rar, *.tar*, *.7z, *.rpm, *.deb, *.apk, *.ipa, *.iso, *.vsix, leia-me.txt |
SOURCECODE |
arquivos não permitidos |
*.exe, *.obj, *.iso, *.pdb, *.msi, *.sql |
Uma falha de validação será identificada caso algum desses padrões não sejam satisfeitos.
| |