O objetivo deste projeto é antecipar o processo de compilação das páginas que ocorre ao acessar qualquer página compilável.


Este processo deve acontecer sobre uma pasta que não exista os fontes do sistema, pois, todos os arquivos, após compilados, serão substituídos.


Foi desenvolvido a seguinte ferramenta para realizar a análise e compilação do sistema:



Funções:

  • Pasta de origem: Deve ser selecionado qual a pasta com a instalação do MOVERE que será compilada!
  • Diretório Virtual: Deve ser indicado qual o diretório virtual [/Nome] que está definido no IIS, que publica a pasta de origem informada! Estas informação e a [Pasta de Origem] devem ser correlacionadas.
  • Pasta de destino: Deve ser informado uma pasta vazia para realizar a compilação, pois, uma nova cópia do sistema será criada, porém, sem informações dos arquivos fontes.
  • Validar: O sistema pesquisa por todos os arquivos compiláveis [ASPX, ASCX, ASMX ou MASTER] e valida se ele corresponde a um arquivo da versão atual e se o mesmo está relacionado com um objeto compilado válido do sistema.
    • Arquivos de backup ou de rotinas que não existam mais serão listados;
  • Limpar Origem: O sistema apaga todos os arquivos indicados no processo de validação, além de, excluir arquivos PDB, LOCK e arquivos fontes indevidos;
  • Limpar Destino: O sistema apaga todos os arquivos existentes na pasta de destino, permitindo, uma nova compilação;
  • Compilar: O sistema irá iniciar o processo de compilação individual de todos os arquivos compiláveis existente em qualquer subpasta indicada na [Pasta de Origem];
  • Mesclar: Após realizar o processo de compilação, o sistema permite fazer com que o resultado gerado na [Pasta de Destino] seja sobrescrito sobre a [Pasta de Origem]; Este procedimento deverá ser executado apenas quando o processo de compilação for feito fora da estrutura interna de desenvolvimento;


Pastas


Existem as seguintes pastas liberadas:

  • \\cba-tfs1\StageServer - Aplicação completa da última versão liberada [ lento ]
  • \\cba-tfs1\StageServerBin - Apenas os binários SERVER da última versão liberada [ lento ]
  • \\cba-tfs1\StageSmartClientsBin - Apenas os binários CLIENTS da última versão liberada [ não exige pré-compilação ]
  • \\cba-tfs1\StageServerPre - Aplicação completa pré-compilada da última versão liberada oficial ]


Processo de Liberação de Versão


O processo de liberação deverá ocorrer normalmente. Após a liberação final do merge, o endereço [http://cba-tfs1/stage/] deverá estar funcionando corretamente, pois, está é a cópia compilada do Stage diretamente no servidor de Builds, porém, sem a pré-compilação


A ferramenta não pode estar em execução enquanto o servidor de build estiver compilando, pois, a ferramenta faz LOCK das DLLs.


Finalizado, a ferramenta de pré-compilação deverá ser executada no servidor CBA-TFS1, localizada na pasta [c:\movere-fast\movere-fast.exe]. Caso a pasta de destino já possua arquivos, basta limpar a pasta de destino primeiro. Caso não seja possível limpar os arquivos, basta parar o pool de aplicativos do [http://cba-tfs1/stage/]  e/ou do [http://update.cbanet.com.br/stage];


A pasta de publicação da versão compilada [\\cba-tfs1\StageServerPre] está localizada na pasta [c:\movere-fast\Compilacao].


Liberação de HOT-FIX


Até o momento NÃO HÁ GAMBIARRA, ou seja, o processo de liberação deverá ser feito de forma completa, ou seja:

  • Resolva o problema na versão Current com review e tudo que faz parte do pacote;
  • Faça merge para a versão Stage;
  • Pré-compile com a ferramenta;
  • Atualize o cliente completamente;