Open lucasrv opened 3 years ago
Oi @lucasrv. A gente está fazendo um manual com isso, mas é para o IIS do Windows Server 2019. Tu entra em contato com o dsi arroba sti.ufc.br utilizando um email institucional caso esteja interessado
Oi @lucasrv. A gente está fazendo um manual com isso, mas é para o IIS do Windows Server 2019. Tu entra em contato com o dsi arroba sti.ufc.br utilizando um email institucional caso esteja interessado
Ok, eu mandei um e-mail ontem mesmo!
@lucasrv, uma outras coisa que eu fiz aqui foi configurar um docker-compose
para rodar a aplicação. Eu explico a seguir como testar
https://github.com/SrMouraSilva/Sistema_Programa_de_Gestao_Susep/tree/docker-codigo-fonte#sistema-programa-de-gest%C3%A3o-de-desempenho---pgd
No estado atual, já sobe todos os serviços do pgd: WebApp, WebApi, ApiGateway e banco de dados. Eu ainda não testei a parte da integração com o LDAP, mas acredito que funcionará sem problemas.
Se tu for testar e tiver problemas, só me dizer por aqui mesmo ou por um canal institucional.
@lucasrv, uma outras coisa que eu fiz aqui foi configurar um
docker-compose
para rodar a aplicação. Eu explico a seguir como testar https://github.com/SrMouraSilva/Sistema_Programa_de_Gestao_Susep/tree/docker-codigo-fonte#sistema-programa-de-gest%C3%A3o-de-desempenho---pgdNo estado atual, já sobe todos os serviços do pgd: WebApp, WebApi, ApiGateway e banco de dados. Eu ainda não testei a parte da integração com o LDAP, mas acredito que funcionará sem problemas.
Se tu for testar e tiver problemas, só me dizer por aqui mesmo ou por um canal institucional.
@SrMouraSilva, parabéns pela iniciativa acredito que a solução em Docker seja a melhor opção, tanto por questões técnicas quanto pela questão financeira. Fiz os passos lá do tutorial e consegui subir os containers em poucos minutos! Possivelmente hoje ainda o gabinete deve encaminhar o ofício aí pra vocês. Estou apenas com algumas dificuldades na integração com o LDAP, mais ai entro em contato com você. Muito obrigado pela ajuda!
Pois é, @lucasrv, MUITO MAIS FÁCIL com o Docker. Sobre o financeiro, atente-se que a licença do banco 0800 só serve para o pessoal homologar.
Sobre a parte do ldap, eu ainda não parei para ver, mas @rmvs que trabalha comigo já testou com um ambiente que tinha montado antes e deu certo. Vamos ver se nessa nova versão que o SUSEP lançou não tem nenhum bug novo, rsrs. Mas pelo menos temos o código agora :D
Boa Noite @SrMouraSilva tudo bem ? Obrigado por disponibilizar o docker-compose , estou realizando a implantação aqui tambem no Ministerio do TUrismo em desenvolvimento.
Ao iniciar os container de gateway e api eles apresentam o seguinte erro ,poderia me dar um apoio ?
warn: Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository[50]
Using an in-memory repository. Keys will not be persisted to storage.
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[59]
Neither user profile nor HKLM registry available. Using an ephemeral key repository. Protected data will be unavailable when application exits.
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
No XML encryptor configured. Key {923d44ee-f28a-496d-b92d-17b6a2b24932} may be persisted to storage in unencrypted form.
crit: Microsoft.AspNetCore.Server.Kestrel[0]
Unable to start Kestrel.
System.Net.Sockets.SocketException (13): Permission denied
at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer.<>cDisplayClass21_01.<<StartAsync>g__OnBind|0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context) at Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions.BindAsync(AddressBindContext context) at Microsoft.AspNetCore.Server.Kestrel.Core.AnyIPListenOptions.BindAsync(AddressBindContext context) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.AddressesStrategy.BindAsync(AddressBindContext context) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindAsync(IServerAddressesFeature addresses, KestrelServerOptions serverOptions, ILogger logger, Func
2 createBinding)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer.StartAsync[TContext](IHttpApplication1 application, CancellationToken cancellationToken) Unhandled exception. System.Net.Sockets.SocketException (13): Permission denied at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName) at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.Bind(EndPoint localEP) at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind() at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer.<>c__DisplayClass21_0
1.<2 createBinding) at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer.StartAsync[TContext](IHttpApplication
1 application, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken)
at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
at Susep.SISRH.WebApp.Program.Main(String[] args) in /src/Susep.SISRH.WebApp/Program.cs:line 17
Boa tarde, @itallopedrosa. Isso foi usando o docker-compose ou pelo IIS (que você falou aqui)?
Boa tarde, @itallopedrosa. Isso foi usando o docker-compose ou pelo IIS (que você falou aqui)? Foi utilizando o docker-compose. Pelo IIS eu recebo sempre erro 500 nas chamadas de API e Gateway.
@itallopedrosa, você por acaso alterou (indevidamente) o arquivo ocelot.Homolog.json
? No ambiente docker que eu montei, os arquivos que podem/devem ser alterados são somente os que listo em https://github.com/SrMouraSilva/Sistema_Programa_de_Gestao_Susep/tree/docker-codigo-fonte#configura%C3%A7%C3%B5es
@SrMouraSilva não , esse erro gerado foi quando os container da aplicação tentam iniciar. somente executei o comando docker-compose -f docker/docker-compose.yml up -d capturei esse erros nos logs do container que não sobe.
@itallopedrosa, viiche. Que estranho! Qual é a versão do teu docker e do teu SO? Qual é o container que deu problema?
@SrMouraSilva , estou usando debian 9.4(stretch) e docker na versão 19.04 ce os containers da aplicação docker_web-app_1 docker_api-gateway_1 e docker_web-app_1
@SrMouraSilva boa noite , conseguir subir os containers com outra imagem de aspnet core , agora estou enfrantando erro na api no momento do build ele gera o seguinte erro
chegou a passar por esse problema ??
@itallopedrosa, primeiro. Tu tá usando a versão 3.1 do aspnet, correto?
Para fazer o build, eu uso essa https://github.com/SrMouraSilva/Sistema_Programa_de_Gestao_Susep/blob/docker-codigo-fonte/docker/Dockerfile#L3
Segundo, tu já fez o build para ele baixar as dependências? https://github.com/SrMouraSilva/Sistema_Programa_de_Gestao_Susep/blob/docker-codigo-fonte/docker/Dockerfile#L12-L13
@SrMouraSilva , Isso estou a imagem mcr.microsoft.com/dotnet/aspnet:3.1,
Esse erro ocorre quando executo o docker-compose , mais especificamente nesse passo.
web-api: image: ghcr.io/srmourasilva/sistema_programa_de_gestao_susep/sgd:latest working_dir: /app/api/ command: dotnet Susep.SISRH.WebApi.dll
Bom dia, @itallopedrosa. Estou confuso. Se a imagem do web-api está como ghcr.io/srmourasilva/sistema_programa_de_gestao_susep/sgd:latest
, então ele vai usar a imagem que eu montei, exceto se você fez o build da imagem com o mesmo nome. Caso não tenha feito, sua mudança para usar a imagem mcr.microsoft.com/dotnet/aspnet:3.1
não deve ter surtido efeito.
Ainda estou encucado com esses erros que apareceram antes. Aparenta ser problema de conflito de porta ou algo assim https://github.com/dotnet/aspnetcore/issues/4699. Mas isso não deveria acontecer. Você já tentou atualizar o docker, aqui uso o 20.10.3 e um Kubuntu 20.4?
Sobre esse último erro, é como se ele não tivesse instalado as dependências. Vou te pedir para fazer uma coisa:
Tu mata o processo
docker-compose -f docker/docker-compose.yml down
Atualiza o teu código, que deve estar desatualizado (atualizei nessa madrugada).
Altera esses dois arquivos, mudando de Information
para Debug
:
Sobe de novo a aplicação. Aí tu vê o que aparece nos arquivos de log que ficarão nessas pastas https://github.com/SrMouraSilva/Sistema_Programa_de_Gestao_Susep/tree/docker-codigo-fonte/log
@itallopedrosa, uma dúvida. O teu usuário na máquina é 1000:1000? É possível que eu tenha configurado alguma coisa errada em relação às permissões! Tu por favor me dá esse feedback? Obrigado!
@SrMouraSilva Boa Tarde , eu conseguir subir a aplicação com o docker compose, eu tive que criar outra imagem sem ser com usuário com id 1000 .. , o usuário da maquina maquina não tem o id 1000:1000 por deve estar acontecendo aquele erro de permission denied
link da imagem: docker push italloap/susep-app:v1
Nossa, @itallopedrosa! Então era isso. Você descobriu qual dos arquivos estava com aquele problema de permissão?
O que você fez para corrigir esse problema?
Eu criei um usuário 1000:1000, posso tirar esse passo, mas a aplicação ficaria mais insegura. No momento eu só vejo como alternativa, o usuário mudar a permissão dos arquivos de configuração via chown
.
Ei, não achei sua imagem no docker hub: https://hub.docker.com/italloap/susep-app
Obrigado pelo retorno!
@SrMouraSilva , muito obrigado por compartilhar seu docker ,
subi pro git tambem https://github.com/itallopedrosa/teste-spgr/tree/master/docker com a imagem sem o id 1000:1000
esse problema do id nunca tinha me deparado,pois e a primeira vez que utilizo container com aplicações dotnet.
@itallopedrosa Eu já tive problemas com permissão com imagens de outros tipos. Realmente é chatinho. Eu vou fazer uns testes e depois te atualizo 😁
Poderia adicionar a parte da instalação e configuração do IIS, incluindo os recursos instalados.