{"id":9045,"date":"2020-01-18T21:15:59","date_gmt":"2020-01-19T00:15:59","guid":{"rendered":"https:\/\/geekblogti.wpengine.com\/?p=9045"},"modified":"2024-09-24T18:23:11","modified_gmt":"2024-09-24T21:23:11","slug":"deploy-imagem-docker-heroku-utilizando-springboot","status":"publish","type":"post","link":"https:\/\/www.geekhunter.com/pt/blog\/deploy-imagem-docker-heroku-utilizando-springboot\/","title":{"rendered":"Como fazer deploy de imagem docker no Heroku utilizando Spring Boot"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Hey, pessoal, como vai!? <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Atualmente (2019-2020), o mercado de TI  tem evolu\u00eddo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Novas tend\u00eancias t\u00eam surgido e ganhado espa\u00e7o e umas das tend\u00eancias \u00e9 o CI, que \u00e9 o \u201cContinuous Integration\u201d (em livre tradu\u00e7\u00e3o \u201cIntegra\u00e7\u00e3o Cont\u00ednua\u201d).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Juntamente com o CD, que \u00e9 o \u201cContinuous Delivery\u201d (em livre tradu\u00e7\u00e3o \u201cEntrega Cont\u00ednua\u201d ou em alguns casos pode ser entendido como \u201cDeploy Cont\u00ednuo\u201d).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O texto em quest\u00e3o tem como objetivo explicar como fazer o deploy de uma imagem docker na plataforma do Heroku atrav\u00e9s do Bitbucket, sendo mais preciso, utilizando a ferramenta \u201cbitbucket-pipeline\u201d. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Desta forma, ser\u00e1 realizado um deploy assim que um \u201ccommit\u201d for feito no Bitbucket. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O texto \u00e9 destinado para estudos, como escolha da linguagem de programa\u00e7\u00e3o ser\u00e1 utilizado Java, utilizando \u201cSpringboot\u201d com \u201cmaven\u201d. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conhecimento pr\u00e9vio para o deploy<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Importante informar que, cabe a cada um aperfei\u00e7oar e\/ou modificar o que est\u00e1 sendo passado aqui para melhor atender a suas necessidades e prefer\u00eancias.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Presume-se aqui que, para chegar at\u00e9 este ponto o leitor tem alguma familiaridade com o BitBucket (muito mais que um versionador<br> de arquivo), no caso, utilizar \u201cgit\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E, certa familiaridade com o Heroku e que talvez tenha conta em ambos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para quem n\u00e3o tem conhecimento recomenda-se procurar sobre o assunto, tanto sobre o <a rel=\"noreferrer noopener\" aria-label=\"Bitbucket (abre numa nova aba)\" href=\"https:\/\/bitbucket.org\/\" target=\"_blank\">Bitbucket<\/a> quanto sobre <a rel=\"noreferrer noopener\" aria-label=\"Heroku (abre numa nova aba)\" href=\"https:\/\/geekblogti.wpengine.com\/heroku\/\" target=\"_blank\">Heroku<\/a>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para fazer este exemplo foi utilizado como IDE o \u201cIntellij Community\u201d e como sistema operacional \u201cUbuntu 18.04 LTS\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A \u00e1rvore do projeto fica da seguinte forma:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img fetchpriority=\"high\" decoding=\"async\" width=\"907\" height=\"563\" src=\"https:\/\/geekblogti.wpengine.com\/wp-content\/uploads\/2020\/01\/Ubuntu-18.04-LTS.png\" alt=\"\" class=\"wp-image-9049\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/Ubuntu-18.04-LTS.png 907w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/Ubuntu-18.04-LTS-150x93.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/Ubuntu-18.04-LTS-100x62.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/Ubuntu-18.04-LTS-600x372.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/Ubuntu-18.04-LTS-450x279.png 450w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/Ubuntu-18.04-LTS-870x540.png 870w\" sizes=\"(max-width: 907px) 100vw, 907px\" \/><figcaption> Existir essa ra\u00edz \u00e9 fundamental<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Observe que existe o arquivo <code>bibtbucket-pipeline.yml<\/code> na ra\u00edz do<br> projeto e isso \u00e9 fundamental para que se possa ter sucesso. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por\u00e9m, ser\u00e1 falado um pouco mais sobre ele e alguns outros pontos mais a<br> frente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Heroku<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ser\u00e1 feita a configura\u00e7\u00e3o correspondente ao Heroku. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Neste momento ser\u00e1 criada a aplica\u00e7\u00e3o, ser\u00e1 adicionado as vari\u00e1veis de ambiente e ser\u00e1 gerada a \u201cAPI key\u201d.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Criar a aplica\u00e7\u00e3o no Heroku<\/h3>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" width=\"910\" height=\"441\" src=\"https:\/\/geekblogti.wpengine.com\/wp-content\/uploads\/2020\/01\/criar-uma-aplica\u00e7\u00e3o-no-heroku.png\" alt=\"criar uma aplica\u00e7\u00e3o no heroku \" class=\"wp-image-9050\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/criar-uma-aplica\u00e7\u00e3o-no-heroku.png 910w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/criar-uma-aplica\u00e7\u00e3o-no-heroku-150x73.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/criar-uma-aplica\u00e7\u00e3o-no-heroku-100x48.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/criar-uma-aplica\u00e7\u00e3o-no-heroku-600x291.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/criar-uma-aplica\u00e7\u00e3o-no-heroku-450x218.png 450w\" sizes=\"(max-width: 910px) 100vw, 910px\" \/><figcaption>F\u00e1cil e r\u00e1pido<\/figcaption><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Adicionar vari\u00e1vel de ambiente<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">O motivo de se ter vari\u00e1vel de ambiente \u00e9 por conta de que ser\u00e1 informado qual o \u201cProfile\u201d ser\u00e1 utilizado para inicializar a aplica\u00e7\u00e3o no Heroku. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No caso, como exemplo, \u00e9 poss\u00edvel que se queira ter um ambiente de teste, ou de desenvolvimento, ou produ\u00e7\u00e3o e por conta disto, ser\u00e1 passada essa informa\u00e7\u00e3o atrav\u00e9s da vari\u00e1vel de ambiente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para adicionar uma vari\u00e1vel de ambiente, \u00e9 necess\u00e1rio que na \u00e1rea<br> do projeto criado <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>V\u00e1 em \u201cSettings\u201d;<\/li><li>Clique em \u201cReveal Config Vars\u201d;<\/li><li>Informe as vari\u00e1veis, que neste caso ser\u00e1 informado como<br> <code>key<\/code>: <code>SPRING_PROFILE<\/code> e como <code>value<\/code>: <code>heroku<\/code>;<\/li><li>Ap\u00f3s informar, \u00e9 s\u00f3 clicar no bot\u00e3o <code>add<\/code>.<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" width=\"897\" height=\"445\" src=\"https:\/\/geekblogti.wpengine.com\/wp-content\/uploads\/2020\/01\/vari\u00e1vel-de-ambiente-heroku.png\" alt=\"\" class=\"wp-image-9051\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/vari\u00e1vel-de-ambiente-heroku.png 897w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/vari\u00e1vel-de-ambiente-heroku-150x74.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/vari\u00e1vel-de-ambiente-heroku-100x50.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/vari\u00e1vel-de-ambiente-heroku-600x298.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/vari\u00e1vel-de-ambiente-heroku-450x223.png 450w\" sizes=\"(max-width: 897px) 100vw, 897px\" \/><figcaption>Vari\u00e1vel adicionada! <\/figcaption><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">API key<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Neste momento deve-se guardar a \u201cAPI Key\u201d, pois essa chave que possibilitar\u00e1 fazer o deploy de fora da plataforma do Heroku. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para tal, v\u00e1 em \u201cAccount settings\u201d e em seguida v\u00e1 ao campo \u201cAPI Key\u201d, se a chave n\u00e3o existir, crie uma.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"888\" height=\"375\" src=\"https:\/\/geekblogti.wpengine.com\/wp-content\/uploads\/2020\/01\/cria\u00e7\u00e3o-de-uma-api-key.png\" alt=\"Cria\u00e7\u00e3o de uma API key\" class=\"wp-image-9052\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/cria\u00e7\u00e3o-de-uma-api-key.png 888w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/cria\u00e7\u00e3o-de-uma-api-key-150x63.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/cria\u00e7\u00e3o-de-uma-api-key-100x42.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/cria\u00e7\u00e3o-de-uma-api-key-600x253.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/cria\u00e7\u00e3o-de-uma-api-key-450x190.png 450w\" sizes=\"(max-width: 888px) 100vw, 888px\" \/><figcaption>Cria\u00e7\u00e3o de uma API key<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">BitBucket<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Chega-se a parte do Bitbucket que \u00e9 onde a m\u00e1gica acontece!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nesta etapa ser\u00e1 habilitado o \u201cBitbucket Pipeline\u201d e ser\u00e1 adicionado as<br> vari\u00e1veis de ambiente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Habilitar Pipeline<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Na plataforma do Bitbucket ser\u00e1 habilitado o \u201cpipeline\u201d e para isso precisa ir at\u00e9 as configura\u00e7\u00f5es do projeto que foi criado, depois na op\u00e7\u00e3o \u201cPipeline &gt; Settings\u201d e ativar a op\u00e7\u00e3o.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"735\" height=\"509\" src=\"https:\/\/geekblogti.wpengine.com\/wp-content\/uploads\/2020\/01\/ativando-o-pipeline.png\" alt=\"ativando o pipeline\" class=\"wp-image-9056\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/ativando-o-pipeline.png 735w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/ativando-o-pipeline-150x104.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/ativando-o-pipeline-100x69.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/ativando-o-pipeline-600x416.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/ativando-o-pipeline-450x312.png 450w\" sizes=\"(max-width: 735px) 100vw, 735px\" \/><figcaption>Ativando o pipeline<\/figcaption><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Adicionar vari\u00e1vel de ambiente<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pr\u00f3ximo passo ser\u00e1 adicionar as vari\u00e1veis de ambiente ao projeto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para isso, deve-se retornar at\u00e9 as configura\u00e7\u00f5es do projeto e ir em Pipeline &gt; Repository variables. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ser\u00e3o adicionadas as vari\u00e1veis de ambiente <code>HEROKU_API_KEY<\/code>, essa que foi gerada no passo API Key do Heroku e ser\u00e1 adicionada a chave <code>HEROKU_APP_NAME<\/code>, essa que \u00e9 o nome da aplica\u00e7\u00e3o criada no Heroku.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"903\" height=\"616\" src=\"https:\/\/geekblogti.wpengine.com\/wp-content\/uploads\/2020\/01\/api-key.png\" alt=\"\" class=\"wp-image-9068\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/api-key.png 903w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/api-key-150x102.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/api-key-100x68.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/api-key-600x409.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/api-key-450x307.png 450w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/api-key-792x540.png 792w\" sizes=\"(max-width: 903px) 100vw, 903px\" \/><figcaption>Tudo isso no reposit\u00f3rio de vari\u00e1veis <\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Aplica\u00e7\u00e3o<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Momento de configurar a aplica\u00e7\u00e3o para que assim que for realizado um \u201ccommit\u201d no \u201cbranch master\u201d o \u201cpipeline\u201d entre em a\u00e7\u00e3o e fa\u00e7a o deploy no Heroku.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ressalto que, a linguagem de programa\u00e7\u00e3o utilizada para este texto est\u00e1 sendo <a rel=\"noreferrer noopener\" aria-label=\"Java (abre numa nova aba)\" href=\"https:\/\/geekblogti.wpengine.com\/tudo-sobre-java\/\" target=\"_blank\">Java<\/a> com \u201cSpringboot\u201d, como IDE est\u00e1 sendo utilizado o \u201cIntellij Community\u201d.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Application.yml<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ser\u00e1 criado o arquivo \u201capplication.yml\u201d dentro da pasta \u201cresource\u201d do projeto, mesmo n\u00edvel que o \u201capplication.properties\u201d. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Repare que, existem dois \u201cprofiles\u201d, um \u00e9 para desenvolvimento (profile \u201cdev\u201d) e outro \u00e9 o qual o Heroku (profile \u201cheroku\u201d) ir\u00e1 utilizar na inicializa\u00e7\u00e3o da aplica\u00e7\u00e3o.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"904\" height=\"527\" src=\"https:\/\/geekblogti.wpengine.com\/wp-content\/uploads\/2020\/01\/Application.yml_.png\" alt=\"Application.yml \" class=\"wp-image-9058\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/Application.yml_.png 904w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/Application.yml_-150x87.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/Application.yml_-100x58.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/Application.yml_-600x350.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/Application.yml_-450x262.png 450w\" sizes=\"(max-width: 904px) 100vw, 904px\" \/><figcaption>Neste arquivo ser\u00e1 informado o nome do \u201cprofile\u201d e a porta que a aplica\u00e7\u00e3o ir\u00e1 inicializar<\/figcaption><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Bitbucket-pipeline.yml<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Neste ponto \u00e9 necess\u00e1rio criar o arquivo \u201cbitbucket-pipeline.yml\u201d na ra\u00edz do projeto.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"904\" height=\"476\" src=\"https:\/\/geekblogti.wpengine.com\/wp-content\/uploads\/2020\/01\/bitbucket-pipeline.yml_.png\" alt=\"\" class=\"wp-image-9059\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/bitbucket-pipeline.yml_.png 904w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/bitbucket-pipeline.yml_-150x79.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/bitbucket-pipeline.yml_-100x53.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/bitbucket-pipeline.yml_-600x316.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/bitbucket-pipeline.yml_-450x237.png 450w\" sizes=\"(max-width: 904px) 100vw, 904px\" \/><figcaption>Ele cont\u00e9m a f\u00f3rmula que ser\u00e1 lida e executada dentro do Bitbucket<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Repare que existe \u201cbranch: master:\u201d, neste caso, o \u201cpipeline\u201d ser\u00e1 executado toda vez que um \u201ccommit\u201d for feito no \u201cbranch master\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dentro desta hierarquia t\u00eam os \u201csteps\u201d, esses passos que ser\u00e3o executados atrav\u00e9s do \u201cscript\u201d logo ap\u00f3s o \u201ccommit\u201d no \u201cbranch master\u201d for feito.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>No \u201cstep\u201d com nome \u201cCreate Artifact\u201d ser\u00e1 executado o comando \u201cmvn -B package\u201d (se por ventura tiver testes os mesmos ser\u00e3o executados). <br><br>Em seguida ser\u00e1 guardado temporariamente a pasta \u201ctarget\u201d, pasta essa que \u00e9 gerada na execu\u00e7\u00e3o do comando \u201cmvn -B package\u201d.<br><br>Porque nessa pasta cont\u00e9m os arquivos que ser\u00e3o utilizados na cria\u00e7\u00e3o da aplica\u00e7\u00e3o no \u201ccontainer docker\u201d<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>No \u201cstep\u201d com nome \u201cPush docker image to the Heroku\u201d ser\u00e1 utilizado o \u201cservices\u201d do \u201cdocker\u201d para gerar a imagem e em seguida ser\u00e1 executado o \u201cscript\u201d. <br><br>No script, o primeiro passo \u00e9 instalar o \u201cheroku standalone\u201d (comando utilizado para instalar: curl https:\/\/cli-assets.heroku.com\/install-ubuntu.sh | sh).<br><br>Depois logar-se no sistema do Heroku e neste momento ele usar\u00e1 a \u201cAPI Key\u201d (que colocamos como vari\u00e1vel de ambiente) como chave de acesso ao Heroku. <br><br>Em seguida, a imagem docker gerada ser\u00e1 enviada e o deploy ser\u00e1 feito.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Dockerfile<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nessa etapa ser\u00e1 criado o arquivo que ser\u00e1 utilizado para criar a imagem docker. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O \u201cDockerfile\u201d dever\u00e1 ser criado na ra\u00edz do projeto, n\u00e3o deve ter extens\u00e3o, <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"909\" height=\"483\" src=\"https:\/\/geekblogti.wpengine.com\/wp-content\/uploads\/2020\/01\/imagem-docker.png\" alt=\"criar imagem docker \" class=\"wp-image-9061\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/imagem-docker.png 909w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/imagem-docker-150x80.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/imagem-docker-100x53.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/imagem-docker-600x319.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/imagem-docker-450x239.png 450w\" sizes=\"(max-width: 909px) 100vw, 909px\" \/><figcaption>Ou seja, nada de \u201cDockerfile.txt\u201d, ou \u201cDockerfile.yml\u201d, ou \u201cDockerfile.doc\u201d, ou \u201cDockerfile.sh\u201d<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Repare que a pasta \u201ctarget\/dependency\u201d \u00e9 utilizada no Dockerfile, por conta dessa pasta que no \u201cbitbucket-pipeline.yml\u201d \u00e9 gerado o artefato \u201ctarget\/**\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tamb\u00e9m tem a vari\u00e1vel de ambiente \u201cSPRING_PROFILE\u201d, essa vari\u00e1vel que foi inserida como vari\u00e1vel de ambiente no Heroku.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Observe que na linha de comando usada para inicializar a aplica\u00e7\u00e3o no docker \u00e9 utilizado o \u201cCMD\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esse \u00e9 utilizado por conta do Heroku conseguir passar a vari\u00e1vel de ambiente, pois se fosse com \u201cENTRYPOINT\u201d n\u00e3o funcionaria.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Application.properties<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No arquivo \u201capplication.properties\u201d ser\u00e1 adicionado a linha \u201cserver.port=${PORT}\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No caso de ainda est\u00e1 em desenvolvimento, usando o \u201cprofile dev\u201d, essa linha ser\u00e1 ignorada e a porta ser\u00e1 designada pelo que foi descrito no \u201capplication.yml\u201d do respectivo \u201cprofile\u201d.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"901\" height=\"468\" src=\"https:\/\/geekblogti.wpengine.com\/wp-content\/uploads\/2020\/01\/Application.properties.png\" alt=\"\" class=\"wp-image-9063\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/Application.properties.png 901w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/Application.properties-150x78.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/Application.properties-100x52.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/Application.properties-600x312.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/Application.properties-450x234.png 450w\" sizes=\"(max-width: 901px) 100vw, 901px\" \/><figcaption>Essa linha permite que na inicializa\u00e7\u00e3o o Heroku consiga disponibilizar uma porta para a aplica\u00e7\u00e3o<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Ap\u00f3s executar esses passos, a aplica\u00e7\u00e3o ser\u00e1 inicializada no Heroku e no log poder\u00e1 verificar que a aplica\u00e7\u00e3o inicializou com o \u201cprofile heroku\u201d.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"821\" height=\"500\" src=\"https:\/\/geekblogti.wpengine.com\/wp-content\/uploads\/2020\/01\/sping-boot.png\" alt=\"\" class=\"wp-image-9064\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/sping-boot.png 821w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/sping-boot-150x91.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/sping-boot-100x61.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/sping-boot-600x365.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/sping-boot-450x274.png 450w\" sizes=\"(max-width: 821px) 100vw, 821px\" \/><figcaption>Simples, n\u00e9?<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Deploy feito!<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pode-se dizer que o fluxo do processo \u00e9 simples, basicamente ter\u00e1 uma entrada que \u00e9 o \u201ccommit\u201d, um processamento que ocorrer\u00e1 dentro do Bitbucket e uma sa\u00edda que ser\u00e1 o deploy da imagem docker no Heroku.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"934\" height=\"363\" src=\"https:\/\/geekblogti.wpengine.com\/wp-content\/uploads\/2020\/01\/processo.png\" alt=\"\" class=\"wp-image-9065\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/processo.png 934w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/processo-150x58.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/processo-100x39.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/processo-600x233.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/processo-450x175.png 450w\" sizes=\"(max-width: 934px) 100vw, 934px\" \/><figcaption>A vis\u00e3o macro<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">O reposit\u00f3rio do projeto no Bitbucket. <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>git clone<br>MaironCosta@bitbucket.org\/maironpublic\/test-bitbucket-pipeline-heroku.git<\/li><li> git clone<br>git@bitbucket.org:maironpublic\/test-bitbucket-pipeline-heroku.git<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Obrigado por ter acompanhado at\u00e9 o final e eu espero que, de fato, tenha ajudado!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hey, pessoal, como vai!? Atualmente (2019-2020), o mercado de TI tem evolu\u00eddo. Novas tend\u00eancias t\u00eam surgido e ganhado espa\u00e7o e umas das tend\u00eancias \u00e9 o CI, que \u00e9 o \u201cContinuous Integration\u201d (em livre tradu\u00e7\u00e3o \u201cIntegra\u00e7\u00e3o Cont\u00ednua\u201d). Juntamente com o CD, que \u00e9 o \u201cContinuous Delivery\u201d (em livre tradu\u00e7\u00e3o \u201cEntrega Cont\u00ednua\u201d ou em alguns casos pode [&hellip;]<\/p>\n","protected":false},"author":167,"featured_media":9069,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[18],"tags":[],"class_list":["post-9045","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvimiento-de-software"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.3 (Yoast SEO v28.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Fazendo deploy de imagem no Heroku usando Spring Boot<\/title>\n<meta name=\"description\" content=\"Nesse artigo voc\u00ea tem o passo a passo para fazer um deploy de imagem docker no Heroku e o melhor: utilizando Spring Boot! Vem dar uma olhada!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.geekhunter.com\/pt\/blog\/deploy-imagem-docker-heroku-utilizando-springboot\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Como fazer deploy de imagem docker no Heroku utilizando Spring Boot\" \/>\n<meta property=\"og:description\" content=\"Hey, pessoal, como vai!? Atualmente (2019-2020), o mercado de TI tem evolu\u00eddo. Novas tend\u00eancias t\u00eam surgido e ganhado espa\u00e7o e umas das tend\u00eancias \u00e9 o CI,\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.geekhunter.com\/pt\/blog\/deploy-imagem-docker-heroku-utilizando-springboot\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Geekhunter\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/geekhunterbr\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-19T00:15:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-24T21:23:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/deploy-imagem-docker-heroku-utilizando-springboot.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"750\" \/>\n\t<meta property=\"og:image:height\" content=\"410\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Geekhunter\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@geekhunterbr\" \/>\n<meta name=\"twitter:site\" content=\"@geekhunterbr\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Geekhunter\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/deploy-imagem-docker-heroku-utilizando-springboot\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/deploy-imagem-docker-heroku-utilizando-springboot\\\/\"},\"author\":{\"name\":\"Geekhunter\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/person\\\/9f62b173345139f7bbdaf55312c3d400\"},\"headline\":\"Como fazer deploy de imagem docker no Heroku utilizando Spring Boot\",\"datePublished\":\"2020-01-19T00:15:59+00:00\",\"dateModified\":\"2024-09-24T21:23:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/deploy-imagem-docker-heroku-utilizando-springboot\\\/\"},\"wordCount\":1288,\"publisher\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/deploy-imagem-docker-heroku-utilizando-springboot\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/deploy-imagem-docker-heroku-utilizando-springboot.jpg\",\"articleSection\":[\"Desenvolvimiento de software\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/deploy-imagem-docker-heroku-utilizando-springboot\\\/\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/deploy-imagem-docker-heroku-utilizando-springboot\\\/\",\"name\":\"Fazendo deploy de imagem no Heroku usando Spring Boot\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/deploy-imagem-docker-heroku-utilizando-springboot\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/deploy-imagem-docker-heroku-utilizando-springboot\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/deploy-imagem-docker-heroku-utilizando-springboot.jpg\",\"datePublished\":\"2020-01-19T00:15:59+00:00\",\"dateModified\":\"2024-09-24T21:23:11+00:00\",\"description\":\"Nesse artigo voc\u00ea tem o passo a passo para fazer um deploy de imagem docker no Heroku e o melhor: utilizando Spring Boot! Vem dar uma olhada!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/deploy-imagem-docker-heroku-utilizando-springboot\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/deploy-imagem-docker-heroku-utilizando-springboot\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/deploy-imagem-docker-heroku-utilizando-springboot\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/deploy-imagem-docker-heroku-utilizando-springboot.jpg\",\"contentUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/deploy-imagem-docker-heroku-utilizando-springboot.jpg\",\"width\":750,\"height\":410,\"caption\":\"Como fazer deploy de imagem docker no Heroku utilizando Spring Boot\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/deploy-imagem-docker-heroku-utilizando-springboot\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mundo TI\",\"item\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/category\\\/mundo-ti\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Desenvolvimiento de software\",\"item\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/category\\\/mundo-ti\\\/desenvolvimiento-de-software\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Como fazer deploy de imagem docker no Heroku utilizando Spring Boot\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/\",\"name\":\"Blog de TI\",\"description\":\"Dicas para o RH e profissionais da \u00e1rea TI\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#organization\",\"name\":\"GeekHunter\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/icon-1.png\",\"contentUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/icon-1.png\",\"width\":300,\"height\":300,\"caption\":\"GeekHunter\"},\"image\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/geekhunterbr\\\/\",\"https:\\\/\\\/x.com\\\/geekhunterbr\",\"https:\\\/\\\/www.instagram.com\\\/geekhunterbr\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/geekhunter-brasil\\\/\",\"https:\\\/\\\/www.youtube.com\\\/@GeekHunterOfficial\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/person\\\/9f62b173345139f7bbdaf55312c3d400\",\"name\":\"Geekhunter\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g\",\"caption\":\"Geekhunter\"},\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/author\\\/matias\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Fazendo deploy de imagem no Heroku usando Spring Boot","description":"Nesse artigo voc\u00ea tem o passo a passo para fazer um deploy de imagem docker no Heroku e o melhor: utilizando Spring Boot! Vem dar uma olhada!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.geekhunter.com\/pt\/blog\/deploy-imagem-docker-heroku-utilizando-springboot\/","og_locale":"pt_BR","og_type":"article","og_title":"Como fazer deploy de imagem docker no Heroku utilizando Spring Boot","og_description":"Hey, pessoal, como vai!? Atualmente (2019-2020), o mercado de TI tem evolu\u00eddo. Novas tend\u00eancias t\u00eam surgido e ganhado espa\u00e7o e umas das tend\u00eancias \u00e9 o CI,","og_url":"https:\/\/www.geekhunter.com\/pt\/blog\/deploy-imagem-docker-heroku-utilizando-springboot\/","og_site_name":"Blog Geekhunter","article_publisher":"https:\/\/www.facebook.com\/geekhunterbr\/","article_published_time":"2020-01-19T00:15:59+00:00","article_modified_time":"2024-09-24T21:23:11+00:00","og_image":[{"width":750,"height":410,"url":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/deploy-imagem-docker-heroku-utilizando-springboot.jpg","type":"image\/jpeg"}],"author":"Geekhunter","twitter_card":"summary_large_image","twitter_creator":"@geekhunterbr","twitter_site":"@geekhunterbr","twitter_misc":{"Escrito por":"Geekhunter","Est. tempo de leitura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/deploy-imagem-docker-heroku-utilizando-springboot\/#article","isPartOf":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/deploy-imagem-docker-heroku-utilizando-springboot\/"},"author":{"name":"Geekhunter","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/person\/9f62b173345139f7bbdaf55312c3d400"},"headline":"Como fazer deploy de imagem docker no Heroku utilizando Spring Boot","datePublished":"2020-01-19T00:15:59+00:00","dateModified":"2024-09-24T21:23:11+00:00","mainEntityOfPage":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/deploy-imagem-docker-heroku-utilizando-springboot\/"},"wordCount":1288,"publisher":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#organization"},"image":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/deploy-imagem-docker-heroku-utilizando-springboot\/#primaryimage"},"thumbnailUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/deploy-imagem-docker-heroku-utilizando-springboot.jpg","articleSection":["Desenvolvimiento de software"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/deploy-imagem-docker-heroku-utilizando-springboot\/","url":"https:\/\/www.geekhunter.com\/pt\/blog\/deploy-imagem-docker-heroku-utilizando-springboot\/","name":"Fazendo deploy de imagem no Heroku usando Spring Boot","isPartOf":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/deploy-imagem-docker-heroku-utilizando-springboot\/#primaryimage"},"image":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/deploy-imagem-docker-heroku-utilizando-springboot\/#primaryimage"},"thumbnailUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/deploy-imagem-docker-heroku-utilizando-springboot.jpg","datePublished":"2020-01-19T00:15:59+00:00","dateModified":"2024-09-24T21:23:11+00:00","description":"Nesse artigo voc\u00ea tem o passo a passo para fazer um deploy de imagem docker no Heroku e o melhor: utilizando Spring Boot! Vem dar uma olhada!","breadcrumb":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/deploy-imagem-docker-heroku-utilizando-springboot\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.geekhunter.com/pt/blog\/deploy-imagem-docker-heroku-utilizando-springboot\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/deploy-imagem-docker-heroku-utilizando-springboot\/#primaryimage","url":"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2020\/01\/deploy-imagem-docker-heroku-utilizando-springboot.jpg","contentUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2020\/01\/deploy-imagem-docker-heroku-utilizando-springboot.jpg","width":750,"height":410,"caption":"Como fazer deploy de imagem docker no Heroku utilizando Spring Boot"},{"@type":"BreadcrumbList","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/deploy-imagem-docker-heroku-utilizando-springboot\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.geekhunter.com/pt/blog\/"},{"@type":"ListItem","position":2,"name":"Mundo TI","item":"https:\/\/www.geekhunter.com/pt/blog\/category\/mundo-ti\/"},{"@type":"ListItem","position":3,"name":"Desenvolvimiento de software","item":"https:\/\/www.geekhunter.com/pt/blog\/category\/mundo-ti\/desenvolvimiento-de-software\/"},{"@type":"ListItem","position":4,"name":"Como fazer deploy de imagem docker no Heroku utilizando Spring Boot"}]},{"@type":"WebSite","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#website","url":"https:\/\/www.geekhunter.com\/pt\/blog\/","name":"Blog de TI","description":"Dicas para o RH e profissionais da \u00e1rea TI","publisher":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.geekhunter.com/pt/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#organization","name":"GeekHunter","url":"https:\/\/www.geekhunter.com\/pt\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2024\/10\/icon-1.png","contentUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2024\/10\/icon-1.png","width":300,"height":300,"caption":"GeekHunter"},"image":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/geekhunterbr\/","https:\/\/x.com\/geekhunterbr","https:\/\/www.instagram.com\/geekhunterbr\/","https:\/\/www.linkedin.com\/company\/geekhunter-brasil\/","https:\/\/www.youtube.com\/@GeekHunterOfficial"]},{"@type":"Person","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/person\/9f62b173345139f7bbdaf55312c3d400","name":"Geekhunter","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g","caption":"Geekhunter"},"url":"https:\/\/www.geekhunter.com\/pt\/blog\/author\/matias\/"}]}},"_links":{"self":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/posts\/9045","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/users\/167"}],"replies":[{"embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/comments?post=9045"}],"version-history":[{"count":0,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/posts\/9045\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/media\/9069"}],"wp:attachment":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/media?parent=9045"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/categories?post=9045"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/tags?post=9045"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}