Vamos abordar como gerar uma versão do Gestor. Exemplo versão atual 3.6.2.0012 e pretende gerar a 3.6.3 

## Histórico

Este processo é realizado internamente na Dype e vem sendo simplificado durante o tempo. Ainda tem bastante a ser feito para chegar no ponto de ser feito através de um click mas historicamente hoje ele já está bem mais simples.

## Descrição

A criação da nova versão é feito hoje normalmente no prazo combinado com o cliente de 2 em 2 semanas. Não confundir com o patch da versão que é gerado sempre que precisamos corrigir algo ou alguma melhoria urgente.  
A versão muda o número do terceiro campo e retorna para um o quarto campo Ex. 3.6.2.0012 para 3.6.3.0001 já o patch altera somente o quarto campo Ex. 3.6.2.0012 para 3.6.2.0013.   
Este processo é feito internamente na Dype seguindo os seguintes passos:

1) Sincronizar seu repositório local com o servidor do SVN fazendo um "SVN Update" no seu repositório local (Ex.: C:\dype\source\desktop.release\)
2) Verificar se não tem nada de patch para fechar no banco DK independentemente de sua versão, se tiver é obrigado fechar os patch senão não fecha a versão. Para isto pode rodar a consulta abaixo no banco do DK.    

		/*
			--Scripts de patch mas sem patch
			select
				--list(S.REDMINE)
				v.CODIGO,
				S.*
			from
				SCRIPT S inner join
				VERSAO V on S.ID_VERSAO = V.ID_VERSAO
			where
				s.TIPO = 2 and 
				s.PATCH_CODIGO is null
			order by
				v.codigo
		*/ 
 
3) Para garantir que o código do trunk está completo faça um Merge da última TAG da versão para o Trunk. Para isto click com o botão direito na pasta do trunk (C:\dype\source\desktop.release\Gestor\Trunk) e escolha "TortoiseSVN" > "Merge"

4) Vamos garantir que o codigo está compilavel, abra o Delphi com o projeto do Gestor do Trunk que execute um Build All.  

5) Faça um commit no SVN informando que foi feito o Merge da versão X para versão Y. Ex.: "Merge - Versão 3.6.2 para o Trunk".

6) Se no passo 3 teve diferença então publicar o script de diferença no trunk

7) Realize o passo 1 novamente para garantir que está atualizado.

8) Verificar os scripts da pasta C:\Dype\Source\desktop.release\Gestor\Trunk\scripts, se não tem script perdido de outra versão. Esta pasta deve estar vazia.

9) No jankins (http://desktop-jenkins:8080) verificar se não está rodando algum job que faça build, esperar se estiver executando e depois desabilitar. ex: DoPatch, Projeto Desktop Delphi Build ALL...

10) Rodar o job no Jenkins, Projeto New DK3000 Tag Nova Versao Gestor. Acompanhe os logs para ver se vai ser gerado com sucesso a nova versão.

Após estes 10 passos a versão estará pronta.

## Observações
* No cliente é preciso criar uma pasta com o numero da versão dentro da pasta APP que esta dentro da pasta do Gestor. Dentro desta pasta com numero da versão crie outra pasta com nome "scripts" e coloque o "DownloadPatch.ps1".
* Execute o DownloadPatch.ps1 para baixar automaticamente no cliente a versão desejada.

## Ideias para o Futuro

* Automatizar no Jenkins os 9 primeiros passos;
