{"id":55123,"date":"2023-08-21T14:00:27","date_gmt":"2023-08-21T12:00:27","guid":{"rendered":"https:\/\/kinsta.com\/nl\/?p=55123&#038;preview=true&#038;preview_id=55123"},"modified":"2023-09-25T13:25:54","modified_gmt":"2023-09-25T11:25:54","slug":"react-continuous-deployment","status":"publish","type":"post","link":"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/","title":{"rendered":"Continuous deployment van React apps met CircleCI en Kinsta API"},"content":{"rendered":"<p>Continuous deployment is cruciaal geworden in het snel evoluerende landschap van <a href=\"https:\/\/kinsta.com\/blog\/what-is-a-full-stack-developer\/\">softwareontwikkeling<\/a>. Het belooft snellere releasecycli, minder menselijke fouten en uiteindelijk een betere gebruikerservaring.<\/p>\n<p>Softwaredevelopment is het oplossen van problemen met code. De weg die software aflegt van de creatie naar de klant bestaat uit talloze fasen, die snelheid, veiligheid en betrouwbaarheid vereisen. Dit is waar continuous deployment schittert.<\/p>\n<p>Dit artikel legt uit hoe je het <a href=\"https:\/\/circleci.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">CircleCI-platform<\/a> kunt integreren om een continuous integratie en continuous levering\/uitrol (<a href=\"https:\/\/kinsta.com\/nl\/blog\/devops-tools\/#devops-pipeline-cicd-tools\">CI\/CD<\/a>) workflow te cre\u00ebren, terwijl je de kracht van de <a href=\"https:\/\/kinsta.com\/nl\/docs\/kinsta-api\/\">Kinsta API<\/a> gebruikt voor continuous inzet van applicaties &#8211; zoals ons React voorbeeld hier. Deze combinatie kan een soepel pad van ontwikkeling naar productie effenen.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Inzicht in continuous deployment<\/h2>\n<p>Continuous deployment is meer dan alleen een modewoord: het is een paradigmaverschuiving in de wereld van de ontwikkeling van software. Het gaat om het automatiseren van het proces van bouwen, testen en deployen van codewijzigingen naar productieservers.<\/p>\n<p>De <a href=\"https:\/\/kinsta.com\/nl\/blog\/ci-cd-pipeline-maken\/\">CI\/CD pipeline<\/a>, een fundamenteel onderdeel van continuous deployment, orkestreert het hele proces. Het omvat versiebeheer, geautomatiseerd testen en geautomatiseerde implementatie. Elke fase is cruciaal om ervoor te zorgen dat alleen betrouwbare, geteste code de productie bereikt.<\/p>\n<h2>Wat is CircleCI?<\/h2>\n<p>CircleCI is een populair hulpmiddel voor het implementeren van CI\/CD. Het integreert met versiebeheersystemen zoals <a href=\"https:\/\/kinsta.com\/nl\/blog\/zo-push-je-code-naar-github\/\">GitHub<\/a>, <a href=\"https:\/\/kinsta.com\/nl\/blog\/gitlab-en-github\/\">GitLab<\/a> en <a href=\"https:\/\/kinsta.com\/nl\/blog\/bitbucket-vs-github\/\">Bitbucket<\/a>, waardoor developers de hele CI\/CD-pipeline kunnen automatiseren. De schaalbaarheid, uitbreidbaarheid en ondersteuning voor verschillende <a href=\"https:\/\/kinsta.com\/nl\/blog\/beste-programmeertaal-om-te-leren\/\">programmeertalen<\/a> maken het een veelzijdige tool voor projecten van elke grootte.<\/p>\n<p>De <a href=\"https:\/\/kinsta.com\/nl\/blog\/soorten-developers\/\">developers<\/a> van CircleCI defini\u00ebren workflows die automatisch worden geactiveerd bij code-commits. Dit zet de bouw- en testprocessen in gang en na succesvolle voltooiing wordt de code gedeployd in de doelomgeving. Deze hands-off benadering bespaart niet alleen tijd, maar vermindert ook het risico op menselijke fouten tijdens de deployment.<\/p>\n<h2>De Kinsta API begrijpen<\/h2>\n<p>Met de <a href=\"https:\/\/kinsta.com\/nl\/changelog\/kinsta-api\/\">Kinsta API<\/a> kun je programmatisch communiceren met door Kinsta gehoste services, waarbij het deployen van applicaties deel uitmaakt van de functionaliteit. Wanneer je werkt met CI\/CD workflows, zul je het cURL commando gebruiken om te communiceren met de Kinsta API vanuit de workflow.<\/p>\n<p>Om de API te gebruiken, moet je een account hebben met ten minste \u00e9\u00e9n <a href=\"https:\/\/kinsta.com\/nl\/wordpress-hosting\/\">WordPress<\/a> site, <a href=\"https:\/\/sevalla.com\/application-hosting\/\">applicatie<\/a> of <a href=\"https:\/\/sevalla.com\/database-hosting\/\">database<\/a> in MyKinsta. Je kunt dan een API-sleutel genereren om je toegang tot de API te verifi\u00ebren.<\/p>\n<p>Om een API-sleutel te genereren:<\/p>\n<ol start=\"1\">\n<li>Ga naar je MyKinsta dashboard.<\/li>\n<li>Navigeer naar de pagina <strong>API sleutels <\/strong>(<strong>Je naam<\/strong> &gt; <strong>Bedrijfsinstellingen<\/strong> &gt; <strong>API-sleutels<\/strong>).<\/li>\n<li>Klik op <strong>Maak API sleutel aan<\/strong>.<\/li>\n<li>Kies een vervaldatum of stel een aangepaste begindatum in en het aantal uren dat de sleutel moet verlopen.<\/li>\n<li>Geef de sleutel een unieke naam.<\/li>\n<li>Klik op <strong>Genereer<\/strong>.<\/li>\n<\/ol>\n<p>Nadat je een API sleutel hebt gemaakt, moet je deze kopi\u00ebren en ergens veilig opslaan (we raden aan een <a href=\"https:\/\/kinsta.com\/nl\/blog\/wachtwoordmanagers\/\">wachtwoordmanager<\/a> te gebruiken), omdat dit de <strong>enige keer<\/strong> is dat de sleutel wordt getoond in MyKinsta.<\/p>\n<h3>Deployment triggeren met Kinsta API<\/h3>\n<p>Om een applicatie te deployen naar Kinsta met behulp van de API, heb je de applicatie ID en de naam van de te deployen branch in de Git repository nodig. Je kunt het ID van je applicatie achterhalen door eerst <a href=\"https:\/\/api-docs.kinsta.com\/tag\/Applications#operation\/getApplications\" target=\"_blank\" rel=\"noopener noreferrer\">de lijst van je applicaties op te halen<\/a>, die details geeft over elke applicatie, inclusief het ID.<\/p>\n<p>Je kunt dan een <a href=\"https:\/\/kinsta.com\/nl\/blog\/javascript-http-verzoek\/\">POST verzoek<\/a> doen naar het API <code><a href=\"https:\/\/api-docs.kinsta.com\/tag\/Application-Deployments#operation\/manualDeployApplication\" target=\"_blank\" rel=\"noopener noreferrer\">\/applications\/deployments<\/a><\/code> eindpunt met een cURL commando:<\/p>\n<pre><code class=\"language-yaml\">curl -i -X POST \n  https:\/\/api.kinsta.com\/v2\/applications\/deployments \n  -H 'Authorization: Bearer &lt;YOUR_TOKEN_HERE&gt;' \n  -H 'Content-Type: application\/json' \n  -d '{\n    \"app_id\": \"&lt;YOUR_APP_ID&gt;\",\n    \"branch\": \"main\"\n  }'<\/code><\/pre>\n<p>Dit cURL commando wordt gebruikt in de workflow.<\/p>\n<h2>Aan de slag met CircleCI<\/h2>\n<p>Om aan de slag te gaan met CircleCI heb je broncode nodig die gehost wordt op de Git provider van je voorkeur. Voor deze tutorial gebruiken we de <a href=\"https:\/\/github.com\/kinsta\/site-builder\" target=\"_blank\" rel=\"noopener noreferrer\">site builder applicatie<\/a> die ontwikkeld is voor de tutorial over <a href=\"https:\/\/kinsta.com\/nl\/blog\/wordpress-api\/\">Hoe maak je een WordPress site met Kinsta API<\/a>. Voel je vrij om de repository te gebruiken door ernaar te navigeren op GitHub en te kiezen voor: <strong>Use this template<\/strong> &gt; <strong>Create a new repository<\/strong>.<\/p>\n<p>In de <a href=\"https:\/\/kinsta.com\/nl\/onderwerpen\/react\/\">React<\/a>-applicatie worden unit tests gemaakt om elk onderdeel te testen. <a href=\"https:\/\/kinsta.com\/nl\/blog\/vscode-extensies\/#1-eslint\">ESLint<\/a> wordt ook gebruikt om een perfecte syntaxis en codeopmaak af te dwingen. Laten we een CI\/CD workflow opzetten die bouwt, test, ervoor zorgt dat de syntaxis van onze code correct is en uiteindelijk naar Kinsta uitrolt met behulp van de API.<\/p>\n<p>Laten we, om te beginnen, enkele belangrijke concepten verkennen:<\/p>\n<ol start=\"1\">\n<li><strong>Workflows:<\/strong> CircleCI is gebaseerd op workflows &#8211; gedefinieerde reeksen taken die de fasen van je CI\/CD pipeline schetsen. Workflows kunnen verschillende stappen bevatten, zoals bouwen, testen, implementeren en meer.<\/li>\n<li><strong>Jobs:<\/strong> Jobs zijn individuele werkeenheden binnen een workflow. Elke job voert een specifieke taak uit, zoals het compileren van code, het uitvoeren van tests of het deployen naar een server. Deze jobs kunnen ook verschillende stappen bevatten die achter elkaar worden uitgevoerd (parallelle uitvoering), zodat als er \u00e9\u00e9n mislukt, de hele job mislukt.<\/li>\n<\/ol>\n<h3>Stap 1: Maak een CircleCI account aan<\/h3>\n<p>Bezoek de CircleCI website en maak een account aan als je er nog geen hebt. Je kunt je aanmelden met de Git provider van je voorkeur. Dat maakt het makkelijker om toegang te krijgen tot je repositories zonder verdere configuratie.<\/p>\n<h3>Stap 2: Maak het configuratiebestand<\/h3>\n<p>Maak in de hoofdmap van je project een <strong>.circleci<\/strong> map aan als die nog niet bestaat, en maak in die map een <strong>config.yml<\/strong> bestand aan. Dit bestand bevat de configuratie van je workflow.<\/p>\n<h3>Stap 3: Configureer je archief<\/h3>\n<p>Zodra je bent ingelogd, navigeer je naar je <a href=\"https:\/\/app.circleci.com\/dashboard\" target=\"_blank\" rel=\"noopener noreferrer\">CircleCI dashboard<\/a>, klik je op <b>Projects <\/b>in de linker zijbalk om een lijst met repositories te zien en klik je op de knop <strong>Set Up Project <\/strong>voor de repository die je wilt configureren.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/configure-repository.jpg\" alt=\"Configureer je repository.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Configureer je repository.<\/figcaption><\/figure>\n<p>Er wordt een dialoogvenster geopend waarin CircleCI automatisch je configuratiebestand detecteert. Klik vervolgens op de knop <strong>Set Up Project<\/strong>. CircleCI heeft nu toegang tot je codebase en voert de gedefinieerde workflows uit bij codewijzigingen.<\/p>\n<h3>Stap 4: Definieer de taak van je workflow<\/h3>\n<p>De kern van het opzetten van je CircleCI pipeline ligt in deze cruciale stap: het defini\u00ebren van je workflow in het <strong>config.yml<\/strong> bestand. Dit is waar je de volgorde van acties orkestreert die je pipeline zal uitvoeren. Zie dit als het schetsen van de blauwdruk voor je reis van development naar productie.<\/p>\n<p>Dit begint met het defini\u00ebren van de CircleCI versie, die momenteel <code>2.1<\/code> is:<\/p>\n<pre><code class=\"language-yaml\">version: 2.1<\/code><\/pre>\n<p>Voor elk React project heb je een <code>build<\/code> job nodig. Deze taak pakt de fundamentele taken aan die je code klaar maken voor deployment. Deze taken bevatten het installeren van de benodigde dependencies, het compileren van je code, het uitvoeren van tests om te zorgen dat alles goed werkt, het controleren van de code op kwaliteit en tot slot het pushen van de code naar zijn bestemming.<\/p>\n<p>Omdat React projecten vaak tools zoals <a href=\"https:\/\/kinsta.com\/nl\/blog\/maken-slackbot-sitebeheer\/\">Node.js<\/a> nodig hebben om de klus te klaren, vereenvoudigt CircleCI de toegang tot deze tools door ze als <a href=\"https:\/\/circleci.com\/developer\/images\" target=\"_blank\" rel=\"noopener noreferrer\">voorverpakte images<\/a> aan te bieden. Geef in deze tutorial aan welke versie van Node.js je wilt gebruiken. Laten we <a href=\"https:\/\/kinsta.com\/nl\/blog\/node-js-20\/\">Node.js v20<\/a> gebruiken.<\/p>\n<pre><code class=\"language-yaml\">jobs:\n  build:\n    docker:\n      - image: cimg\/node:20.5.0<\/code><\/pre>\n<p>Deze opdracht zal verschillende stappen uitvoeren, dus laten we ze maken. De eerste stap is <code>checkout<\/code>, die de laatste versie van je code ophaalt uit de repository, zodat alle volgende acties werken met de nieuwste code.<\/p>\n<pre><code class=\"language-yaml\">steps:\n  - checkout<\/code><\/pre>\n<p>Nu het echte werk &#8211; dingen gedaan krijgen. De stappen die volgen op <code>checkout<\/code> hebben betrekking op belangrijke taken: het installeren van dependencies, het compileren van de sourcecode, het uitvoeren van unit tests en het gebruik van ESLint om je code te inspecteren op red flags.<\/p>\n<pre><code class=\"language-yaml\">steps:\n  - checkout\n  - run:\n      name: Install Dependencies\n      command: npm install\n  - run:\n      name: Compile Source Code\n      command: npm run build\n  - run:\n      name: Run Unit Tests\n      command: npm test\n  - run:\n      name: Run ESLint\n      command: npm run lint<\/code><\/pre>\n<p>Elke stap heeft, net als wegwijzers op een reis, een naam om je te helpen bijhouden wat er gebeurt als de workflow in volle gang is. Deze duidelijkheid maakt het gemakkelijk om problemen op te lossen en ervoor te zorgen dat alles op schema blijft terwijl je workflow voor je aan het werk gaat.<\/p>\n<h4>Het triggeren van continuous deployment naar Kinsta<\/h4>\n<p>De laatste stap in de <code>build<\/code> job is het starten van de deployment naar Kinsta via de API. Hiervoor zijn twee waarden nodig: je <strong>API sleutel<\/strong> en <strong>App ID<\/strong>, die niet openbaar mogen zijn. Deze waarden worden bewaard als <a href=\"https:\/\/kinsta.com\/blog\/what-is-an-environment-variable\/\">omgevingsvariabelen<\/a> in CircleCI. Laten we nu de deploymentfase in de workflow defini\u00ebren:<\/p>\n<pre><code class=\"language-yaml\">- run:\n    name: Deploy to Kinsta\n    command: |\n      curl -i -X POST \n        https:\/\/api.kinsta.com\/v2\/applications\/deployments \n        -H \"Authorization: Bearer $API_KEY\" \n        -H \"Content-Type: application\/json\" \n        -d '{\n          \"app_id\": \"'\"$APP_ID\"'\",\n          \"branch\": \"main\"\n        }'<\/code><\/pre>\n<p>In de bijgeleverde code voer je het cURL commando uit om de deployment te triggeren met behulp van de Application ID die is opgeslagen in je omgevingsvariabelen. Onthoud dat omgevingsvariabelen toegankelijk zijn met de syntaxis:<\/p>\n<pre><code class=\"language-yaml\">\"$VARIABLE_NAME\"<\/code><\/pre>\n<h4>Omgevingsvariabelen opslaan met CircleCI<\/h4>\n<p>Omgevingsvariabelen zijn cruciaal voor het handhaven van de veiligheid en flexibiliteit van je continuous integratie en deployment workflows. Volg deze stappen om omgevingsvariabelen op te slaan in CircleCI:<\/p>\n<ol start=\"1\">\n<li>Open je project om alle details van je pipeline te bekijken en klik op de knop <strong>Project Settings<\/strong>.<\/li>\n<li>Klik op het tabblad <b>Environment Variables <\/b>in de zijbalk en voeg je omgevingsvariabelen toe.<\/li>\n<\/ol>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/store-env-variables.jpg\" alt=\"Sla de omgevingsvariabelen op.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Sla de omgevingsvariabelen op.<\/figcaption><\/figure>\n<h3>Stap 5: Configuratie workflow<\/h3>\n<p>Nu je taak of taken zijn ingesteld en gestructureerd in georganiseerde stappen, bestaat de volgende fase uit het <a href=\"https:\/\/circleci.com\/docs\/configuration-reference\/#workflows\" target=\"_blank\" rel=\"noopener noreferrer\">configureren van je workflow<\/a>. De workflow fungeert als een orchestrator, die de volgorde van taken begeleidt en <a href=\"https:\/\/support.circleci.com\/hc\/en-us\/articles\/115015953868-Filter-workflows-by-branch-\" target=\"_blank\" rel=\"noopener noreferrer\">specifieke filters<\/a> en regels bevat om te bepalen hoe deze taken worden uitgevoerd.<\/p>\n<p>In deze tutorial maken we een workflow die de bouwtaak uitsluitend triggert als er een push of wijzigingen zijn in de code op de repository&#8217;s <code>main<\/code> branch:<\/p>\n<pre><code class=\"language-yaml\">workflows:\n  version: 2\n  build-test-lint:\n    jobs:\n      - build:\n          filters:\n            branches:\n              only:\n                - main<\/code><\/pre>\n<p>Deze configuratie wordt bereikt met behulp van filters, waarmee je kunt bepalen wanneer een taak wordt uitgevoerd op basis van bepaalde voorwaarden. Je kunt ook triggers inbouwen om te plannen wanneer de workflow moet worden uitgevoerd (voorbeeld: dagelijks om 12 uur UTC):<\/p>\n<pre><code class=\"language-yaml\">workflows:\n  version: 2\n  build-test-lint:\n    jobs:\n      - build:\n          filters:\n            branches:\n              only:\n                - main\n    triggers:\n      - schedule:\n          cron: \"0 0 * * *\"<\/code><\/pre>\n<p>De bovenstaande workflow heeft een <code>trigger<\/code> gedefinieerd met het <code>schedule<\/code> keyword. De cron expressie <code>\"0 0 * * *\"<\/code> komt overeen met het dagelijks plannen van de workflow om middernacht UTC.<\/p>\n<p>In een cron expressie zijn er vijf velden gescheiden door spaties, die elk een andere tijdseenheid vertegenwoordigen:<\/p>\n<ol start=\"1\">\n<li><strong>Minuut (0-59):<\/strong> Het eerste veld vertegenwoordigt de minuut van het uur, ingesteld op <code>0<\/code> om aan het begin van het uur te triggeren.<\/li>\n<li><strong>Uur (0-23):<\/strong> Het tweede veld geeft het uur van de dag aan, ingesteld op <code>0<\/code> voor middernacht.<\/li>\n<li><strong>Dag van de maand (1-31):<\/strong> Het derde veld geeft de dag aan, aangegeven met een sterretje (<code>*<\/code>) voor een willekeurige dag.<\/li>\n<li><strong>Maand (1-12):<\/strong> Het vierde veld geeft de maand aan, aangegeven met een sterretje (<code>*<\/code>) voor een willekeurige maand.<\/li>\n<li><strong>Dag van de week (0-6, waarbij 0 zondag is):<\/strong> Het vijfde veld geeft de dag van de week aan, ook gemarkeerd met een sterretje (<code>*<\/code>) voor elke dag.<\/li>\n<\/ol>\n<p>Met deze workflow configuratie kun je effectief beheren wanneer en onder welke omstandigheden je gedefinieerde taken worden uitgevoerd, waardoor je een effici\u00ebnte en gestroomlijnde CI\/CD pipeline behoudt.<\/p>\n<h3>Stap 6: Vastleggen en observeren<\/h3>\n<p>Zodra je workflow succesvol is geconfigureerd, commit je je wijzigingen naar je versiebeheerrepository. CircleCI detecteert automatisch de aanwezigheid van het configuratiebestand en activeert je gedefinieerde workflows bij codewijzigingen.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/circleci-job-details.jpg\" alt=\"CircleCI job details.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">CircleCI job details.<\/figcaption><\/figure>\n<p>Klik op de build job om de details te bekijken. Als je meer dan \u00e9\u00e9n job hebt, worden ze allemaal weergegeven. Als je op een job klikt, toont het tabblad <b>STEPS <\/b>alle stappen die de job heeft uitgevoerd en of deze succesvol of mislukt zijn.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/circleci-job-steps.jpg\" alt=\"Stappen in de job.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Stappen in de job.<\/figcaption><\/figure>\n<p>Je kunt ook op elke stap klikken om meer details te zien. Als je op de stap <strong>Deploy to Kinsta<\/strong> klikt, zie je meer details over het API verzoek en weet je of het is gelukt:<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/08\/circleci-step-info.jpg\" alt=\"Stapinformatie.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Stapinformatie.<\/figcaption><\/figure>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>De Deploy to Kinsta stap is ontworpen om het deploymentproces uit te voeren met behulp van de Kinsta API. Het zal altijd een succesvolle status weergeven, zelfs als het eigenlijke deploymentproces problemen of mislukkingen ondervindt. Dit komt omdat de reactie van de workflow gebaseerd is op de succesvolle start van de deployment, niet op de voltooiing of status ervan.<\/p>\n<\/aside>\n\n<p>Als je je <a href=\"https:\/\/my.kinsta.com\/?lang=nl\">MyKinsta<\/a> dashboard bekijkt, zul je zien dat de workflow automatisch de rollout start. Zo ziet je complete CircleCI workflow eruit:<\/p>\n<pre><code class=\"language-yaml\">version: 2.1\njobs:\n  build:\n    docker:\n      - image: cimg\/node:20.5.0\n    steps:\n      - checkout # Check out the code from the repository\n      - run:\n          name: Install Dependencies\n          command: npm install\n      - run:\n          name: Compile Source Code\n          command: npm run build\n      - run:\n          name: Run Unit Tests\n          command: npm test\n      - run:\n          name: Run ESLint\n          command: npm run lint\n- run:\n    name: Deploy to Kinsta\n    command: |\n      curl -i -X POST \n        https:\/\/api.kinsta.com\/v2\/applications\/deployments \n        -H \"Authorization: Bearer $API_KEY\" \n        -H \"Content-Type: application\/json\" \n        -d '{\n          \"app_id\": \"'\"$APP_ID\"'\",\n          \"branch\": \"main\"\n        }'\n\nworkflows:\n  version: 2\n  build-test-lint:\n    jobs:\n      - build:\n          filters:\n            branches:\n              only:\n                - main<\/code><\/pre>\n<h2>Samenvatting<\/h2>\n<p>Je hebt nu met succes een custom deploymentproces gerealiseerd voor je React applicatie naar Kinsta via CircleCI. Deze aanpak geeft je meer flexibiliteit en autoriteit over je deployment, waardoor je team gespecialiseerde stappen binnen het proces kan uitvoeren.<\/p>\n<p>Door CircleCI te gebruiken, zet je een grote stap in de richting van het verbeteren van je ontwikkelmethodologie\u00ebn. De automatisering van je CI\/CD pipeline garandeert niet alleen de kwaliteit van je code, maar versnelt ook je releasecycli.<\/p>\n<p><em>Hoe gebruik jij de Kinsta API? Welke endpoints zou je graag toegevoegd zien aan de API? Welke Kinsta API gerelateerde tutorial zou je als volgende willen lezen?<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Continuous deployment is cruciaal geworden in het snel evoluerende landschap van softwareontwikkeling. Het belooft snellere releasecycli, minder menselijke fouten en uiteindelijk een betere gebruikerservaring. Softwaredevelopment is &#8230;<\/p>\n","protected":false},"author":287,"featured_media":55124,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[911,871],"class_list":["post-55123","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-api","topic-react"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Continuous deployment van React apps met CircleCI en Kinsta API<\/title>\n<meta name=\"description\" content=\"Voeg naadloos CI\/CD toe aan React projecten met behulp van CircleCI en de krachtige Kinsta API voor effici\u00ebnt ontwikkelen en deployen.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Continuous deployment van React apps met CircleCI en Kinsta API\" \/>\n<meta property=\"og:description\" content=\"Voeg naadloos CI\/CD toe aan React projecten met behulp van CircleCI en de krachtige Kinsta API voor effici\u00ebnt ontwikkelen en deployen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-21T12:00:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-25T11:25:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/08\/continuous-deployment-of-react-applications-with-circleci-and-kinsta-api.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Joel Olawanle\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Voeg naadloos CI\/CD toe aan React projecten met behulp van CircleCI en de krachtige Kinsta API voor effici\u00ebnt ontwikkelen en deployen.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/08\/continuous-deployment-of-react-applications-with-circleci-and-kinsta-api.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_NL\" \/>\n<meta name=\"twitter:label1\" content=\"Geschreven door\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"Continuous deployment van React apps met CircleCI en Kinsta API\",\"datePublished\":\"2023-08-21T12:00:27+00:00\",\"dateModified\":\"2023-09-25T11:25:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/\"},\"wordCount\":2074,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/08\/continuous-deployment-of-react-applications-with-circleci-and-kinsta-api.jpg\",\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/\",\"url\":\"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/\",\"name\":\"Continuous deployment van React apps met CircleCI en Kinsta API\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/08\/continuous-deployment-of-react-applications-with-circleci-and-kinsta-api.jpg\",\"datePublished\":\"2023-08-21T12:00:27+00:00\",\"dateModified\":\"2023-09-25T11:25:54+00:00\",\"description\":\"Voeg naadloos CI\/CD toe aan React projecten met behulp van CircleCI en de krachtige Kinsta API voor effici\u00ebnt ontwikkelen en deployen.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/08\/continuous-deployment-of-react-applications-with-circleci-and-kinsta-api.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/08\/continuous-deployment-of-react-applications-with-circleci-and-kinsta-api.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API\",\"item\":\"https:\/\/kinsta.com\/nl\/onderwerpen\/api\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Continuous deployment van React apps met CircleCI en Kinsta API\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/nl\/#website\",\"url\":\"https:\/\/kinsta.com\/nl\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Snelle, veilige, premium hostingoplossingen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/nl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/nl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\",\"https:\/\/x.com\/Kinsta_NL\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"caption\":\"Joel Olawanle\"},\"description\":\"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.\",\"sameAs\":[\"https:\/\/joelolawanle.com\/\",\"https:\/\/www.linkedin.com\/in\/olawanlejoel\/\",\"https:\/\/x.com\/olawanle_joel\",\"https:\/\/www.youtube.com\/@joelolawanle\"],\"gender\":\"male\",\"knowsAbout\":[\"JavaScript\",\"React\",\"Next.js\"],\"knowsLanguage\":[\"English\"],\"jobTitle\":\"Technical Editor\",\"worksFor\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/nl\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Continuous deployment van React apps met CircleCI en Kinsta API","description":"Voeg naadloos CI\/CD toe aan React projecten met behulp van CircleCI en de krachtige Kinsta API voor effici\u00ebnt ontwikkelen en deployen.","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:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/","og_locale":"nl_NL","og_type":"article","og_title":"Continuous deployment van React apps met CircleCI en Kinsta API","og_description":"Voeg naadloos CI\/CD toe aan React projecten met behulp van CircleCI en de krachtige Kinsta API voor effici\u00ebnt ontwikkelen en deployen.","og_url":"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","article_published_time":"2023-08-21T12:00:27+00:00","article_modified_time":"2023-09-25T11:25:54+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/08\/continuous-deployment-of-react-applications-with-circleci-and-kinsta-api.jpg","type":"image\/jpeg"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"Voeg naadloos CI\/CD toe aan React projecten met behulp van CircleCI en de krachtige Kinsta API voor effici\u00ebnt ontwikkelen en deployen.","twitter_image":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/08\/continuous-deployment-of-react-applications-with-circleci-and-kinsta-api.jpg","twitter_creator":"@olawanle_joel","twitter_site":"@Kinsta_NL","twitter_misc":{"Geschreven door":"Joel Olawanle","Geschatte leestijd":"12 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"Continuous deployment van React apps met CircleCI en Kinsta API","datePublished":"2023-08-21T12:00:27+00:00","dateModified":"2023-09-25T11:25:54+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/"},"wordCount":2074,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/08\/continuous-deployment-of-react-applications-with-circleci-and-kinsta-api.jpg","inLanguage":"nl-NL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/","url":"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/","name":"Continuous deployment van React apps met CircleCI en Kinsta API","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/08\/continuous-deployment-of-react-applications-with-circleci-and-kinsta-api.jpg","datePublished":"2023-08-21T12:00:27+00:00","dateModified":"2023-09-25T11:25:54+00:00","description":"Voeg naadloos CI\/CD toe aan React projecten met behulp van CircleCI en de krachtige Kinsta API voor effici\u00ebnt ontwikkelen en deployen.","breadcrumb":{"@id":"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/"]}]},{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/#primaryimage","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/08\/continuous-deployment-of-react-applications-with-circleci-and-kinsta-api.jpg","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/08\/continuous-deployment-of-react-applications-with-circleci-and-kinsta-api.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/nl\/blog\/react-continuous-deployment\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/nl\/"},{"@type":"ListItem","position":2,"name":"API","item":"https:\/\/kinsta.com\/nl\/onderwerpen\/api\/"},{"@type":"ListItem","position":3,"name":"Continuous deployment van React apps met CircleCI en Kinsta API"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/nl\/#website","url":"https:\/\/kinsta.com\/nl\/","name":"Kinsta\u00ae","description":"Snelle, veilige, premium hostingoplossingen","publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/nl\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/nl\/","logo":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","https:\/\/x.com\/Kinsta_NL","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","caption":"Joel Olawanle"},"description":"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.","sameAs":["https:\/\/joelolawanle.com\/","https:\/\/www.linkedin.com\/in\/olawanlejoel\/","https:\/\/x.com\/olawanle_joel","https:\/\/www.youtube.com\/@joelolawanle"],"gender":"male","knowsAbout":["JavaScript","React","Next.js"],"knowsLanguage":["English"],"jobTitle":"Technical Editor","worksFor":"Kinsta","url":"https:\/\/kinsta.com\/nl\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/55123","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/users\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/comments?post=55123"}],"version-history":[{"count":5,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/55123\/revisions"}],"predecessor-version":[{"id":55692,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/55123\/revisions\/55692"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/55123\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/55123\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/55123\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/55123\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/55123\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/55123\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/55123\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/55123\/translations\/es"},{"href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/55123\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media\/55124"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media?parent=55123"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/tags?post=55123"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/topic?post=55123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}