Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Deploy com ERRO!

Ola , Já postei um forum anteriormente porem foi ignorado, estou tentando resolver sozinho mas não consigo de jeito nenhum! é como se o meu Procfile não existisse na raiz do projeto! toda vez que faço o Deploy o Build Da SUCCESS, porém o ---Discovering process types exibe: Procfile declares t ypes -> (none)... acho que o correto seria : Procfile declares t ypes -> (WEB).... desta forma quando tento acessar a aplicação no navegador da Application Error..

remote:        [INFO] ------------------------------------------------------------------------
remote:        [INFO] BUILD SUCCESS
remote:        [INFO] ------------------------------------------------------------------------
remote:        [INFO] Total time:  12.005 s
remote:        [INFO] Finished at: 2020-08-17T14:18:30Z
remote:        [INFO] ------------------------------------------------------------------------
remote: -----> Discovering process types
remote:        Procfile declares types -> (none)
remote: 
remote: -----> Compressing...
remote:        Done: 83.1M
remote: -----> Launching...
remote:        Released v3
remote:        https://spring-augustomvc.herokuapp.com/ deployed to Heroku
remote: 
remote: Verifying deploy... done.
To https://git.heroku.com/spring-augustomvc.git
 * [new branch]      master -> master

segue log heroku logs --tail

 ›   Warning: heroku update available from 7.42.4 to 7.42.6.
2020-08-17T13:55:05.961770+00:00 app[api]: Initial release by user augustosouzads@gmail.com
2020-08-17T13:55:05.961770+00:00 app[api]: Release v1 created by user augustosouzads@gmail.com
2020-08-17T13:55:06.170148+00:00 app[api]: Release v2 created by user augustosouzads@gmail.com
2020-08-17T13:55:06.170148+00:00 app[api]: Enable Logplex by user augustosouzads@gmail.com
2020-08-17T14:18:13.000000+00:00 app[api]: Build started by user augustosouzads@gmail.com
2020-08-17T14:18:39.301310+00:00 app[api]: Release v3 created by user augustosouzads@gmail.com
2020-08-17T14:18:39.301310+00:00 app[api]: Deploy 140c56be by user augustosouzads@gmail.com
2020-08-17T14:18:43.000000+00:00 app[api]: Build succeeded
2020-08-17T14:19:33.151691+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=spring-augustomvc.herokuapp.com request_id=93cf6060-37e5-4833-b4de-46d673422524 fwd="191.5.68.232" dyno= connect= service= status=503 bytes= protocol=https
2020-08-17T14:19:33.698219+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=spring-augustomvc.herokuapp.com request_id=ed95621a-d604-435d-be49-469d928251f9 fwd="191.5.68.232" dyno= connect= service= status=503 bytes= protocol=https
2020-08-17T14:21:01.578603+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=spring-augustomvc.herokuapp.com request_id=db25cc88-ad1f-46c4-b924-183f35c50415 fwd="191.5.68.232" dyno= connect= service= status=503 bytes= protocol=https
2020-08-17T14:21:01.862841+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=spring-augustomvc.herokuapp.com request_id=9b24a372-c7f3-48ef-a43d-ccecb9da9817 fwd="191.5.68.232" dyno= connect= service= status=503 bytes= protocol=https
2020-08-17T14:39:33.752335+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=spring-augustomvc.herokuapp.com request_id=ec44855c-7f86-4bad-89f9-25c4aac38471 fwd="191.5.68.232" dyno= connect= service= status=503 bytes= protocol=https
2020-08-17T14:39:34.045661+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=spring-augustomvc.herokuapp.com request_id=238671ef-e9ef-4401-8ccf-4764a55bdbcd fwd="191.5.68.232" dyno= connect= service= status=503 bytes= protocol=https

na Raiz do projeto este é meu Procfile:

web: java $JAVA_OPTS -jar -Dspring.profiles.active=prod target/dependency/webapp-runner.jar --port $PORT target/*.war

Alguem ai esta com este problema tambem? ou pode me ajudar? parece que ele não adicione nenhum dino nem o postgreSQL, sera que preciso adicionar manualmente e cadastrar um cartão de credito pra isso? thanks

5 respostas

Olá Augusto, tudo bem? Peço desculpas pela demora no retorno! Não precisa de nada disso, fiz exatamente o mesmo processo que o instrutor fez e deu certo, o problema que tive foi apenas um erro de digitação. Mas você poderia adicionar o log completo do Heroku aqui ou então no Gist do GitHub pra gente poder verificar, ou então adicionar o projeto no GitHub e informar aqui o link pra gente poder testar e tentar identificar o problema!

Fico aguardando retorno!

Boa tarde Jonilson....

segue link do projeto no github... a branch MVC2 foi a ultima que atualizei enquanto estava no curso!

https://github.com/augustosouzads/casa-do-codigo/tree/branchMVC2

Obrigado.

Augusto, desculpa a demora, analisei seu projeto e fiz testes aqui e realmente não tava funcionando, de nenhuma forma ele identificava o arquivo Procfile e sem ele o Heroku não consegue subir a aplicação no servidor.

Porém, eu fiz o download do seu projeto no GitHub como zip, então ele não vem com versionamento, e então identifiquei os seguintes problemas:

  • O primeiro problema que encontrei foi que nas classes JPAConfiguration e JPAProductionConfiguration no método public Properties additionalProperties() o nome do método (additionalProperties) está incorreto ele deveria ser aditionalProperties, então ele deve ficar da seguinte forma:

    public Properties aditionalProperties()
  • O segundo problema que encontrei foi no pom.xml, o plugin do SDK do Heroku não é necessário já que o plugin maven-dependency-plugin já faz todo o trabalho pra gente:

    <!-- plugin  copiado do forum da alura -->
    <plugin>
          <groupId>com.heroku.sdk</groupId>
          <artifactId>heroku-maven-plugin</artifactId>
          <version>3.0.1</version>
    </plugin>

    Então removi esse plugin.

  • O terceiro problema, na verdade não foi bem um problema, porém algo estranho, tem um arquivo com o nome .attach_pid8056 na raiz do projeto e não entendi o que esse arquivo faz e então removi esse arquivo também.

Pronto, depois de ter resolvido esses erros, eu então apaguei o arquivo Procfile e criei outro com mesmo nome e conteúdo para ter certeza que o problema não era no arquivo e fiz o versionamento do projeto novamente pelo terminal usando os comandos:

git init

git add .

git commit -m "commit initial"

E em seguida fiz a criação do app no heroku com o seguinte comando:

heroku apps:create cdcspringmvc-alura-forum

E então subi o projeto para deploy:

git push heroku master

E por fim acompanhei o processo usando o logs do heroku com esse comando:

heroku logs -a cdcspringmvc-alura-forum -t

E o resultado nos logs foi:

λ heroku logs -a cdcspringmvc-alura-forum -t                                                  
2020-10-02T01:28:09.279956+00:00 heroku[web.1]: Starting process with command `java $JAVA_OPTS -jar -Dspring.profiles.active=prod target/dependency/webapp-runner.jar --port 38313 target/*.war`
2020-10-02T01:28:10.000000+00:00 app[api]: Build succeeded
2020-10-02T01:28:11.487098+00:00 app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them.
2020-10-02T01:28:11.497619+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -XX:CICompilerCount=2 -Dfile.encoding=UTF-8
2020-10-02T01:28:12.433479+00:00 app[web.1]: Expanding casadocodigo.war into /app/target/tomcat.38313/webapps/expanded
2020-10-02T01:28:12.433528+00:00 app[web.1]: Adding Context  for /app/target/tomcat.38313/webapps/expanded
2020-10-02T01:28:13.040952+00:00 heroku[web.1]: State changed from starting to up
2020-10-02T01:28:12.951386+00:00 app[web.1]: Oct 02, 2020 1:28:12 AM org.apache.coyote.AbstractProtocol init
2020-10-02T01:28:12.951395+00:00 app[web.1]: INFO: Initializing ProtocolHandler ["http-nio-38313"]
2020-10-02T01:28:12.965145+00:00 app[web.1]: Oct 02, 2020 1:28:12 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
2020-10-02T01:28:12.965147+00:00 app[web.1]: INFO: Using a shared selector for servlet write/read
2020-10-02T01:28:12.973913+00:00 app[web.1]: Oct 02, 2020 1:28:12 AM org.apache.catalina.core.StandardService startInternal
2020-10-02T01:28:12.973915+00:00 app[web.1]: INFO: Starting service [Tomcat]
2020-10-02T01:28:12.975605+00:00 app[web.1]: Oct 02, 2020 1:28:12 AM org.apache.catalina.core.StandardEngine startInternal
2020-10-02T01:28:12.975607+00:00 app[web.1]: INFO: Starting Servlet Engine: Apache Tomcat/9.0.8
2020-10-02T01:28:13.306323+00:00 app[web.1]: Oct 02, 2020 1:28:13 AM org.apache.catalina.startup.ContextConfig getDefaultWebXmlFragment
2020-10-02T01:28:13.306333+00:00 app[web.1]: INFO: No global web.xml found
2020-10-02T01:28:18.966579+00:00 app[web.1]: Oct 02, 2020 1:28:18 AM org.apache.jasper.servlet.TldScanner scanJars
2020-10-02T01:28:18.966587+00:00 app[web.1]: INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
2020-10-02T01:28:19.030904+00:00 app[web.1]: Oct 02, 2020 1:28:19 AM org.apache.catalina.core.ApplicationContext log
2020-10-02T01:28:19.030908+00:00 app[web.1]: INFO: Spring WebApplicationInitializers detected on classpath: [br.com.casadocodigo.loja.conf.ServletSpringMVC@321d3e08, br.com.casadocodigo.loja.conf.SpringSecurityFilterConfiguration@1c55db35]
2020-10-02T01:28:19.161475+00:00 app[web.1]: log4j:WARN No appenders could be found for logger (org.springframework.web.context.support.StandardServletEnvironment).
2020-10-02T01:28:19.161549+00:00 app[web.1]: log4j:WARN Please initialize the log4j system properly.
2020-10-02T01:28:19.161615+00:00 app[web.1]: log4j:WARN See http://logging.apache.org/log4j/1
solução!

E deu certo dessa forma, porém quando foi acessar na aplicação pelo navegador houve um erro e apareceu o seguinte erro no log do Heroku:

org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.JDBCConnectionException: Could not open connection

<Outros logs>

Caused by: java.net.ConnectException: Connection refused (Connection refused)

Esse erro aconteceu porque você "esqueceu" de comentar o método onStartup na classe ServletSpringMVC. Então eu comentei esse método e fiz novamente o deploy no Heroku e deu tudo certo e você mesmo pode ver sua aplicação em funcionamento nesse link:

https://cdcspringmvc-alura-forum.herokuapp.com/

Espero ter ajudado!