{"id":3415,"date":"2021-12-22T14:04:00","date_gmt":"2021-12-22T17:04:00","guid":{"rendered":"https:\/\/programathor.com.br\/blog\/?p=3415"},"modified":"2021-12-22T08:50:54","modified_gmt":"2021-12-22T11:50:54","slug":"formas_de_fazer_deploy","status":"publish","type":"post","link":"https:\/\/programathor.com.br\/blog\/formas_de_fazer_deploy\/","title":{"rendered":"Formas de fazer deploy: voc\u00ea sabe quais s\u00e3o?"},"content":{"rendered":"\n<p>O <a href=\"https:\/\/programathor.com.br\/blog\/deploy\/?utm_source=blog&amp;utm_medium=formas_de_fazer_deploy\"><em>deploy<\/em> <\/a>\u00e9 uma das principais etapas do desenvolvimento de sistemas, tanto que para facilitar e otimizar esse processo, existem hoje 3 formas de execut\u00e1-lo. Continue nesse artigo para saber mais sobre cada uma delas!<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3 formas de fazer <em>deploy<\/em><\/strong><\/h2>\n\n\n\n<p>O <em>deploy<\/em> tem sido cada vez mais otimizado gra\u00e7as aos recursos de automatiza\u00e7\u00e3o que t\u00eam sido criados e evolu\u00eddos para realiz\u00e1-lo. Esses recursos permitem que o <em>deploy<\/em> seja r\u00e1pido e ofere\u00e7a o m\u00ednimo risco de erros, tornando o processo mais \u00e1gil e seguro.<\/p>\n\n\n\n<p>Confira agora quais s\u00e3o as 3 formas de fazer <em>deploy<\/em>:<\/p>\n\n\n\n<ol><li><strong>Manual<\/strong><\/li><\/ol>\n\n\n\n<p>O modo mais dificultoso de realizar um <em>deploy<\/em> \u00e9 manualmente, embora esse seja o m\u00e9todo \u201ctradicional\u201d e o utilizado por <a href=\"https:\/\/programathor.com.br\/blog\/recursos-gratuitos-para-programadores\/?utm_source=blog&amp;utm_medium=formas_de_fazer_deploy\">iniciantes em programa\u00e7\u00e3o<\/a> que precisam entender no detalhe, como o <em>deploy<\/em> funciona. Se n\u00e3o for por isso, n\u00e3o compensa executar o <em>deploy<\/em> manual, pois, \u00e9 muito demorado e pass\u00edvel de erros.<\/p>\n\n\n\n<p>H\u00e1 casos tamb\u00e9m em que algo muito pontual e r\u00e1pido tenha sido feito, como algum ajuste, e o programador precisa subir rapidamente para produ\u00e7\u00e3o. Nesse caso normalmente \u00e9 feito o <em>deploy<\/em> manual.<\/p>\n\n\n\n<p>O FTP (Protocolo de Transfer\u00eancia de Arquivo) \u00e9 o jeito mais comum de realizar esse processo, atrav\u00e9s da transfer\u00eancia manual de arquivos entre duas ou mais m\u00e1quinas.<\/p>\n\n\n\n<ol start=\"2\"><li><strong>Parcialmente automatizado<\/strong><\/li><\/ol>\n\n\n\n<p>O m\u00e9todo parcialmente automatizado mais comum de <em>deploy<\/em> \u00e9 usando o GIT (n\u00e3o confunda com <a href=\"https:\/\/programathor.com.br\/blog\/5-dicas-de-github\/?utm_source=blog&amp;utm_medium=formas_de_fazer_deploy\">GITHub<\/a>). GIT \u00e9 um reposit\u00f3rio de arquivos com controle de vers\u00f5es (facilita muito o versionamento de <a href=\"https:\/\/programathor.com.br\/blog\/programador-aprenda-como-escrever-um-codigo-limpo\/?utm_source=blog&amp;utm_medium=formas_de_fazer_deploy\">c\u00f3digo fonte<\/a>), que necessita de alguns comandos humanos para que seja executado. No entanto, o <em>push<\/em> do <em>branch master<\/em>, ocorre atrav\u00e9s de um <em>hook<\/em> que atualiza o servidor automaticamente.\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/programathor.com.br\/jobs\/?utm_source=blog&amp;utm_medium=formas_de_fazer_deploy\"><img decoding=\"async\" width=\"700\" height=\"380\" src=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2020\/12\/vaga-desenvolvedor-1-2.jpg\" alt=\"Vagas ProgramaThor - Formas de fazer deploy\" class=\"wp-image-2279\" srcset=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2020\/12\/vaga-desenvolvedor-1-2.jpg 700w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2020\/12\/vaga-desenvolvedor-1-2-300x163.jpg 300w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2020\/12\/vaga-desenvolvedor-1-2-676x367.jpg 676w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><\/figure>\n\n\n\n<ol start=\"3\"><li><strong>Completamente automatizado<\/strong><\/li><\/ol>\n\n\n\n<p>O <em>deploy<\/em> totalmente automatizado \u00e9 uma evolu\u00e7\u00e3o importante do desenvolvimento de sistemas. Pois com essa automatiza\u00e7\u00e3o \u00e9 poss\u00edvel garantir maior seguran\u00e7a, qualidade, integridade e, tamb\u00e9m, efici\u00eancia, ao subir sistemas para produ\u00e7\u00e3o.<\/p>\n\n\n\n<p>Al\u00e9m desses benef\u00edcios, o <em>deploy<\/em> autom\u00e1tico oferece tamb\u00e9m a integra\u00e7\u00e3o cont\u00ednua, que se trata da uni\u00e3o de diversas vers\u00f5es de um mesmo c\u00f3digo-fonte em um reposit\u00f3rio central, de modo autom\u00e1tico; com a finalidade de realizar testes antes de subir o sistema para produ\u00e7\u00e3o, de fato. Essa a\u00e7\u00e3o facilita e agiliza a descoberta e a corre\u00e7\u00e3o de<em> bugs<\/em>.<\/p>\n\n\n\n<p>Essa integra\u00e7\u00e3o cont\u00ednua (tamb\u00e9m conhecida como CI) \u00e9 uma grande vantagem para sistemas nos quais h\u00e1 diversos programadores atuando, j\u00e1 que facilita a jun\u00e7\u00e3o dos c\u00f3digos para testes integrados.<\/p>\n\n\n\n<p>Quanto \u00e0s ferramentas existentes para realiza\u00e7\u00e3o de <em>deploy<\/em> autom\u00e1tico, existem v\u00e1rias, como por exemplo: Circle CI, Jenkins, GitLab e Azure Pipelines.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Estrat\u00e9gias de execu\u00e7\u00e3o do <em>deploy<\/em><\/strong><\/h2>\n\n\n\n<p>Al\u00e9m das 3 formas de fazer <em>deploy<\/em> que citamos aqui, h\u00e1 tamb\u00e9m 3 estrat\u00e9gias para executar esse processo. Confira quais s\u00e3o:<\/p>\n\n\n\n<ul><li><strong><em>Rolling<\/em><\/strong><strong>:<\/strong> esta estrat\u00e9gia consiste na mescla de duas vers\u00f5es de c\u00f3digo fonte, sendo uma vers\u00e3o antiga e uma nova que substituir\u00e1 a antiga. No entanto, essa substitui\u00e7\u00e3o ocorre de modo gradual, conforme a nova vers\u00e3o fica pronta, indisponibilizando a vers\u00e3o antiga somente quando a nova estiver totalmente preparada.<\/li><\/ul>\n\n\n\n<ul><li><strong><em>Blue-Green<\/em>:<\/strong> nesse caso, testes s\u00e3o feitos em um ambiente de testes no qual \u00e9 espelhado o ambiente de produ\u00e7\u00e3o, sendo o <em>blue<\/em> uma vis\u00e3o antiga do ambiente e o <em>green<\/em> a vis\u00e3o espelhada de produ\u00e7\u00e3o. Essa estrat\u00e9gia \u00e9 muito importante para sistemas cr\u00edticos, que requerem testes no cen\u00e1rio \u201creal\u201d.<br><\/li><li><strong><em>Canary<\/em>:<\/strong> j\u00e1 nessa estrat\u00e9gia, os pr\u00f3prios usu\u00e1rios do sistema executam os testes finais, sendo liberado para testes somente para uma parte dos usu\u00e1rios. Outra caracter\u00edstica dessa estrat\u00e9gia \u00e9 que nela a nova vers\u00e3o do sistema coexiste com a antiga, estando ambas dispon\u00edveis no ambiente de produ\u00e7\u00e3o.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Qual forma de fazer <em>deploy<\/em> voc\u00ea mais utiliza?<\/strong><\/h2>\n\n\n\n<p>Se voc\u00ea \u00e9 programador, conte para n\u00f3s qual a forma de fazer <em>deploy <\/em>que voc\u00ea costuma usar e porque voc\u00ea prefere essa. E se voc\u00ea estiver procurando uma oportunidade de trabalho, n\u00e3o deixe de <a href=\"http:\/\/programathor.com.br\/jobs\/?utm_source=blog&amp;utm_medium=formas_de_fazer_deploy\">conferir as vagas<\/a> dispon\u00edveis em nossa plataforma! Caso tenha coment\u00e1rios a fazer sobre <em>deploy<\/em> e formas de realiz\u00e1-lo, n\u00e3o deixe de escrever aqui!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/programathor.com.br\/?utm_source=blog&amp;utm_medium=formas_de_fazer_deploy\"><img decoding=\"async\" width=\"1024\" height=\"171\" src=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2020\/12\/LOGO-PROGRAMATHOR-1024x171-1.jpg\" alt=\"ProgramaThor - Formas de fazer deploy\" class=\"wp-image-2280\" srcset=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2020\/12\/LOGO-PROGRAMATHOR-1024x171-1.jpg 1024w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2020\/12\/LOGO-PROGRAMATHOR-1024x171-1-300x50.jpg 300w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2020\/12\/LOGO-PROGRAMATHOR-1024x171-1-768x128.jpg 768w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2020\/12\/LOGO-PROGRAMATHOR-1024x171-1-676x113.jpg 676w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Consiga um emprego!<\/h2>\n\n\n\n<p>Est\u00e1 procurando por uma oportunidade de trabalho como desenvolvedor? Voc\u00ea pode encontrar seu pr\u00f3ximo emprego aqui na ProgramaThor, uma plataforma focada em vagas para desenvolvedores. Basta\u00a0<a href=\"https:\/\/programathor.com.br\/users\/sign_up\/?utm_source=blog&amp;utm_medium=post&amp;utm_campaign=texto.final\">se cadastrar\u00a0<\/a>e completar seu perfil para come\u00e7ar a se candidatar \u00e0s vagas que mais combinam com voc\u00ea! Veja nossas\u00a0<a href=\"http:\/\/www.programathor.com.br\/jobs\/?utm_source=blog&amp;utm_medium=post&amp;utm_campaign=texto.final\">vagas.<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O deploy \u00e9 uma das principais etapas do desenvolvimento de sistemas, tanto que para facilitar e otimizar esse processo, existem hoje 3 formas de execut\u00e1-lo. Continue nesse artigo para saber mais sobre cada uma delas!<\/p>\n","protected":false},"author":15,"featured_media":3416,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[41,58],"tags":[185,13,196,65],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Formas de fazer deploy: voc\u00ea sabe quais s\u00e3o?<\/title>\n<meta name=\"description\" content=\"Voc\u00ea sabe quais s\u00e3o as formas de fazer deploy? Nesse artigo, a ProgramaThor explicou sobre cada uma delas! Vem conferir e tirar suas d\u00favidas!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/programathor.com.br\/blog\/formas_de_fazer_deploy\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Formas de fazer deploy: voc\u00ea sabe quais s\u00e3o?\" \/>\n<meta property=\"og:description\" content=\"Voc\u00ea sabe quais s\u00e3o as formas de fazer deploy? Nesse artigo, a ProgramaThor explicou sobre cada uma delas! Vem conferir e tirar suas d\u00favidas!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/programathor.com.br\/blog\/formas_de_fazer_deploy\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog ProgramaThor\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ProgramaThorBr\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-22T17:04:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-12-22T11:50:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2021\/12\/Capa-Artigo-Template-11-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"676\" \/>\n\t<meta property=\"og:image:height\" content=\"366\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Priscila Esperandio Ferrari\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ProgramaThor\" \/>\n<meta name=\"twitter:site\" content=\"@ProgramaThor\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Priscila Esperandio Ferrari\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Formas de fazer deploy: voc\u00ea sabe quais s\u00e3o?","description":"Voc\u00ea sabe quais s\u00e3o as formas de fazer deploy? Nesse artigo, a ProgramaThor explicou sobre cada uma delas! Vem conferir e tirar suas d\u00favidas!","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:\/\/programathor.com.br\/blog\/formas_de_fazer_deploy\/","og_locale":"pt_PT","og_type":"article","og_title":"Formas de fazer deploy: voc\u00ea sabe quais s\u00e3o?","og_description":"Voc\u00ea sabe quais s\u00e3o as formas de fazer deploy? Nesse artigo, a ProgramaThor explicou sobre cada uma delas! Vem conferir e tirar suas d\u00favidas!","og_url":"https:\/\/programathor.com.br\/blog\/formas_de_fazer_deploy\/","og_site_name":"Blog ProgramaThor","article_publisher":"https:\/\/www.facebook.com\/ProgramaThorBr\/","article_published_time":"2021-12-22T17:04:00+00:00","article_modified_time":"2021-12-22T11:50:54+00:00","og_image":[{"width":676,"height":366,"url":"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2021\/12\/Capa-Artigo-Template-11-2.png","type":"image\/png"}],"author":"Priscila Esperandio Ferrari","twitter_card":"summary_large_image","twitter_creator":"@ProgramaThor","twitter_site":"@ProgramaThor","twitter_misc":{"Escrito por":"Priscila Esperandio Ferrari","Tempo estimado de leitura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/programathor.com.br\/blog\/formas_de_fazer_deploy\/","url":"https:\/\/programathor.com.br\/blog\/formas_de_fazer_deploy\/","name":"Formas de fazer deploy: voc\u00ea sabe quais s\u00e3o?","isPartOf":{"@id":"https:\/\/programathor.com.br\/blog\/#website"},"datePublished":"2021-12-22T17:04:00+00:00","dateModified":"2021-12-22T11:50:54+00:00","author":{"@id":"https:\/\/programathor.com.br\/blog\/#\/schema\/person\/3237651d54471592184af43c29cd01de"},"description":"Voc\u00ea sabe quais s\u00e3o as formas de fazer deploy? Nesse artigo, a ProgramaThor explicou sobre cada uma delas! Vem conferir e tirar suas d\u00favidas!","breadcrumb":{"@id":"https:\/\/programathor.com.br\/blog\/formas_de_fazer_deploy\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/programathor.com.br\/blog\/formas_de_fazer_deploy\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/programathor.com.br\/blog\/formas_de_fazer_deploy\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/programathor.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Dicas","item":"https:\/\/programathor.com.br\/blog\/category\/dicas\/"},{"@type":"ListItem","position":3,"name":"Formas de fazer deploy: voc\u00ea sabe quais s\u00e3o?"}]},{"@type":"WebSite","@id":"https:\/\/programathor.com.br\/blog\/#website","url":"https:\/\/programathor.com.br\/blog\/","name":"Blog ProgramaThor","description":"A plataforma de recrutamento  para programadores pensada por programadores. Entenda melhor o mundo da programa\u00e7\u00e3o, a cria\u00e7\u00e3o de uma vaga eficiente, dicas de entrevista, as linguagens do momento, o mercado de desenvolvimento e muito mais!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/programathor.com.br\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-PT"},{"@type":"Person","@id":"https:\/\/programathor.com.br\/blog\/#\/schema\/person\/3237651d54471592184af43c29cd01de","name":"Priscila Esperandio Ferrari","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/programathor.com.br\/blog\/#\/schema\/person\/image\/","url":"https:\/\/programathor.com.br\/blog\/wp-content\/litespeed\/avatar\/9e41beffa38a8bf1b4277036434e2736.jpg?ver=1780496900","contentUrl":"https:\/\/programathor.com.br\/blog\/wp-content\/litespeed\/avatar\/9e41beffa38a8bf1b4277036434e2736.jpg?ver=1780496900","caption":"Priscila Esperandio Ferrari"},"url":"https:\/\/programathor.com.br\/blog\/author\/priscila-esperandio-ferrari\/"}]}},"_links":{"self":[{"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/posts\/3415"}],"collection":[{"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/comments?post=3415"}],"version-history":[{"count":1,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/posts\/3415\/revisions"}],"predecessor-version":[{"id":3417,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/posts\/3415\/revisions\/3417"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/media\/3416"}],"wp:attachment":[{"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/media?parent=3415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/categories?post=3415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/tags?post=3415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}