# \[Jenkins\] Alguém sabe fazer deploy no Heroku com o Jenkins?

**URL:** <https://forum.casadocodigo.com.br/t/jenkins-alguem-sabe-fazer-deploy-no-heroku-com-o-jenkins/249>\
**Category:** Livros\
**Tags:** jenkins\
**Created:** [Julho 13, 2016, 4:21am UTC](https://forum.casadocodigo.com.br/t/jenkins-alguem-sabe-fazer-deploy-no-heroku-com-o-jenkins/249 "2016-07-13T04:21:36Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![cesarouchida](https://avatars.discourse-cdn.com/v4/letter/c/cab0a1/32.png) [@cesarouchida](https://forum.casadocodigo.com.br/u/cesarouchida)\
**Post date:** [Julho 13, 2016, 4:21am UTC](https://forum.casadocodigo.com.br/t/jenkins-alguem-sabe-fazer-deploy-no-heroku-com-o-jenkins/249/1 "2016-07-13T04:21:36Z")

</div>

Bom estou lendo o Livro sobre o Jenkins, mas estou com uma dúvida gostaria de saber como configurar o Jenkins para fazer o Deploy para o Heroku ?  
Alguém que sabe me explicar como eu posso configurar o Jenkins para realizar o deploy continuo?

---

<div class="post-metadata">

**Author:** ![boaglio](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/boaglio/32/10787_2.png) [@boaglio](https://forum.casadocodigo.com.br/u/boaglio)\
**Post date:** [Agosto 24, 2016, 3:09pm UTC](https://forum.casadocodigo.com.br/t/jenkins-alguem-sabe-fazer-deploy-no-heroku-com-o-jenkins/249/2 "2016-08-24T15:09:42Z")

</div>

Olá Cesar,

O Heroku faz deploy através do git, então instale o plugin do Git para isso, nesse blog tem um exemplo:

[http://thediscoblog.com/blog/2014/01/24/continuous-delivery-for-heroku-with-jenkins/](http://thediscoblog.com/blog/2014/01/24/continuous-delivery-for-heroku-with-jenkins/)

Continue lendo o livro e observe o exemplo do pipeline que é construído no decorrer dos capítulos, ele é um exemplo de integração contínua, com deploy em vários ambientes e atualização do banco de dados.

---

<div class="post-metadata">

**Author:** ![cesarouchida](https://avatars.discourse-cdn.com/v4/letter/c/cab0a1/32.png) [@cesarouchida](https://forum.casadocodigo.com.br/u/cesarouchida)\
**Post date:** [Agosto 27, 2016, 5:00am UTC](https://forum.casadocodigo.com.br/t/jenkins-alguem-sabe-fazer-deploy-no-heroku-com-o-jenkins/249/3 "2016-08-27T05:00:55Z")

</div>

Olá Fernando @boaglio,

Bom gostei bastante do livro e vi as partes em que você faz o uso do Flyway com o jenkins, os deploy para um tomcat externo entre outras coisas.

Mas o grande problema do deploy para o Heroku é que não estou conseguindo fazer a autenticação, bom vou deixar o stacktrace:

```auto
"C:\Users\Cesar\AppData\Local\GitHub\PortableGit_d76a6a98c9315931ec4927243517bc09e9b731a0\cmd\git.exe -c core.askpass=true fetch --tags --progress https://git.heroku.com/mydemoisfirst.git +refs/heads/*:refs/remotes/heroku/*" returned status code 128:
stdout: 
stderr: github --credentials get: github: command not found
github --credentials erase: github: command not found
remote: !	WARNING:
remote: !	Do not authenticate with username and password using git.
remote: !	Run `heroku login` to update your credentials, then retry the git command.
remote: !	See documentation for details: https://devcenter.heroku.com/articles/http-git#authentication
fatal: Authentication failed for 'https://git.heroku.com/bla.git/'

	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1723)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1459)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:63)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:314)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:506)
	at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1046)
	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1086)
	at hudson.scm.SCM.checkout(SCM.java:495)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1278)
	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:604)
	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
	at hudson.model.Run.execute(Run.java:1720)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:98)
	at hudson.model.Executor.run(Executor.java:404)
ERROR: null
```

Estou fazendo uma referência ao git.exe do aplicativo do github que possuo na maquina pois não consegui utilizar a instalação automática do jenkins.

---

<div class="post-metadata">

**Author:** ![boaglio](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/boaglio/32/10787_2.png) [@boaglio](https://forum.casadocodigo.com.br/u/boaglio)\
**Post date:** [Agosto 29, 2016, 12:46am UTC](https://forum.casadocodigo.com.br/t/jenkins-alguem-sabe-fazer-deploy-no-heroku-com-o-jenkins/249/4 "2016-08-29T00:46:48Z")

</div>

Você precisa usar o [https://toolbelt.heroku.com/](https://toolbelt.heroku.com/) para interagir com o Heroku.

---

<div class="post-metadata">

**Author:** ![cesarouchida](https://avatars.discourse-cdn.com/v4/letter/c/cab0a1/32.png) [@cesarouchida](https://forum.casadocodigo.com.br/u/cesarouchida)\
**Post date:** [Setembro 1, 2016, 4:32am UTC](https://forum.casadocodigo.com.br/t/jenkins-alguem-sabe-fazer-deploy-no-heroku-com-o-jenkins/249/5 "2016-09-01T04:32:17Z")

</div>

Bom então eu já tinha instalado o toolbelt, mas assim mesmo assim ele persiste com o mesmo erro. Mas eu troquei o git.exe para o do próprio do toolbelt que é o mesmo o git-scm e o erro mudou o problema foi a espera ⏲

```auto
ERROR: Timeout after 10 minutes
 > C:\Program Files\Git\bin\git.exe config --local --remove-section credential # timeout=10
ERROR: Error fetching remote repo 'heroku'
hudson.plugins.git.GitException: Failed to fetch from https://git.heroku.com/bla.git
	at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:799)
	at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1055)
	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1086)
	at hudson.scm.SCM.checkout(SCM.java:495)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1278)
	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:604)
	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
	at hudson.model.Run.execute(Run.java:1720)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:98)
	at hudson.model.Executor.run(Executor.java:404)
Caused by: hudson.plugins.git.GitException: Command "C:\Program Files\Git\bin\git.exe -c core.askpass=true fetch --tags --progress https://git.heroku.com/bla.git +refs/heads/*:refs/remotes/heroku/*" returned status code -1:
stdout: 
stderr: 
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1723)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1459)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:63)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:314)
	at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:797)
	... 11 more
ERROR: null
Build did not succeed and the project is configured to only push after a successful build, so no pushing will occur.
Finished: FAILURE
```

Já tentei trocar as credenciais e troquei vários tipos de ssh do próprio jenkins que estão configurado direto no heroku e nada .

---

<div class="post-metadata">

**Author:** ![boaglio](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/boaglio/32/10787_2.png) [@boaglio](https://forum.casadocodigo.com.br/u/boaglio)\
**Post date:** [Setembro 4, 2016, 4:36pm UTC](https://forum.casadocodigo.com.br/t/jenkins-alguem-sabe-fazer-deploy-no-heroku-com-o-jenkins/249/6 "2016-09-04T16:36:48Z")

</div>

sua rede tem proxy ? Precisa configurar o Git também:

> <https://stackoverflow.com/questions/14634030/how-to-configure-git-to-work-witha-proxy-server>

---

<div class="post-metadata">

**Author:** ![cesarouchida](https://avatars.discourse-cdn.com/v4/letter/c/cab0a1/32.png) [@cesarouchida](https://forum.casadocodigo.com.br/u/cesarouchida)\
**Post date:** [Setembro 5, 2016, 4:27am UTC](https://forum.casadocodigo.com.br/t/jenkins-alguem-sabe-fazer-deploy-no-heroku-com-o-jenkins/249/7 "2016-09-05T04:27:45Z")

</div>

Bom minha rede não estou usando proxy.  
Bom usando o toolbelt consigo clonar o projeto, dar pull e push no git do heroku via script numa boa, mas da maneira que você me passou com o Jenkins ainda não consegui .

---

<div class="post-metadata">

**Author:** ![paulopatto3](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/paulopatto3/32/13792_2.png) [@paulopatto3](https://forum.casadocodigo.com.br/u/paulopatto3)\
**Post date:** [Setembro 15, 2016, 8:40pm UTC](https://forum.casadocodigo.com.br/t/jenkins-alguem-sabe-fazer-deploy-no-heroku-com-o-jenkins/249/8 "2016-09-15T20:40:27Z")

</div>

Olá Cesar, tudo bem?

No caso você configuro o plugin do git com uma chave ssh e coloco essa chave ssh no repositório?

---

<div class="post-metadata">

**Author:** ![cesarouchida](https://avatars.discourse-cdn.com/v4/letter/c/cab0a1/32.png) [@cesarouchida](https://forum.casadocodigo.com.br/u/cesarouchida)\
**Post date:** [Setembro 16, 2016, 3:27am UTC](https://forum.casadocodigo.com.br/t/jenkins-alguem-sabe-fazer-deploy-no-heroku-com-o-jenkins/249/9 "2016-09-16T03:27:33Z")

</div>

Olá @paulopatto3,

Bom na verdade sim eu coloquei chave até porque eu não conseguiria nem comitar ele no Heroku sem ela, coloquei o padrão que é gerado pelo github.ssh e o id\_pub.ssh que eu gero manualmente. Já como expliquei acima já tentei de várias maneiras colocar informando na config do Jenkins mas nenhum surgiu efeito, e criei varias credentials para testar mas nada de funcionar.

Bom se alguém tiver algum tutorial de passo à passo de como posso fazer. Diferente do acima.

Ficaria agradecido.
