domingo, 15 de agosto de 2010

Compilando o Protheus sem precisar parar os serviços

Olá pessoal, não sei se isso é novidade pra vocês mas achei interessante postar: Muitas vezes precisamos compilar o Protheus e nos deparamos com 20, 30, 100 usuários conectados. Vou passar como podemos compilar o Protheus sem precisar fazer com que os usuários saiam do sistema.

  • Neste exemplo as minhas pastas do Protheus de Produção (Chamo de Produção pois não é o Ambiente ou Protheus de testes) estão da seguinte forma: C:\Protheus10\apo, C:\Protheus10\system.
  • Dentro da pasta que esta o RPO (C:\Protheus10\apo) crie as seguintes pastas: APO01, APO02, APO03.
  • Copie o RPO original para dentro de cada pasta criadas acima. 
  • Crie um server separado somente para compilar, o mesmo não precisa estar como serviço e sim em console. Este serviço vamos chamar de Servico de Compilação.
  • No IDE ou Development Studio deste Serviço de Compilação, você irá criar 03 Configurações de Compilação
Vá em menu Arquivo - Configurações - 
Adicionar 
Descrição: APO01 
Ambiente: APO01 
Conexão: TCP (ou aquela que você definiu no .ini do SmartClient (Remote) 
Diretório de Include: Local aonde se encontram as suas includes 
  • Faca o mesmo procedimento acima para os outros dois APOs, (APO02, APO03) 
  • Após isso abra o .ini do Server de Compilação 
  • Crie os ambientes usando o exemplo abaixo: 
;Esta seção é do ambiente APO01 - para compilação 
[APO01] 
SourcePath=C:\Protheus10\apo\APO01 
RootPath=C:\Protheus10\ 
StartPath=\system\ 
RpoDb=dbf 
RpoLanguage=portuguese 
RpoVersion=101 
LocalFiles=ads 
Trace=0 
localdbextension=.dbf 
PictFormat=DEFAULT 
DateFormat=DEFAULT 

;Esta seção é do ambiente APO02 - para compilação 
[APO02] 
SourcePath=C:\Protheus10\apo\APO02 
RootPath=C:\Protheus10\ 
StartPath=\system\ 
RpoDb=dbf 
RpoLanguage=portuguese 
RpoVersion=101 
LocalFiles=ads 
Trace=0 
localdbextension=.dbf 
PictFormat=DEFAULT 
DateFormat=DEFAULT 

;Esta é a seção do ambiente APO03 - para compilação 
[APO03] 
SourcePath=C:\Protheus10\apo\APO03 
RootPath=C:\Protheus10\ 
StartPath=\system\ 
RpoDb=dbf 
RpoLanguage=portuguese 
RpoVersion=101 
LocalFiles=ads 
Trace=0 
localdbextension=.dbf 
PictFormat=DEFAULT 
DateFormat=DEFAULT 

  • Depois de criada as seções de compilação no .ini do Server de Compilação, você poderá compilar os fontes usando qualquer um dos ambientes criados (APO01, APO02, APO03). Use por exemplo o APO02
  • Agora é a vez de alteramos o caminho do RPO (SourcePath) que o Protheus de Produção esta configurado. Como compilamos no APO02, o caminho será: 
;Eu estou dizendo aqui que meu environment principal chama-se
;PRODUCAO, no caso de vocês provavelmente é outro nome 
[PRODUCAO] 
SourcePath=C:\Protheus10\apo\APO02 
RootPath=C:\Protheus10\ 
StartPath=\system\ 
RpoDb=dbf 
RpoLanguage=portuguese 
RpoVersion=101 
LocalFiles=ads 
Trace=0 
localdbextension=.dbf 
PictFormat=DEFAULT 
DateFormat=DEFAULT 

  • Veja acima como ficou o SourcePath (C:\Protheus10\apo\APO02), então significa que agora o Protheus de Produção esta sendo apontado para outro rpo; 
  • Salve e feche o .ini do Protheus de Produção. 
  • Agora quem acessar o sistema estará direcionado para o APO02, e quem esta no sistema, aparecera uma mensagem para o usuário dizendo que o RPO foi atualizado.
  • Na próxima compilação você usará o APO03, e depois o APO01, assim por diante. 
Se vocês possuem uma base teste, poderão fazer isso em teste antes de colocar em produção.


Pessoal qualquer dúvida deixe seu comentário.


Um abraço

3 comentários:

  1. Obrigado, funcionou perfeitamente.

    Veja mais dicas em Clubedobyte

    ResponderExcluir
  2. Lucky 7 Casino, Laughlin, NV - Mapyro
    Get directions, 부천 출장마사지 reviews 밀양 출장안마 and information for Lucky 7 Casino in Laughlin, NV. Laughlin Hotel & 서산 출장샵 Casino Laughlin Map is updated 광주 출장안마 daily, 경산 출장안마 and provides the most accurate and

    ResponderExcluir