{"id":97895,"date":"2020-10-23T02:42:12","date_gmt":"2020-10-23T00:42:12","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kak-ispolzovat-hashicorp-waypoint-dlya-sovmestnoj-raboty-s-gitlab-ci-cd"},"modified":"2020-10-23T02:42:12","modified_gmt":"2020-10-23T00:42:12","slug":"kak-ispolzovat-hashicorp-waypoint-dlya-sovmestnoj-raboty-s-gitlab-ci-cd","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kak-ispolzovat-hashicorp-waypoint-dlya-sovmestnoj-raboty-s-gitlab-ci-cd","title":{"rendered":"Como usar o HashiCorp Waypoint para colabora\u00e7\u00e3o com GitLab CI\/CD","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Como usar o HashiCorp Waypoint para colabora\u00e7\u00e3o com GitLab CI\/CD\" src=\"\/wp-content\/uploads\/2020\/10\/eb34af0fa0526faea00bbd79e281d0ad.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A HashiCorp apresentou um novo projeto <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/\">Waypoint<\/a><\/noindex> para <noindex><a rel=\"nofollow\" href=\"https:\/\/digital.hashiconf.com\/login\">HashiCorp Digital<\/a><\/noindex>. Ele utiliza um arquivo baseado em HCL para descrever a constru\u00e7\u00e3o, entrega e lan\u00e7amento de aplica\u00e7\u00f5es em v\u00e1rias plataformas de nuvem, desde Kubernetes at\u00e9 AWS e Google Cloud Run. Pode-se imaginar que o Waypoint \u00e9 a combina\u00e7\u00e3o do Terraform e do Vagrant para descrever o processo de constru\u00e7\u00e3o, entrega e lan\u00e7amento de suas aplica\u00e7\u00f5es.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Mantendo sua ess\u00eancia, a HashiCorp lan\u00e7ou o Waypoint como um projeto de c\u00f3digo aberto, que tamb\u00e9m vem acompanhado de diversos exemplos. O n\u00edvel do orquestrador fica por sua conta, o Waypoint \u00e9 fornecido como um arquivo execut\u00e1vel, que voc\u00ea pode rodar diretamente no seu laptop ou a partir da ferramenta de orquestra\u00e7\u00e3o CI\/CD de sua escolha. O alvo para a implanta\u00e7\u00e3o das aplica\u00e7\u00f5es tamb\u00e9m \u00e9 decidido por voc\u00ea, uma vez que o Waypoint suporta Kubernetes, Docker, Google Cloud Run, AWS ECS e outros.<\/p>\n<p><\/p>\n<p>Ap\u00f3s ler exemplos <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/docs\">documenta\u00e7\u00e3o<\/a><\/noindex> e impressionantes <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/hashicorp\/waypoint-examples\">aplica\u00e7\u00f5es fornecidas pela HashiCorp, decidimos dar uma olhada mais de perto na orquestra\u00e7\u00e3o do Waypoint utilizando GitLab CI\/CD. Para isso, iremos pegar uma simples aplica\u00e7\u00e3o Node.js, rodando na AWS ECS, do reposit\u00f3rio de exemplos.<\/a><\/noindex> Ap\u00f3s clonar o reposit\u00f3rio, vamos observar a estrutura da aplica\u00e7\u00e3o, que exibe uma \u00fanica p\u00e1gina:<\/p>\n<p><\/p>\n<p>Como voc\u00ea pode notar, n\u00e3o h\u00e1 Dockerfile neste projeto. Eles n\u00e3o foram adicionados ao exemplo porque, na verdade, n\u00e3o precisamos deles, pois o Waypoint cuida disso por n\u00f3s. Vamos examinar mais de perto o arquivo<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Como usar o HashiCorp Waypoint para colabora\u00e7\u00e3o com GitLab CI\/CD\" src=\"\/wp-content\/uploads\/2020\/10\/231bd4112523a05be12f8b15bec2652d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>waypoint.hcl <code>, para entender o que ele far\u00e1:<\/code>project = \"example-nodejs\"\n\napp \"example-nodejs\" {\n  labels = {\n    \"service\" = \"example-nodejs\",\n    \"env\" = \"dev\"\n  }\n\n  build {\n    use \"pack\" {}\n    registry {\n    use \"aws-ecr\" {\n        region = \"us-east-1\"\n        repository = \"waypoint-gitlab\"\n        tag = \"latest\"\n    }\n    }\n  }\n\n  deploy {\n    use \"aws-ecs\" {\n    region = \"us-east-1\"\n    memory = \"512\"\n    }\n  }\n}<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">project = \"example-nodejs\"\n\napp \"example-nodejs\" {\n  labels = {\n    \"service\" = \"example-nodejs\",\n    \"env\" = \"dev\"\n  }\n\n  build {\n    use \"pack\" {}\n    registry {\n    use \"aws-ecr\" {\n        region = \"us-east-1\"\n        repository = \"waypoint-gitlab\"\n        tag = \"latest\"\n    }\n    }\n  }\n\n  deploy {\n    use \"aws-ecs\" {\n    region = \"us-east-1\"\n    memory = \"512\"\n    }\n  }\n}<\/code><\/pre>\n<p><\/p>\n<p>CNB<noindex><a rel=\"nofollow\" href=\"https:\/\/buildpacks.io\/\">), para determinar a linguagem de programa\u00e7\u00e3o do projeto e criar uma imagem para Docker sem usar Dockerfile. Essencialmente, esta \u00e9 a mesma tecnologia utilizada pelo GitLab na parte<\/a><\/noindex>Auto DevOps <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.gitlab.com\/ee\/topics\/autodevops\/\">na etapa Auto Build. \u00c9 bom ver que o CNB da CNCF est\u00e1 obtendo cada vez mais aceita\u00e7\u00e3o dos usu\u00e1rios na ind\u00fastria.<\/a><\/noindex> Assim que a imagem \u00e9 constru\u00edda, o Waypoint automaticamente a enviar\u00e1 para nosso registro AWS ECR, para que esteja pronta para a entrega. Ap\u00f3s a constru\u00e7\u00e3o, a etapa de entrega utiliza<\/p>\n<p><\/p>\n<p>o complemento AWS ECS <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/plugins\/aws-ecs\">para implantar nossa aplica\u00e7\u00e3o na nossa conta AWS.<\/a><\/noindex> para implantar nosso aplicativo em nossa conta AWS.<\/p>\n<p><\/p>\n<p>Do meu notebook, tudo \u00e9 simples. Eu instalo o Waypoint, que j\u00e1 est\u00e1 autenticado na minha conta AWS, e ele \"simplesmente funciona\". Mas o que acontecer\u00e1 se eu quiser ir al\u00e9m do meu notebook? Ou se de repente eu quiser automatizar essa implanta\u00e7\u00e3o como parte do meu pipeline CI\/CD, onde rodam meus testes de integra\u00e7\u00e3o atuais, testes de seguran\u00e7a e outros? \u00c9 aqui que entra o GitLab CI\/CD!<\/p>\n<p><\/p>\n<blockquote><p><strong>N.B.<\/strong> Se voc\u00ea est\u00e1 apenas planejando implementar CI\/CD ou deseja come\u00e7ar a aplicar as melhores pr\u00e1ticas na constru\u00e7\u00e3o de pipelines, confira o novo curso do Slyer. <noindex><a rel=\"nofollow\" href=\"https:\/\/slurm.io\/ci-cd?utm_source=habr&amp;utm_medium=promo&amp;utm_campaign=cicd-videocourse&amp;utm_content=post_22-20-2020&amp;utm_term=demkovich\">\"CI\/CD com exemplo do GitLab CI\"<\/a><\/noindex>. Agora ele est\u00e1 dispon\u00edvel por um pre\u00e7o promocional. <\/p><\/blockquote>\n<p><\/p>\n<h2 id=\"waypoint-v-gitlab-cicd\">Waypoint no GitLab CI\/CD<\/h2>\n<p><\/p>\n<p>Para orquestrar tudo isso no GitLab CI\/CD, vamos ver o que precisaremos em nosso arquivo. <code>.gitlab-ci.yml<\/code>:<\/p>\n<p><\/p>\n<ul>\n<li>Primeiro, precisamos de uma imagem base para executar dentro dela. O Waypoint funciona em qualquer distribui\u00e7\u00e3o Linux, s\u00f3 precisa do Docker, ent\u00e3o podemos come\u00e7ar com uma imagem Docker gen\u00e9rica.<\/li>\n<li>Em seguida, precisamos instalar o Waypoint nessa imagem. No futuro, podemos construir <noindex><a rel=\"nofollow\" href=\"https:\/\/about.gitlab.com\/blog\/2019\/08\/28\/building-build-images\/\">uma imagem meta build<\/a><\/noindex> e containerizar esse processo para n\u00f3s.<\/li>\n<li>Finalmente, vamos executar os comandos do Waypoint.<\/li>\n<\/ul>\n<p><\/p>\n<p>Acima est\u00e1 tudo o que precisaremos em nosso pipeline para executar os scripts necess\u00e1rios para a implanta\u00e7\u00e3o, mas para a implanta\u00e7\u00e3o na AWS, precisaremos de mais uma coisa: devemos autenticar nossa conta AWS. Na descri\u00e7\u00e3o do Waypoint <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/docs\/roadmap\">existem planos<\/a><\/noindex> para autentica\u00e7\u00e3o e autoriza\u00e7\u00e3o. A HashiCorp tamb\u00e9m lan\u00e7ou esta semana um projeto impressionante <noindex><a rel=\"nofollow\" href=\"https:\/\/www.boundaryproject.io\/\">Boundary<\/a><\/noindex>. Mas, por agora, podemos simplesmente cuidar da autentica\u00e7\u00e3o e autoriza\u00e7\u00e3o por conta pr\u00f3pria.<\/p>\n<p><\/p>\n<p>Para autenticar o GitLab CI\/CD na AWS, existem algumas op\u00e7\u00f5es. A primeira op\u00e7\u00e3o \u00e9 usar o <noindex><a rel=\"nofollow\" href=\"https:\/\/www.vaultproject.io\/\">HashiCorp Vault<\/a><\/noindex>. Ele \u00e9 adequado se sua equipe j\u00e1 usa o Vault para gerenciar credenciais. Outra maneira, que \u00e9 apropriada se sua equipe gerencia a autoriza\u00e7\u00e3o usando o AWS IAM, \u00e9 garantir que as tarefas de entrega sejam executadas atrav\u00e9s do <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.gitlab.com\/runner\/\">GitLab Runner<\/a><\/noindex>, autorizado a executar a implanta\u00e7\u00e3o atrav\u00e9s do IAM. Mas se voc\u00ea apenas deseja se familiarizar com o Waypoint e quer fazer isso rapidamente, h\u00e1 uma \u00faltima op\u00e7\u00e3o \u2014 adicionar suas chaves AWS API e Secret nas <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.gitlab.com\/ee\/ci\/variables\/\">vari\u00e1veis de ambiente do GitLab CI\/CD<\/a><\/noindex> <code>AWS_ACCESS_KEY_ID<\/code> e <code>AWS_SECRET_ACCESS_KEY<\/code>.<\/p>\n<p><\/p>\n<h2 id=\"sobiraem-vse-vmeste\">Reunindo tudo<\/h2>\n<p><\/p>\n<p>Assim que resolvermos a autentica\u00e7\u00e3o, podemos come\u00e7ar! Nossa vers\u00e3o final <code>.gitlab-ci.yml<\/code> \u00e9 assim:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">waypoint:\n  image: docker:latest\n  stage: build\n  services:\n    - docker:dind\n  # Defina vari\u00e1veis de ambiente, por exemplo, `WAYPOINT_VERSION: '0.1.1'`\n  variables:\n    WAYPOINT_VERSION: ''\n    WAYPOINT_SERVER_ADDR: ''\n    WAYPOINT_SERVER_TOKEN: ''\n    WAYPOINT_SERVER_TLS: '1'\n    WAYPOINT_SERVER_TLS_SKIP_VERIFY: '1'\n  script:\n    - wget -q -O \/tmp\/waypoint.zip https:\/\/releases.hashicorp.com\/waypoint\/${WAYPOINT_VERSION}\/waypoint_${WAYPOINT_VERSION}_linux_amd64.zip\n    - unzip -d \/usr\/local\/bin \/tmp\/waypoint.zip\n    - rm -rf \/tmp\/waypoint*\n    - waypoint init\n    - waypoint build\n    - waypoint deploy\n    - waypoint release<\/code><\/pre>\n<p><\/p>\n<p>Voc\u00ea ver\u00e1 que come\u00e7amos com a imagem <code>docker:latest<\/code> e configuramos algumas vari\u00e1veis de ambiente necess\u00e1rias para o Waypoint. Na se\u00e7\u00e3o <code>script<\/code> baixamos a \u00faltima vers\u00e3o do execut\u00e1vel do Waypoint e o instalamos em <code>\/usr\/local\/bin<\/code>. Como nosso runner j\u00e1 est\u00e1 autenticado na AWS, em seguida, apenas executamos <code>waypoint init<\/code>, <code>build<\/code>, <code>deploy<\/code> e <code>release<\/code>.<\/p>\n<p><\/p>\n<p>A sa\u00edda da tarefa de constru\u00e7\u00e3o nos mostrar\u00e1 o endpoint para onde implantamos o aplicativo:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Como usar o HashiCorp Waypoint para colabora\u00e7\u00e3o com GitLab CI\/CD\" src=\"\/wp-content\/uploads\/2020\/10\/be41d5e61b91bdfc1442f239fe99f013.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Waypoint \u00e9 uma das <noindex><a rel=\"nofollow\" href=\"https:\/\/about.gitlab.com\/solutions\/hashicorp\/\">m\u00faltiplas solu\u00e7\u00f5es da HashiCorp<\/a><\/noindex>, que funciona muito bem com o GitLab. Por exemplo, al\u00e9m de implantar o aplicativo, podemos orquestrar a infraestrutura subjacente usando <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.gitlab.com\/ee\/user\/infrastructure\/\">Terraform no GitLab<\/a><\/noindex>. Para padronizar a seguran\u00e7a do SDLC, tamb\u00e9m podemos integrar <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.gitlab.com\/ee\/ci\/examples\/authenticating-with-hashicorp-vault\/\">GitLab com o Vault<\/a><\/noindex> para gerenciar segredos e tokens em pipelines de CI\/CD, fornecendo uma solu\u00e7\u00e3o completa para desenvolvedores e administradores que dependem da gest\u00e3o de segredos durante o desenvolvimento, teste e uso em produ\u00e7\u00e3o.<\/p>\n<p><\/p>\n<p>Solu\u00e7\u00f5es conjuntas desenvolvidas pela HashiCorp e pelo GitLab ajudam as empresas a encontrar a melhor maneira de desenvolver aplicativos, garantindo um gerenciamento consistente dos fluxos de entrega e infraestrutura. O Waypoint deu mais um passo na dire\u00e7\u00e3o certa, e estamos ansiosos por mais desenvolvimentos no projeto. Voc\u00ea pode saber mais sobre o Waypoint <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/\">aqui<\/a><\/noindex>, tamb\u00e9m vale a pena explorar o <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/docs\">documenta\u00e7\u00e3o<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/docs\/roadmap\">plano de desenvolvimento<\/a><\/noindex> do projeto. Adicionamos o conhecimento adquirido em <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/docs\/automating-execution\/gitlab-cicd\">na documenta\u00e7\u00e3o do GitLab CICD<\/a><\/noindex>. Se voc\u00ea deseja experimentar tudo na pr\u00e1tica, pode pegar um exemplo totalmente funcional em <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/brendan-demo\/waypoint\">este reposit\u00f3rio<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Entender os princ\u00edpios de CI\/CD, dominar todos os detalhes de trabalho com o GitLab CI e come\u00e7ar a aplicar as melhores pr\u00e1ticas pode ser feito atrav\u00e9s do curso em v\u00eddeo <noindex><a rel=\"nofollow\" href=\"https:\/\/slurm.io\/ci-cd?utm_source=habr&amp;utm_medium=promo&amp;utm_campaign=cicd-videocourse&amp;utm_content=post_22-20-2020&amp;utm_term=demkovich\">\"CI\/CD com exemplo do GitLab CI\"<\/a><\/noindex>. Junte-se a n\u00f3s!<\/p>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/524486\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>HashiCorp \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430 \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 Waypoint \u043d\u0430 HashiCorp Digital. \u041e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0444\u0430\u0439\u043b \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 HCL \u0434\u043b\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u0431\u043e\u0440\u043a\u0438, \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0438 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u043e\u0442 Kubernetes \u0438 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u044f AWS \u0438 Google Cloud Run. \u041c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c, \u0447\u0442\u043e Waypoint \u2014 \u044d\u0442\u043e \u0441\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 Terraform \u0438 Vagrant \u0434\u043b\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0441\u0431\u043e\u0440\u043a\u0438, \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0438 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0432\u0430\u0448\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":97896,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-97895","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\".\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kak-ispolzovat-hashicorp-waypoint-dlya-sovmestnoj-raboty-s-gitlab-ci-cd\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c HashiCorp Waypoint \u0434\u043b\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 GitLab CI\/CD | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\".\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kak-ispolzovat-hashicorp-waypoint-dlya-sovmestnoj-raboty-s-gitlab-ci-cd\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-10-23T00:42:12+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-10-23T00:42:12+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Como usar o HashiCorp Waypoint para colabora\u00e7\u00e3o com GitLab CI\/CD | ProHoster","description":".","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kak-ispolzovat-hashicorp-waypoint-dlya-sovmestnoj-raboty-s-gitlab-ci-cd","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c HashiCorp Waypoint \u0434\u043b\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 GitLab CI\/CD | ProHoster","og:description":".","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kak-ispolzovat-hashicorp-waypoint-dlya-sovmestnoj-raboty-s-gitlab-ci-cd","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-10-23T00:42:12+00:00","article:modified_time":"2020-10-23T00:42:12+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"97895","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:11:01","updated":"2022-09-28 20:42:44","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/97895","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=97895"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/97895\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/97896"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=97895"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=97895"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=97895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}