{"id":19322,"date":"2025-10-22T13:32:59","date_gmt":"2025-10-22T10:32:59","guid":{"rendered":"https:\/\/unihost.com\/help\/?p=19322"},"modified":"2025-10-22T13:33:00","modified_gmt":"2025-10-22T10:33:00","slug":"setting-up-a-basic-project-deployment-ci-cd","status":"publish","type":"post","link":"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/","title":{"rendered":"Setting up a basic project deployment (CI\/CD)"},"content":{"rendered":"<p data-start=\"0\" data-end=\"259\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">This guide shows how to quickly set up CI\/CD in GitLab \u2014 from creating a project and a test branch to registering a GitLab Runner and automatically deploying WordPress. This approach simplifies the development process and speeds up code updates on the server.<\/span><\/p>\n<p data-start=\"261\" data-end=\"347\" data-is-last-node=\"\" data-is-only-node=\"\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><strong data-start=\"261\" data-end=\"295\">To create a project in GitLab:<\/strong><\/span><br data-start=\"295\" data-end=\"298\" \/><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Go to <strong data-start=\"304\" data-end=\"347\" data-is-last-node=\"\">\u201cNew Project\u201d &gt; \u201cCreate blank Project.\u201d<\/strong><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19184 aligncenter\" src=\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-43-12.png\" alt=\"Setting up a basic project deployment (CI\/CD) - Image 1\" width=\"433\" height=\"254\" \/ title=\"Setting up a basic project deployment (CI\/CD) - Image 1\"><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19188 aligncenter\" src=\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-43-18.png\" alt=\"Setting up a basic project deployment (CI\/CD) - Image 2\" width=\"470\" height=\"218\" \/ title=\"Setting up a basic project deployment (CI\/CD) - Image 2\"><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Fill in all the required information to create your new project.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19192 aligncenter\" src=\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-43-26.png\" alt=\"Setting up a basic project deployment (CI\/CD) - Image 3\" width=\"681\" height=\"568\" \/ title=\"Setting up a basic project deployment (CI\/CD) - Image 3\"><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Once the repository is created, you need to create a test branch to add the WordPress files.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19196 aligncenter\" src=\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-43-33.png\" alt=\"Setting up a basic project deployment (CI\/CD) - Image 4\" width=\"922\" height=\"440\" \/ title=\"Setting up a basic project deployment (CI\/CD) - Image 4\"><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Click the <strong>+<\/strong> icon and select <strong>\u201cNew Branch.\u201d<\/strong><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19200 aligncenter\" src=\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-43-43.png\" alt=\"Setting up a basic project deployment (CI\/CD) - Image 5\" width=\"284\" height=\"288\" \/ title=\"Setting up a basic project deployment (CI\/CD) - Image 5\"><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Name the branch <strong>wp-test<\/strong> (as an example \u2014 you can choose any name) and click <strong>\u201cCreate branch.\u201d<\/strong><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19204 aligncenter\" src=\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-43-54.png\" alt=\"Setting up a basic project deployment (CI\/CD) - Image 6\" width=\"666\" height=\"214\" \/ title=\"Setting up a basic project deployment (CI\/CD) - Image 6\"><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">After that, switch to this branch:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19208 aligncenter\" src=\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-43-59.png\" alt=\"Setting up a basic project deployment (CI\/CD) - Image 7\" width=\"666\" height=\"214\" \/ title=\"Setting up a basic project deployment (CI\/CD) - Image 7\"><\/p>\n<p data-start=\"0\" data-end=\"62\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Go to your test branch and add the file<\/span><br data-start=\"39\" data-end=\"42\" \/><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><strong data-start=\"42\" data-end=\"60\">.gitlab-ci.yml<\/strong><\/span><\/p>\n<p data-start=\"64\" data-end=\"179\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Then create a <strong data-start=\"78\" data-end=\"89\">Docker\/<\/strong> directory and add the following files inside it:<\/span><br data-start=\"138\" data-end=\"141\" \/><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><strong data-start=\"141\" data-end=\"164\">wp-traefik.prod.yml<\/strong> and <strong data-start=\"169\" data-end=\"177\">.env<\/strong><\/span><\/p>\n<p data-start=\"181\" data-end=\"212\" data-is-last-node=\"\" data-is-only-node=\"\"><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Example:<strong data-start=\"181\" data-end=\"193\"><br \/>.gitlab-ci.yml<\/strong><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19212 aligncenter\" src=\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-44-06.png\" alt=\"Setting up a basic project deployment (CI\/CD) - Image 8\" width=\"824\" height=\"315\" \/ title=\"Setting up a basic project deployment (CI\/CD) - Image 8\"><\/p>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">Example: wp-traefik.prod.yml<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19216 aligncenter\" src=\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-44-16.png\" alt=\"Setting up a basic project deployment (CI\/CD) - Image 9\" width=\"544\" height=\"786\" \/ title=\"Setting up a basic project deployment (CI\/CD) - Image 9\"><\/p>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">Example: .env<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19220 aligncenter\" src=\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-44-26.png\" alt=\"Setting up a basic project deployment (CI\/CD) - Image 10\" width=\"347\" height=\"124\" \/ title=\"Setting up a basic project deployment (CI\/CD) - Image 10\"><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Now go to your <strong>production server<\/strong> to create a <strong>GitLab Runner<\/strong>, which will be used to upload your code to the target server.<\/span><br \/><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">On the production server, add the Docker image for the GitLab Runner:<\/span><\/p>\n<pre><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><i><span style=\"font-weight: 400;\">docker run -d --name gitlab-runner --restart always \\<\/span><\/i><\/span><br \/><br \/><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><i><span style=\"font-weight: 400;\">\u00a0\u00a0-v \/var\/run\/docker.sock:\/var\/run\/docker.sock \\<\/span><\/i><\/span><br \/><br \/><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><i><span style=\"font-weight: 400;\">\u00a0\u00a0-v \/gitlab-runner\/config:\/etc\/gitlab-runner \\<\/span><\/i><\/span><br \/><br \/><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><i><span style=\"font-weight: 400;\">\u00a0\u00a0gitlab\/gitlab-runner:latest<\/span><\/i><\/span><\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19224 aligncenter\" src=\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-44-36.png\" alt=\"Setting up a basic project deployment (CI\/CD) - Image 11\" width=\"621\" height=\"241\" \/ title=\"Setting up a basic project deployment (CI\/CD) - Image 11\"><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><span style=\"font-weight: 400;\">Also, create a network on the production server:<br \/><\/span><em><span style=\"font-weight: 400;\">docker network create web<\/span><\/em><\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><span style=\"font-weight: 400;\">To register the GitLab Runner, you need to obtain a token.<br \/>To do this, go to the following path:<br \/><\/span><span style=\"font-weight: 400;\">GitLab \u2192 <\/span><span style=\"font-weight: 400;\">Settings &gt; CI\/CD &gt; Runners &gt; Create project runner<\/span><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19228 aligncenter\" src=\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-44-44.png\" alt=\"Setting up a basic project deployment (CI\/CD) - Image 12\" width=\"1028\" height=\"510\" \/ title=\"Setting up a basic project deployment (CI\/CD) - Image 12\"><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">After that, start the registration of the GitLab Runner.<\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><i><span style=\"font-weight: 400;\">docker exec -it gitlab-runner gitlab-runner register<\/span><\/i><\/span><\/p>\n<p><span style=\"font-weight: 400; font-family: Ubuntu, sans-serif; font-size: 12pt;\">Enter the following information:<\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><i><span style=\"font-weight: 400;\">URL: https:\/\/gitlab.example.net<br \/><\/span><\/i><\/span><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><i><span style=\"font-weight: 400;\">Token: <\/span><\/i>&lt;token&gt;<i><span style=\"font-weight: 400;\"> obtained from GitLab<br \/><\/span><\/i><\/span><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><i><span style=\"font-weight: 400;\">Description: prod-runner<br \/><\/span><\/i><\/span><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><i><span style=\"font-weight: 400;\">Executor: docker<br \/><\/span><\/i><\/span><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><i><span style=\"font-weight: 400;\">Default image: php:8.2-apache<\/span><\/i><\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Verify the registration by running:<\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><i><span style=\"font-weight: 400;\">docker exec -it gitlab-runner gitlab-runner verify<\/span><\/i><\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">The output should be:<\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><i><span style=\"font-weight: 400;\">Verifying runner&#8230; is valid<\/span><\/i><\/span><i><\/i><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">Once our runner has passed validation and successfully connected to GitLab, proceed to merge the test branch with <strong>main<\/strong> \u2014 click <strong>\u201cCreate merge request.\u201d<\/strong><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19232 aligncenter\" src=\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-44-54.png\" alt=\"Setting up a basic project deployment (CI\/CD) - Image 13\" width=\"495\" height=\"78\" \/ title=\"Setting up a basic project deployment (CI\/CD) - Image 13\"><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">After that, the tests and code deployment to the production server will start. Once the process is complete, you\u2019ll have a fully functional WordPress website.<\/span><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19236\" src=\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-45-01.png\" alt=\"Setting up a basic project deployment (CI\/CD) - Image 14\" width=\"808\" height=\"657\" \/ title=\"Setting up a basic project deployment (CI\/CD) - Image 14\"> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19240\" src=\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-45-09.png\" alt=\"Setting up a basic project deployment (CI\/CD) - Image 15\" width=\"1029\" height=\"287\" \/ title=\"Setting up a basic project deployment (CI\/CD) - Image 15\"> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-19244\" src=\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-45-18.png\" alt=\"Setting up a basic project deployment (CI\/CD) - Image 16\" width=\"966\" height=\"432\" \/ title=\"Setting up a basic project deployment (CI\/CD) - Image 16\"><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\"><strong>Conclusion<\/strong><\/span><\/p>\n<p><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">By following all the steps, you have set up a fully functional CI\/CD pipeline in GitLab for your project.<\/span><br \/><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">The created pipeline automatically builds and deploys the application with every change in the repository, while the GitLab Runner executes tasks without manual intervention.<\/span><br \/><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">This approach speeds up development, reduces the risk of errors, and ensures stable code deployment to the server.<\/span><br \/><span style=\"font-family: Ubuntu, sans-serif; font-size: 12pt;\">You can now expand your pipeline configuration by adding testing, security checks, or automatic Docker container updates \u2014 depending on your project\u2019s needs.<\/span><\/p>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This guide shows how to quickly set up CI\/CD in GitLab \u2014 from creating a project and a test branch to registering a GitLab Runner and automatically deploying WordPress. This approach simplifies the development process and speeds up code updates on the server. To create a project in GitLab:Go to \u201cNew Project\u201d &gt; \u201cCreate blank [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[158,595],"tags":[],"class_list":["post-19322","post","type-post","status-publish","format-standard","hentry","category-dedicated-servers","category-kvm-en"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Setting up a basic project deployment (CI\/CD) - Unihost.FAQ<\/title>\n<meta name=\"description\" content=\"This guide shows how to quickly set up CI\/CD in GitLab \u2014 from creating a project and a test branch to registering a GitLab Runner and automatically deploying WordPress. This approach simplifies the development process and speeds up code updates on the server.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Setting up a basic project deployment (CI\/CD) - Unihost.FAQ\" \/>\n<meta property=\"og:description\" content=\"This guide shows how to quickly set up CI\/CD in GitLab \u2014 from creating a project and a test branch to registering a GitLab Runner and automatically deploying WordPress. This approach simplifies the development process and speeds up code updates on the server.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/\" \/>\n<meta property=\"og:site_name\" content=\"Unihost.FAQ\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/unihost\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-22T10:32:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-22T10:33:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-43-12.png\" \/>\n\t<meta property=\"og:image:width\" content=\"433\" \/>\n\t<meta property=\"og:image:height\" content=\"254\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Unihost Support\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@unihost\" \/>\n<meta name=\"twitter:site\" content=\"@unihost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Unihost Support\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/\"},\"author\":{\"name\":\"Unihost Support\",\"@id\":\"https:\/\/unihost.com\/help\/#\/schema\/person\/bb5ae95f38577c920e6a7507888b715a\"},\"headline\":\"Setting up a basic project deployment (CI\/CD)\",\"datePublished\":\"2025-10-22T10:32:59+00:00\",\"dateModified\":\"2025-10-22T10:33:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/\"},\"wordCount\":429,\"publisher\":{\"@id\":\"https:\/\/unihost.com\/help\/#organization\"},\"image\":{\"@id\":\"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-43-12.png\",\"articleSection\":[\"02. Dedicated servers\",\"03. KVM VPS\"],\"inLanguage\":\"en\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/\",\"url\":\"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/\",\"name\":\"Setting up a basic project deployment (CI\/CD) - Unihost.FAQ\",\"isPartOf\":{\"@id\":\"https:\/\/unihost.com\/help\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-43-12.png\",\"datePublished\":\"2025-10-22T10:32:59+00:00\",\"dateModified\":\"2025-10-22T10:33:00+00:00\",\"description\":\"This guide shows how to quickly set up CI\/CD in GitLab \u2014 from creating a project and a test branch to registering a GitLab Runner and automatically deploying WordPress. This approach simplifies the development process and speeds up code updates on the server.\",\"breadcrumb\":{\"@id\":\"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/#primaryimage\",\"url\":\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-43-12.png\",\"contentUrl\":\"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-43-12.png\",\"width\":433,\"height\":254},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Unihost\",\"item\":\"https:\/\/unihost.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Help\",\"item\":\"https:\/\/unihost.com\/help\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Setting up a basic project deployment (CI\/CD)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/unihost.com\/help\/#website\",\"url\":\"https:\/\/unihost.com\/help\/\",\"name\":\"Unihost.FAQ\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/unihost.com\/help\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/unihost.com\/help\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/unihost.com\/help\/#organization\",\"name\":\"Unihost\",\"alternateName\":\"Unihost\",\"url\":\"https:\/\/unihost.com\/help\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\/\/unihost.com\/help\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/unihost.com\/help\/minio.php?2026\/01\/minio.png\",\"contentUrl\":\"https:\/\/unihost.com\/help\/minio.php?2026\/01\/minio.png\",\"width\":300,\"height\":300,\"caption\":\"Unihost\"},\"image\":{\"@id\":\"https:\/\/unihost.com\/help\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/unihost\/\",\"https:\/\/x.com\/unihost\",\"https:\/\/www.instagram.com\/unihost\/?hl=en\",\"https:\/\/www.linkedin.com\/company\/unihost-com\",\"https:\/\/www.youtube.com\/channel\/UCITKsxMDnslQY8brN3advgw\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/unihost.com\/help\/#\/schema\/person\/bb5ae95f38577c920e6a7507888b715a\",\"name\":\"Unihost Support\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\/\/unihost.com\/help\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a0c9db17c2a0d93e8a0d5ac123f8c5db750ad4d3d5657369c0c4e480f5af77b8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a0c9db17c2a0d93e8a0d5ac123f8c5db750ad4d3d5657369c0c4e480f5af77b8?s=96&d=mm&r=g\",\"caption\":\"Unihost Support\"},\"sameAs\":[\"https:\/\/unihost.com\/\"],\"url\":\"https:\/\/unihost.com\/help\/author\/support\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Setting up a basic project deployment (CI\/CD) - Unihost.FAQ","description":"This guide shows how to quickly set up CI\/CD in GitLab \u2014 from creating a project and a test branch to registering a GitLab Runner and automatically deploying WordPress. This approach simplifies the development process and speeds up code updates on the server.","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:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/","og_locale":"en_US","og_type":"article","og_title":"Setting up a basic project deployment (CI\/CD) - Unihost.FAQ","og_description":"This guide shows how to quickly set up CI\/CD in GitLab \u2014 from creating a project and a test branch to registering a GitLab Runner and automatically deploying WordPress. This approach simplifies the development process and speeds up code updates on the server.","og_url":"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/","og_site_name":"Unihost.FAQ","article_publisher":"https:\/\/www.facebook.com\/unihost\/","article_published_time":"2025-10-22T10:32:59+00:00","article_modified_time":"2025-10-22T10:33:00+00:00","og_image":[{"width":433,"height":254,"url":"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-43-12.png","type":"image\/png"}],"author":"Unihost Support","twitter_card":"summary_large_image","twitter_creator":"@unihost","twitter_site":"@unihost","twitter_misc":{"Written by":"Unihost Support","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/#article","isPartOf":{"@id":"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/"},"author":{"name":"Unihost Support","@id":"https:\/\/unihost.com\/help\/#\/schema\/person\/bb5ae95f38577c920e6a7507888b715a"},"headline":"Setting up a basic project deployment (CI\/CD)","datePublished":"2025-10-22T10:32:59+00:00","dateModified":"2025-10-22T10:33:00+00:00","mainEntityOfPage":{"@id":"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/"},"wordCount":429,"publisher":{"@id":"https:\/\/unihost.com\/help\/#organization"},"image":{"@id":"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/#primaryimage"},"thumbnailUrl":"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-43-12.png","articleSection":["02. Dedicated servers","03. KVM VPS"],"inLanguage":"en"},{"@type":"WebPage","@id":"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/","url":"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/","name":"Setting up a basic project deployment (CI\/CD) - Unihost.FAQ","isPartOf":{"@id":"https:\/\/unihost.com\/help\/#website"},"primaryImageOfPage":{"@id":"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/#primaryimage"},"image":{"@id":"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/#primaryimage"},"thumbnailUrl":"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-43-12.png","datePublished":"2025-10-22T10:32:59+00:00","dateModified":"2025-10-22T10:33:00+00:00","description":"This guide shows how to quickly set up CI\/CD in GitLab \u2014 from creating a project and a test branch to registering a GitLab Runner and automatically deploying WordPress. This approach simplifies the development process and speeds up code updates on the server.","breadcrumb":{"@id":"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/"]}]},{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/#primaryimage","url":"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-43-12.png","contentUrl":"https:\/\/unihost.com\/help\/minio.php?2025\/10\/Screenshot-from-2025-10-15-12-43-12.png","width":433,"height":254},{"@type":"BreadcrumbList","@id":"https:\/\/unihost.com\/help\/setting-up-a-basic-project-deployment-ci-cd\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Unihost","item":"https:\/\/unihost.com\/"},{"@type":"ListItem","position":2,"name":"Help","item":"https:\/\/unihost.com\/help\/"},{"@type":"ListItem","position":3,"name":"Setting up a basic project deployment (CI\/CD)"}]},{"@type":"WebSite","@id":"https:\/\/unihost.com\/help\/#website","url":"https:\/\/unihost.com\/help\/","name":"Unihost.FAQ","description":"","publisher":{"@id":"https:\/\/unihost.com\/help\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/unihost.com\/help\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"},{"@type":"Organization","@id":"https:\/\/unihost.com\/help\/#organization","name":"Unihost","alternateName":"Unihost","url":"https:\/\/unihost.com\/help\/","logo":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/unihost.com\/help\/#\/schema\/logo\/image\/","url":"https:\/\/unihost.com\/help\/minio.php?2026\/01\/minio.png","contentUrl":"https:\/\/unihost.com\/help\/minio.php?2026\/01\/minio.png","width":300,"height":300,"caption":"Unihost"},"image":{"@id":"https:\/\/unihost.com\/help\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/unihost\/","https:\/\/x.com\/unihost","https:\/\/www.instagram.com\/unihost\/?hl=en","https:\/\/www.linkedin.com\/company\/unihost-com","https:\/\/www.youtube.com\/channel\/UCITKsxMDnslQY8brN3advgw"]},{"@type":"Person","@id":"https:\/\/unihost.com\/help\/#\/schema\/person\/bb5ae95f38577c920e6a7507888b715a","name":"Unihost Support","image":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/unihost.com\/help\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a0c9db17c2a0d93e8a0d5ac123f8c5db750ad4d3d5657369c0c4e480f5af77b8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a0c9db17c2a0d93e8a0d5ac123f8c5db750ad4d3d5657369c0c4e480f5af77b8?s=96&d=mm&r=g","caption":"Unihost Support"},"sameAs":["https:\/\/unihost.com\/"],"url":"https:\/\/unihost.com\/help\/author\/support\/"}]}},"_links":{"self":[{"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/posts\/19322","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/comments?post=19322"}],"version-history":[{"count":4,"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/posts\/19322\/revisions"}],"predecessor-version":[{"id":19349,"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/posts\/19322\/revisions\/19349"}],"wp:attachment":[{"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/media?parent=19322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/categories?post=19322"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unihost.com\/help\/wp-json\/wp\/v2\/tags?post=19322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}