{"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\/ro\/blog\/administrirovanie\/kak-ispolzovat-hashicorp-waypoint-dlya-sovmestnoj-raboty-s-gitlab-ci-cd","title":{"rendered":"Cum s\u0103 utiliza\u021bi HashiCorp Waypoint pentru colaborare cu GitLab CI\/CD","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Cum s\u0103 utiliza\u021bi HashiCorp Waypoint pentru colaborare cu GitLab CI\/CD\" src=\"\/wp-content\/uploads\/2020\/10\/eb34af0fa0526faea00bbd79e281d0ad.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>HashiCorp a prezentat un nou proiect <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/\">Waypoint<\/a><\/noindex> pe <noindex><a rel=\"nofollow\" href=\"https:\/\/digital.hashiconf.com\/login\">HashiCorp Digital<\/a><\/noindex>. Folose\u0219te un fi\u0219ier bazat pe HCL pentru a descrie construirea, livrarea \u0219i lansarea aplica\u021biilor pe diverse platforme cloud, de la Kubernetes la AWS \u0219i Google Cloud Run. Poate fi v\u0103zut ca o combina\u021bie \u00eentre Terraform \u0219i Vagrant pentru a descrie procesul de construire, livrare \u0219i lansare a aplica\u021biilor dumneavoastr\u0103.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>F\u0103r\u0103 a se schimba, HashiCorp a lansat Waypoint ca un proiect open-source, venind \u0219i cu o mul\u021bime de exemple. Nivelul orchestratorului r\u0103m\u00e2ne la alegerea dumneavoastr\u0103, Waypoint fiind livrat sub forma unui executabil pe care \u00eel pute\u021bi rula direct de pe laptopul dumneavoastr\u0103 sau din instrumentul de orchestrare CI\/CD ales. Scopul pentru desf\u0103\u0219urarea aplica\u021biilor este, de asemenea, ales de dumneavoastr\u0103, \u00eentruc\u00e2t Waypoint suport\u0103 Kubernetes, Docker, Google Cloud Run, AWS ECS \u0219i altele.<\/p>\n<p><\/p>\n<p>Dup\u0103 ce am citit <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/docs\">documenta\u021bie<\/a><\/noindex> \u0219i cele mai impresionate <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/hashicorp\/waypoint-examples\">exemple<\/a><\/noindex> aplica\u021bii furnizate de HashiCorp, am decis s\u0103 arunc\u0103m o privire mai atent\u0103 asupra orchestration-ului Waypoint folosind GitLab CI\/CD. Pentru aceasta, vom lua o aplica\u021bie simpl\u0103 Node.js, care ruleaz\u0103 pe AWS ECS, din repository-ul de exemple.<\/p>\n<p><\/p>\n<p>Dup\u0103 clonarea repository-ului, vom analiza structura aplica\u021biei, care afi\u0219eaz\u0103 o singur\u0103 pagin\u0103:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Cum s\u0103 utiliza\u021bi HashiCorp Waypoint pentru colaborare cu GitLab CI\/CD\" src=\"\/wp-content\/uploads\/2020\/10\/231bd4112523a05be12f8b15bec2652d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A\u0219a cum a\u021bi observat, \u00een acest proiect nu exist\u0103 un Dockerfile. Acestea nu au fost incluse \u00een exemplu, deoarece nu ne sunt necesare, deoarece Waypoint se va ocupa de ele pentru noi. S\u0103 analiz\u0103m mai \u00een detaliu fi\u0219ierul <code>waypoint.hcl<\/code>, pentru a \u00een\u021belege ce va face:<\/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>\u00cen etapa de construire, Waypoint folose\u0219te Cloud Native Buildpacks (<noindex><a rel=\"nofollow\" href=\"https:\/\/buildpacks.io\/\">CNB<\/a><\/noindex>), pentru a determina limbajul de programare al proiectului \u0219i a crea o imagine pentru Docker f\u0103r\u0103 a folosi Dockerfile. \u00cen esen\u021b\u0103, aceasta este aceea\u0219i tehnologie care este utilizat\u0103 de GitLab \u00een sec\u021biunea <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.gitlab.com\/ee\/topics\/autodevops\/\">Auto DevOps<\/a><\/noindex> la pasul Auto Build. Este pl\u0103cut s\u0103 vedem c\u0103 CNB de la CNCF c\u00e2\u0219tig\u0103 o popularitate tot mai mare printre utilizatori din industrie.<\/p>\n<p><\/p>\n<p>Odat\u0103 ce imaginea a fost construit\u0103, Waypoint o va \u00eenc\u0103rca automat \u00een registrul nostru AWS ECR, pentru a fi gata pentru livrare. La finalizarea construc\u021biei, pasul de livrare utilizeaz\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/plugins\/aws-ecs\">complementul AWS ECS<\/a><\/noindex> pentru a desf\u0103\u0219ura aplica\u021bia noastr\u0103 \u00een contul nostru AWS.<\/p>\n<p><\/p>\n<p>De pe laptopul meu \u2013 totul este simplu. Instal\u0103m Waypoint, care este deja autentificat \u00een contul meu AWS, \u0219i \u201epur \u0219i simplu func\u021bioneaz\u0103\u201d. Dar ce se \u00eent\u00e2mpl\u0103 dac\u0103 vreau s\u0103 ie\u0219 s\u0103 dep\u0103\u0219esc laptopul meu? Sau, la un moment dat, vreau s\u0103 automatizez acest proces de desf\u0103\u0219urare ca parte a \u00eentregului meu pipeline CI\/CD, unde se ruleaz\u0103 testele mele de integrare, testele de securitate \u0219i altele? Aceasta este partea pove\u0219tii \u00een care intr\u0103 GitLab CI\/CD!<\/p>\n<p><\/p>\n<blockquote><p><strong>N.B.<\/strong> Dac\u0103 abia planifica\u021bi implementarea CI\/CD sau dori\u021bi s\u0103 \u00eencepe\u021bi s\u0103 aplica\u021bi cele mai bune practici pentru construirea pipeline-urilor, arunca\u021bi o privire asupra noului curs oferit de Slyrma. <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 prin exemplul Gitlab CI\u201d<\/a><\/noindex>. Acum este disponibil la un pre\u021b de precomand\u0103. <\/p><\/blockquote>\n<p><\/p>\n<h2 id=\"waypoint-v-gitlab-cicd\">Waypoint \u00een GitLab CI\/CD<\/h2>\n<p><\/p>\n<p>Pentru orchestrarea tuturor acestora \u00een GitLab CI\/CD, s\u0103 vedem ce ne va fi necesar \u00een fi\u0219ierul nostru. <code>.gitlab-ci.yml<\/code>:<\/p>\n<p><\/p>\n<ul>\n<li>\u00cen primul r\u00e2nd, avem nevoie de o imagine de baz\u0103 pentru a rula. Waypoint func\u021bioneaz\u0103 pe orice distribu\u021bie Linux, necesit\u0103 doar Docker, astfel \u00eenc\u00e2t putem s\u0103 \u00eencepem cu o imagine generic\u0103 Docker.<\/li>\n<li>Apoi, trebuie s\u0103 instal\u0103m Waypoint \u00een aceast\u0103 imagine. \u00cen viitor, putem construi <noindex><a rel=\"nofollow\" href=\"https:\/\/about.gitlab.com\/blog\/2019\/08\/28\/building-build-images\/\">imaginea build meta<\/a><\/noindex> \u0219i s\u0103 containeriz\u0103m acest proces pentru noi.<\/li>\n<li>\u00cen cele din urm\u0103, vom rula comenzile Waypoint.<\/li>\n<\/ul>\n<p><\/p>\n<p>Mai sus este descris tot ce va avea nevoie pipeline-ul nostru pentru a rula scripturile necesare desf\u0103\u0219ur\u0103rii, dar pentru desf\u0103\u0219urarea \u00een AWS ne va mai trebui un lucru: trebuie s\u0103 ne autentific\u0103m \u00een contul nostru AWS. \u00cen documenta\u021bia Waypoint <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/docs\/roadmap\">exist\u0103 planuri<\/a><\/noindex> despre autentificare \u0219i autorizare. HashiCorp a lansat s\u0103pt\u0103m\u00e2na aceasta un proiect impresionant <noindex><a rel=\"nofollow\" href=\"https:\/\/www.boundaryproject.io\/\">Boundary<\/a><\/noindex>. Dar \u00een acest moment, putem pur \u0219i simplu s\u0103 gestion\u0103m noi autentificarea \u0219i autorizarea.<\/p>\n<p><\/p>\n<p>Pentru autentificarea GitLab CICD \u00een AWS exist\u0103 mai multe op\u021biuni. Prima op\u021biune este utilizarea integrat\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.vaultproject.io\/\">HashiCorp Vault<\/a><\/noindex>. Aceasta este potrivit\u0103 dac\u0103 echipa ta deja folose\u0219te Vault pentru gestionarea creden\u021bialelor. O alt\u0103 metod\u0103, care este potrivit\u0103 dac\u0103 echipa ta gestioneaz\u0103 autorizarea prin AWS IAM \u2013 asigura\u021bi-v\u0103 c\u0103 sarcinile de desf\u0103\u0219urare se execut\u0103 prin <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.gitlab.com\/runner\/\">GitLab Runner<\/a><\/noindex>, autorizat s\u0103 ruleze desf\u0103\u0219urarea prin IAM. Dar dac\u0103 dori\u021bi doar s\u0103 explora\u021bi Waypoint \u0219i dori\u021bi s\u0103 o face\u021bi mai repede, exist\u0103 o ultim\u0103 op\u021biune \u2013 s\u0103 ad\u0103uga\u021bi cheile tale AWS API \u0219i Secret \u00een <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.gitlab.com\/ee\/ci\/variables\/\">variabilele de mediu GitLab CI\/CD<\/a><\/noindex> <code>AWS_ACCESS_KEY_ID<\/code> \u0219i <code>AWS_SECRET_ACCESS_KEY<\/code>.<\/p>\n<p><\/p>\n<h2 id=\"sobiraem-vse-vmeste\">Adun\u0103m totul laolalt\u0103<\/h2>\n<p><\/p>\n<p>Odat\u0103 ce ne-am ocupat de autentificare, putem \u00eencepe! Rezultatul nostru final <code>.gitlab-ci.yml<\/code> arat\u0103 astfel:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">waypoint:\n  image: docker:latest\n  stage: build\n  services:\n    - docker:dind\n  # Define environment variables, e.g. `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>Vede\u021bi c\u0103 \u00eencepem cu imaginea <code>docker:latest<\/code> \u0219i set\u0103m c\u00e2teva variabile de mediu necesare pentru Waypoint. \u00cen sec\u021biunea <code>script<\/code> desc\u0103rc\u0103m cea mai recent\u0103 versiune a fi\u0219ierului executabil Waypoint \u0219i \u00eel instal\u0103m \u00een <code>\/usr\/local\/bin<\/code>. Deoarece runner-ul nostru este deja autentificat \u00een AWS, continu\u0103m pur \u0219i simplu cu comanda <code>waypoint init<\/code>, <code>build<\/code>, <code>deploy<\/code> \u0219i <code>release<\/code>.<\/p>\n<p><\/p>\n<p>Ie\u015firea din sarcina de construire ne va ar\u0103ta endpoint-ul la care am distribuit aplica\u021bia:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Cum s\u0103 utiliza\u021bi HashiCorp Waypoint pentru colaborare cu GitLab CI\/CD\" src=\"\/wp-content\/uploads\/2020\/10\/be41d5e61b91bdfc1442f239fe99f013.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Waypoint este una dintre <noindex><a rel=\"nofollow\" href=\"https:\/\/about.gitlab.com\/solutions\/hashicorp\/\">multe solu\u021bii HashiCorp<\/a><\/noindex>, care func\u021bioneaz\u0103 excelent cu GitLab. De exemplu, pe l\u00e2ng\u0103 livrarea aplica\u021biei, putem orchestri infrastructura subiacente cu ajutorul <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.gitlab.com\/ee\/user\/infrastructure\/\">Terraform \u00een GitLab<\/a><\/noindex>. Pentru standardizarea securit\u0103\u021bii SDLC, putem, de asemenea, integra <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.gitlab.com\/ee\/ci\/examples\/authenticating-with-hashicorp-vault\/\">GitLab cu Vault<\/a><\/noindex> pentru gestionarea secretelor \u0219i token-urilor \u00een pipe-urile CI\/CD, oferind o solu\u021bie complet\u0103 pentru dezvoltatori \u0219i administratori, care depind de gestionarea secretelor \u00een timpul dezvolt\u0103rii, test\u0103rii \u0219i utiliz\u0103rii \u00een medii de produc\u021bie.<\/p>\n<p><\/p>\n<p>Solu\u021biile comune dezvoltate de HashiCorp \u0219i GitLab ajut\u0103 companiile s\u0103 g\u0103seasc\u0103 cea mai bun\u0103 modalitate de a dezvolta aplica\u021bii, asigur\u00e2nd un management coerent al fluxurilor de livrare \u0219i infrastructurii. Waypoint a f\u0103cut un alt pas \u00een direc\u021bia corect\u0103 \u0219i a\u0219tept\u0103m cu ner\u0103bdare dezvoltarea ulterioar\u0103 a proiectului. Pute\u021bi afla mai multe despre Waypoint <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/\">aici<\/a><\/noindex>, ar trebui s\u0103 explora\u021bi \u0219i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/docs\">documenta\u021bie<\/a><\/noindex> \u0219i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/docs\/roadmap\">plan de dezvoltare<\/a><\/noindex> proiectului. Am ad\u0103ugat cuno\u0219tin\u021bele ob\u021binute \u00een <noindex><a rel=\"nofollow\" href=\"https:\/\/www.waypointproject.io\/docs\/automating-execution\/gitlab-cicd\">documenta\u021bia GitLab CICD<\/a><\/noindex>. Dac\u0103 dori\u021bi s\u0103 \u00eencerca\u021bi totul \u00een ac\u021biune pe cont propriu, pute\u021bi lua un exemplu complet func\u021bional \u00een <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/brendan-demo\/waypoint\">acest depozit<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>\u00cen\u021belegerea principiilor CI\/CD, st\u0103p\u00e2nirea tuturor subtilit\u0103\u021bilor lucrului cu Gitlab CI \u0219i \u00eenceperea aplic\u0103rii celor mai bune practici pot fi realizate parcurg\u00e2nd cursul video <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 prin exemplul Gitlab CI\u201d<\/a><\/noindex>. Al\u0103tura\u021bi-v\u0103!<\/p>\n<p>Sursa: <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.2.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\/ro\/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.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47Cum s\u0103 utiliza\u021bi HashiCorp Waypoint pentru colaborarea cu GitLab CI\/CD | ProHoster","description":".","canonical_url":"https:\/\/prohoster.info\/ro\/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":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/97895","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=97895"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/97895\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/97896"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=97895"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=97895"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=97895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}