{"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\/pl\/blog\/administrirovanie\/kak-ispolzovat-hashicorp-waypoint-dlya-sovmestnoj-raboty-s-gitlab-ci-cd","title":{"rendered":"Jak u\u017cywa\u0107 HashiCorp Waypoint do wsp\u00f3\u0142pracy z GitLab CI\/CD","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Jak u\u017cywa\u0107 HashiCorp Waypoint do wsp\u00f3\u0142pracy z GitLab CI\/CD\" src=\"\/wp-content\/uploads\/2020\/10\/eb34af0fa0526faea00bbd79e281d0ad.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>HashiCorp zaprezentowa\u0142 nowy projekt <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/\">Waypoint<\/a><\/noindex> na <noindex><a rel=\"nofollow\" href=\"https:\/\/digital.hashiconf.com\/login\">HashiCorp Digital<\/a><\/noindex>. Wykorzystuje plik oparty na HCL do opisywania budowy, dostarczania i wydawania aplikacji na r\u00f3\u017cnych platformach chmurowych, zaczynaj\u0105c od Kubernetes, a ko\u0144cz\u0105c na AWS i Google Cloud Run. Mo\u017cna powiedzie\u0107, \u017ce Waypoint to po\u0142\u0105czenie Terraform i Vagrant do opisywania procesu budowy, dostarczania i wydawania Twoich aplikacji.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Nie zmieniaj\u0105c wytycznych, HashiCorp wyda\u0142 Waypoint jako oprogramowanie open source, w zestawie znajdziesz r\u00f3wnie\u017c wiele przyk\u0142ad\u00f3w. Poziom orkiestratora pozostaje w Twoich r\u0119kach, Waypoint dostarczany jest jako plik wykonywalny, kt\u00f3ry mo\u017cesz uruchomi\u0107 bezpo\u015brednio na swoim laptopie lub w dowolnym wybranym narz\u0119dziu orkiestracji CI\/CD. Cel wdro\u017cenia aplikacji r\u00f3wnie\u017c wybierasz sam, poniewa\u017c Waypoint obs\u0142uguje Kubernetes, Docker, Google Cloud Run, AWS ECS i inne.<\/p>\n<p><\/p>\n<p>Po przeczytaniu wyj\u0105tkowych <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/docs\">dokumentacj\u0119<\/a><\/noindex> i eleganckich <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/hashicorp\/waypoint-examples\">przyk\u0142ady<\/a><\/noindex> aplikacji dostarczonych przez HashiCorp, postanowili\u015bmy przyjrze\u0107 si\u0119 bli\u017cej orkiestracji Waypoint przy u\u017cyciu GitLab CI\/CD. Aby to zrobi\u0107, we\u017amiemy prost\u0105 aplikacj\u0119 Node.js uruchamian\u0105 na AWS ECS z repozytorium przyk\u0142ad\u00f3w.<\/p>\n<p><\/p>\n<p>Po sklonowaniu repozytorium przyjrzymy si\u0119 strukturze aplikacji, kt\u00f3ra wy\u015bwietla jedn\u0105 stron\u0119:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Jak u\u017cywa\u0107 HashiCorp Waypoint do wsp\u00f3\u0142pracy z GitLab CI\/CD\" src=\"\/wp-content\/uploads\/2020\/10\/231bd4112523a05be12f8b15bec2652d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Jak mog\u0142e\u015b zauwa\u017cy\u0107, w tym projekcie brakuje pliku Dockerfile. Nie zosta\u0142y one dodane do przyk\u0142adu, poniewa\u017c w zasadzie nie s\u0105 nam potrzebne, gdy\u017c Waypoint zajmie si\u0119 nimi za nas. Przyjrzyjmy si\u0119 bli\u017cej plikowi <code>waypoint.hcl<\/code>, aby zrozumie\u0107, co b\u0119dzie robi\u0107:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">projekt = \"example-nodejs\"\n\naplikacja \"example-nodejs\" {\n  etykiety = {\n    \"us\u0142uga\" = \"example-nodejs\",\n    \"\u015brodowisko\" = \"dev\"\n  }\n\n  budowa {\n    u\u017cyj \"pack\" {}\n    rejestr {\n    u\u017cyj \"aws-ecr\" {\n        region = \"us-east-1\"\n        repozytorium = \"waypoint-gitlab\"\n        tag = \"latest\"\n    }\n    }\n  }\n\n  wdro\u017cenie {\n    u\u017cyj \"aws-ecs\" {\n    region = \"us-east-1\"\n    pami\u0119\u0107 = \"512\"\n    }\n  }\n}<\/code><\/pre>\n<p><\/p>\n<p>Na etapie budowy Waypoint wykorzystuje Cloud Native Buildpacks (<noindex><a rel=\"nofollow\" href=\"https:\/\/buildpacks.io\/\">CNB<\/a><\/noindex>), aby okre\u015bli\u0107 j\u0119zyk programowania projektu i stworzy\u0107 obraz dla Dockera bez u\u017cycia Dockerfile. Zasadniczo jest to ta sama technologia, kt\u00f3ra jest wykorzystywana przez GitLab w cz\u0119\u015bci <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.gitlab.com\/ee\/topics\/autodevops\/\">Auto DevOps<\/a><\/noindex> na etapie Auto Build. Mi\u0142o widzie\u0107, \u017ce CNB od CNCF zyskuje coraz wi\u0119ksze uznanie w bran\u017cy.<\/p>\n<p><\/p>\n<p>Gdy obraz zostanie zbudowany, Waypoint automatycznie przesy\u0142a go do naszej rejestru AWS ECR, aby by\u0142 gotowy do dostarczenia. Po zako\u0144czeniu budowy, krok dostarczania wykorzystuje <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/plugins\/aws-ecs\">rozszerzenie AWS ECS<\/a><\/noindex> do wdro\u017cenia naszej aplikacji na nasze konto AWS.<\/p>\n<p><\/p>\n<p>Na moim laptopie wszystko jest proste. Instaluj\u0119 Waypoint, kt\u00f3ry jest ju\u017c uwierzytelniony w moim koncie AWS, i to po prostu dzia\u0142a. Ale co si\u0119 stanie, je\u015bli zechc\u0119 wyj\u015b\u0107 poza m\u00f3j laptop? Albo nagle chc\u0119 zautomatyzowa\u0107 to wdro\u017cenie jako cz\u0119\u015b\u0107 mojego og\u00f3lnego potoku CI\/CD, w kt\u00f3rym uruchamiane s\u0105 moje bie\u017c\u0105ce testy integracyjne, testy bezpiecze\u0144stwa i inne? To jest ten moment, w kt\u00f3rym do akcji wchodzi GitLab CI\/CD!<\/p>\n<p><\/p>\n<blockquote><p><strong>N.B.<\/strong> Je\u015bli planujesz wdro\u017cenie CI\/CD lub chcesz zacz\u0105\u0107 stosowa\u0107 najlepsze praktyki budowy potok\u00f3w, zwr\u00f3\u0107 uwag\u0119 na nowy kurs Sl\u0451rma. <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\">\u201eCI\/CD na przyk\u0142adzie GitLab CI\u201d<\/a><\/noindex>. Obecnie jest dost\u0119pny w cenie przedsprzeda\u017cy. <\/p><\/blockquote>\n<p><\/p>\n<h2 id=\"waypoint-v-gitlab-cicd\">Waypoint w GitLab CI\/CD<\/h2>\n<p><\/p>\n<p>Aby zaaran\u017cowa\u0107 to wszystko w GitLab CI\/CD, sprawd\u017amy, co b\u0119dziemy potrzebowa\u0107 w naszym pliku. <code>.gitlab-ci.yml<\/code>:<\/p>\n<p><\/p>\n<ul>\n<li>Po pierwsze, potrzebny jest podstawowy obraz do uruchomienia w nim. Waypoint dzia\u0142a na ka\u017cdym dystrybucji Linuxa, potrzebuje tylko Dockera, wi\u0119c mo\u017cemy uruchomi\u0107 si\u0119 z uniwersalnym obrazem Dockera.<\/li>\n<li>Nast\u0119pnie musimy zainstalowa\u0107 Waypoint w tym obrazie. W przysz\u0142o\u015bci mo\u017cemy zbudowa\u0107 <noindex><a rel=\"nofollow\" href=\"https:\/\/about.gitlab.com\/blog\/2019\/08\/28\/building-build-images\/\">obraz meta build<\/a><\/noindex> i zcontaineryzowa\u0107 ten proces dla siebie.<\/li>\n<li>Na koniec uruchomimy komendy Waypoint.<\/li>\n<\/ul>\n<p><\/p>\n<p>Powy\u017cej wymieniono wszystko, co b\u0119dzie potrzebne naszemu potokowi do uruchomienia niezb\u0119dnych skrypt\u00f3w do wdro\u017cenia, ale aby wdro\u017cy\u0107 w AWS, potrzebujemy jeszcze jednej rzeczy: musimy uwierzytelni\u0107 si\u0119 na naszym koncie AWS. W opisie Waypoint <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/docs\/roadmap\">s\u0105 plany<\/a><\/noindex> dotycz\u0105ce uwierzytelniania i autoryzacji. HashiCorp w tym tygodniu r\u00f3wnie\u017c wyda\u0142 imponuj\u0105cy projekt <noindex><a rel=\"nofollow\" href=\"https:\/\/www.boundaryproject.io\/\">Boundary<\/a><\/noindex>. Ale na razie mo\u017cemy po prostu wzi\u0105\u0107 i samodzielnie obs\u0142u\u017cy\u0107 uwierzytelnianie oraz autoryzacj\u0119.<\/p>\n<p><\/p>\n<p>Dla uwierzytelnienia GitLab CICD w AWS istnieje kilka opcji. Pierwsza opcja to u\u017cycie wbudowanego <noindex><a rel=\"nofollow\" href=\"https:\/\/www.vaultproject.io\/\">HashiCorp Vault<\/a><\/noindex>. Sprawdzi si\u0119 to, je\u015bli twoja dru\u017cyna ju\u017c korzysta z Vault do zarz\u0105dzania danymi uwierzytelniaj\u0105cymi. Inn\u0105 opcj\u0105, kt\u00f3ra jest odpowiednia, je\u015bli twoja dru\u017cyna zarz\u0105dza autoryzacj\u0105 za pomoc\u0105 AWS IAM \u2013 upewnij si\u0119, \u017ce zadania dostawcze s\u0105 uruchamiane przez <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.gitlab.com\/runner\/\">GitLab Runner<\/a><\/noindex>, autoryzowany do uruchomienia wdro\u017cenia przez IAM. Ale je\u015bli po prostu chcesz zapozna\u0107 si\u0119 z Waypoint i chcesz to zrobi\u0107 szybciej, jest ostatnia opcja \u2013 dodanie twoich kluczy AWS API i Secret do <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.gitlab.com\/ee\/ci\/variables\/\">zmiennych \u015brodowiskowych GitLab CI\/CD.<\/a><\/noindex> <code>AWS_ACCESS_KEY_ID<\/code> i <code>AWS_SECRET_ACCESS_KEY<\/code>.<\/p>\n<p><\/p>\n<h2 id=\"sobiraem-vse-vmeste\">Zbieramy wszystko razem.<\/h2>\n<p><\/p>\n<p>Jak tylko uporali\u015bmy si\u0119 z uwierzytelnieniem, mo\u017cemy zacz\u0105\u0107! Nasz ostateczny <code>.gitlab-ci.yml<\/code> wygl\u0105da tak:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">waypoint:\n  image: docker:latest\n  stage: build\n  services:\n    - docker:dind\n  # Zdefiniuj zmienne \u015brodowiskowe, np. `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>Widzisz, \u017ce zaczynamy od obrazu <code>docker:latest<\/code> i ustawiamy kilka zmiennych \u015brodowiskowych wymaganych przez Waypoint. W sekcji <code>script<\/code> pobieramy najnowsz\u0105 wersj\u0119 pliku wykonywalnego Waypoint i instalujemy go w <code>\/usr\/local\/bin<\/code>. Poniewa\u017c nasz runner zosta\u0142 ju\u017c uwierzytelniony w AWS, nast\u0119pnie po prostu uruchamiamy <code>waypoint init<\/code>, <code>build<\/code>, <code>deploy<\/code> i <code>release<\/code>.<\/p>\n<p><\/p>\n<p>Wynik zadania budowy poka\u017ce nam punkt ko\u0144cowy, gdzie wdro\u017cyli\u015bmy aplikacj\u0119:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Jak u\u017cywa\u0107 HashiCorp Waypoint do wsp\u00f3\u0142pracy z GitLab CI\/CD\" src=\"\/wp-content\/uploads\/2020\/10\/be41d5e61b91bdfc1442f239fe99f013.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Waypoint to jedno z <noindex><a rel=\"nofollow\" href=\"https:\/\/about.gitlab.com\/solutions\/hashicorp\/\">wielu rozwi\u0105za\u0144 HashiCorp<\/a><\/noindex>, doskonale wsp\u00f3\u0142pracuj\u0105cych z GitLab. Na przyk\u0142ad, opr\u00f3cz wdro\u017cenia aplikacji, mo\u017cemy orkiestrowa\u0107 podstawow\u0105 infrastruktur\u0119 za pomoc\u0105 <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.gitlab.com\/ee\/user\/infrastructure\/\">Terraform w GitLab<\/a><\/noindex>. W celu standardyzacji bezpiecze\u0144stwa SDLC, mo\u017cemy r\u00f3wnie\u017c wdro\u017cy\u0107 <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.gitlab.com\/ee\/ci\/examples\/authenticating-with-hashicorp-vault\/\">GitLab z Vault<\/a><\/noindex> do zarz\u0105dzania sekretami i tokenami w potokach CI\/CD, zapewniaj\u0105c kompleksowe rozwi\u0105zanie dla programist\u00f3w i administrator\u00f3w, polegaj\u0105cych na zarz\u0105dzaniu sekretami podczas rozwoju, testowania i u\u017cytkowania produkcyjnego.<\/p>\n<p><\/p>\n<p>Wsp\u00f3lne rozwi\u0105zania opracowane przez HashiCorp i GitLab pomagaj\u0105 firmom znale\u017a\u0107 najlepszy spos\u00f3b na rozw\u00f3j aplikacji, zapewniaj\u0105c sp\u00f3jn\u0105 kontrol\u0119 nad przep\u0142ywami dostaw i infrastruktur\u0105. Waypoint zrobi\u0142 kolejny krok w dobrym kierunku, a my z niecierpliwo\u015bci\u0105 czekamy na dalszy rozw\u00f3j projektu. Mo\u017cesz dowiedzie\u0107 si\u0119 wi\u0119cej o Waypoint <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/\">tutaj<\/a><\/noindex>, warto r\u00f3wnie\u017c zapozna\u0107 si\u0119 z <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/docs\">dokumentacj\u0119<\/a><\/noindex> i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/docs\/roadmap\">planem rozwoju<\/a><\/noindex> projektu. Dodali\u015bmy nasz\u0105 wiedz\u0119 do <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/docs\/automating-execution\/gitlab-cicd\">dokumentacji GitLab CICD<\/a><\/noindex>. Je\u015bli chcesz samodzielnie spr\u00f3bowa\u0107 wszystkiego w praktyce, mo\u017cesz skorzysta\u0107 z pe\u0142nego, dzia\u0142aj\u0105cego przyk\u0142adu w <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/brendan-demo\/waypoint\">tej repozytorium<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Zrozumienie zasad CI\/CD, opanowanie wszelkich niuans\u00f3w pracy z GitLab CI i rozpocz\u0119cie stosowania najlepszych praktyk mo\u017cna uzyska\u0107, przechodz\u0105c przez kurs wideo <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\">\u201eCI\/CD na przyk\u0142adzie GitLab CI\u201d<\/a><\/noindex>. Do\u0142\u0105cz do nas!<\/p>\n<p>\u0179r\u00f3d\u0142o: <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.1.1 - 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\/pl\/blog\/administrirovanie\/kak-ispolzovat-hashicorp-waypoint-dlya-sovmestnoj-raboty-s-gitlab-ci-cd\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\/pl\/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\udd47Jak u\u017cywa\u0107 HashiCorp Waypoint do wsp\u00f3\u0142pracy z GitLab CI\/CD | ProHoster","description":".","canonical_url":"https:\/\/prohoster.info\/pl\/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":"pl_PL","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\/pl\/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\/pl\/wp-json\/wp\/v2\/posts\/97895","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=97895"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/97895\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/97896"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=97895"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=97895"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=97895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}