Como utilizar portas de acordocom o ambiente
07/02/2016 00:25
0
Prezados colegas,

Preciso tornar meu projeto sensível ao ambiente com relação a utilização das portas do ip. Por exemplo, nos ambientes de teste e desenvolvimento preciso da porta 9000. No ambiente de produção, a porta 8080.

Encontrei o comando 
grails.server.port.http = porta

Pelo que compreendi esta declaração deve ser colocada no arquivo 
BuildConfig.groovy.

Porém já utilizei várias abordagens,e pelo que vi não se consegue fazer o BuildConfig entender o ambiente.

A última abordagem que utilizei foi:

environments {
    development {
grails.server.port.http = 9000
    }
    test {
grails.server.port.http = 9000
    }
    production {
grails.server.port.http = 8080
    }
}

Alguma luz? Obrigado.
Tags: Grails, grails.server.port.http, environments


0
Oi Pedro,

basta sempre usar as tags de links do Grails: g:createLink, g:resource (se for uma versão antiga do Grails pra referenciar recursos), g:link, etc.

Com isto sua aplicação sempre vai gerar as URLs corretas pra você.


0
Oi Kiko.
Estou utilizando a versão 2.5.3 do Grails.
No Config.groovy esyou utilizando para o ambiente d edesenvolvimento:

grails.serverURL = "http://localhost:9000/${appName}"

Porém sempre que o run-app é gerado o link faz referência à porta 8080.

Então, para dar certo eu preciso declarar no BuildConfig.groovy: grails.server.port.http = 9000

Não consegui compreender o motivo. O fato é que na versão anterior (2.4.4) eu não precisava fazer isto...

Compreende então que seria interessante poder declarar a porta de forma a respeitar o ambiente da mesma maneira que é feito com o serverURL?

Obrigado!
08/02/2016 15:39


0
Pedro,
  Sua definição de "grails.serverURL = "http://localhost:9000/${appName}"" deve estar dentro de um bloco "environments", para definir uma configuração para o ambiente de desenvolvimento basta fazer:
?environments {
    development {
? grails.serverURL = "SEU_ENDERECO_DE_DESENVOLVIMENTO:PORTA/${appName}"
?}
?production {
? ?
   grails.serverURL = "SEU_ENDERECO_DE_PRODUCAO:PORTA/${appName}"   ?
?}?

a[code]      grails.serverURL = "http://localhost:9000/${appName}"
[/code]
10/02/2016 10:05


0
Essa opção "code" tá bem doidona...
segue código normal:
environments {
    development {
grails.serverURL = "SEU_ENDERECO_DE_DESENVOLVIMENTO:PORTA/${appName}"
    }
    production {
         grails.serverURL = "SEU_ENDERECO_DE_PRODUCAO:PORTA/${appName}"
    }
}
10/02/2016 10:07


0
Olá Dyego. Obrigado pela resposta, mas já tentei este caminho.
Eu só queria poder escolher a porta do servidor segundo o ambiente... grails.server.port.http = porta
22/02/2016 11:26



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto