CINXE.COM
From Repository | Docs | IONOS Deploy Now
<!DOCTYPE html> <html data-html-server-rendered="true" lang="en" data-vue-tag="%7B%22lang%22:%7B%22ssr%22:%22en%22%7D%7D"> <head> <title>From Repository | Docs | IONOS Deploy Now</title><meta name="gridsome:hash" content="6ad96c346b61bc3b7f03a8aab8ff2b0f6e92a6bd"><meta data-vue-tag="ssr" charset="utf-8"><meta data-vue-tag="ssr" name="generator" content="Gridsome v0.7.23"><meta data-vue-tag="ssr" data-key="viewport" name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"><meta data-vue-tag="ssr" data-key="format-detection" name="format-detection" content="telephone=no"><meta data-vue-tag="ssr" name="google-site-verification" content="UtLaJ4v0UZBDPJVc8DqCyiUPSSz9TtMroKmflhpH2eo"><meta data-vue-tag="ssr" data-key="og:url" name="og:url" content="undefined/team/robin-mueller/"><meta data-vue-tag="ssr" data-key="description" name="description" content="Deploy Now is a platform for building and hosting Static Site Generators and Single Page Applications on inhouse engineered IONOS infrastructure."><meta data-vue-tag="ssr" name="description" content="Step by step guide about how to create a new project in Deploy Now when starting with an existing repository."><meta data-vue-tag="ssr" data-key="og:title" name="og:title" content="From Repository | Docs"><meta data-vue-tag="ssr" data-key="og:description" name="og:description" content="Step by step guide about how to create a new project in Deploy Now when starting with an existing repository."><meta data-vue-tag="ssr" data-key="twitter:title" name="twitter:title" content="From Repository | Docs"><meta data-vue-tag="ssr" data-key="twitter:description" name="twitter:description" content="Step by step guide about how to create a new project in Deploy Now when starting with an existing repository."><meta data-vue-tag="ssr" data-key="og:type" name="og:type" content="website"><meta data-vue-tag="ssr" data-key="twitter:card" name="twitter:card" content="summary_large_image"><meta data-vue-tag="ssr" data-key="og:image" name="og:image" content="https://docs.ionos.space/favicon.png"><meta data-vue-tag="ssr" data-key="twitter:image" name="twitter:image" content="https://docs.ionos.space/favicon.png"><link data-vue-tag="ssr" rel="icon" href="data:,"><link data-vue-tag="ssr" rel="icon" type="image/png" sizes="16x16" href="/assets/static/favicon.ce0531f.7227131fb676627f66f79aa1b9b1b2b5.png"><link data-vue-tag="ssr" rel="icon" type="image/png" sizes="32x32" href="/assets/static/favicon.ac8d93a.7227131fb676627f66f79aa1b9b1b2b5.png"><link data-vue-tag="ssr" rel="icon" type="image/png" sizes="96x96" href="/assets/static/favicon.b9532cc.7227131fb676627f66f79aa1b9b1b2b5.png"><link data-vue-tag="ssr" rel="apple-touch-icon-precomposed" type="image/png" sizes="76x76" href="/assets/static/favicon.f22e9f3.7227131fb676627f66f79aa1b9b1b2b5.png"><link data-vue-tag="ssr" rel="apple-touch-icon-precomposed" type="image/png" sizes="120x120" href="/assets/static/favicon.1539b60.7227131fb676627f66f79aa1b9b1b2b5.png"><link rel="preload" href="/assets/css/0.styles.20d902e6.css" as="style"><link rel="preload" href="/assets/js/app.1420e6f5.js" as="script"><link rel="preload" href="/assets/js/page--src--templates--markdown-page-vue.f5d097cb.js" as="script"><link rel="prefetch" href="/assets/js/page--src--pages--404-vue.b12f5170.js"><link rel="prefetch" href="/assets/js/page--src--pages--about-us-vue.3adebecf.js"><link rel="prefetch" href="/assets/js/page--src--pages--blog-vue.751bc822.js"><link rel="prefetch" href="/assets/js/page--src--pages--index-vue.8e23d7d5.js"><link rel="prefetch" href="/assets/js/search.651a1d13.js"><link rel="prefetch" href="/assets/js/vendors~search.706d69fe.js"><link rel="stylesheet" href="/assets/css/0.styles.20d902e6.css"><script data-vue-tag="ssr" type="text/javascript" src="/assets/js/service-worker.js" async></script><script data-vue-tag="ssr" type="application/ld+json">{"@context":"https://schema.org","@type":"BlogPosting","headline":"From Repository","mainEntityOfPage":{"@type":"WebPage","@id":"/docs/from-repo/"},"publisher":{"@type":"Organization","name":"IONOS SE"},"articleBody":"<h1 id=\"from-repository\"><a href=\"#from-repository\" aria-hidden=\"true\"><span class=\"icon icon-link\"></span></a>From Repository</h1>\n<p>Already have an existing project you wish to set up? Simply create a new deployment by following our wizard.</p>\n<p><img src=\"/03_From_existing_repository_flat.gif\" alt=\"From existing repository\"></p>\n<p><em>Not what you are looking for? <a href=\"/docs/framework-samples/\">Start from a sample</a> or <a href=\"/docs/from-cmd-line/\">start from the command line</a>.</em></p>\n<ol>\n<li><strong>Connect your GitHub account</strong> </li>\n</ol>\n<p>After you have <a href=\"https://ionos.space/?utm_source=deploy-now-docs&utm_medium=doc-content&utm_campaign=setup-guides\" target=\"_blank\" rel=\"noopener noreferrer\">signed up for Deploy Now</a>, we'll need your permission to install the <a href=\"https://github.com/apps/ionos-deploy-now\" target=\"_blank\" rel=\"noopener noreferrer\">IONOS Deploy Now App</a> to your repositories. You can either grant access to selected or all repositories in your account. You can edit or revoke these permissions any time.</p>\n<ol start=\"2\">\n<li><strong>Select your deployment source</strong></li>\n</ol>\n<p>Select a public or private repository from your GitHub account or paste in a link to a third party repository. Third party repositories are copied to a new source repository in your GitHub account. You will be asked for a name for this new source repository. </p>\n<ol start=\"3\">\n<li><strong>Confirm detected framework</strong></li>\n</ol>\n<p>Deploy Now scans your repository to detect the framework you are using to prefill all workflow settings. You will be asked to confirm the detected framework or to clarify which framework you are using if we cannot identify your framework. If you are deploying a static site generator, single page application or simply a plain HTML website, you can proceed with a Static Project in this step. If your project requires a PHP runtime or a database, please continue with a PHP project. </p>\n<ol start=\"4\">\n<li><strong>Build settings</strong></li>\n</ol>\n<p><img src=\"/02_From_sample_build_flat.gif\" alt=\"Configure your build steps\"></p>\n<p>Your build steps will be prefilled based on the detected framework. You can add node, composer or bundler steps or execute any other script or command. Define versions for each build step, add build commands and set environment variables. You can change the order of your build steps via drag and drop. Each project can have exactly one publish directory. The files of this directory will be deployed to the infrastructure after the build step.</p>\n<p><a href=\"/docs/github-actions-customization\">More about build settings</a></p>\n<ol start=\"5\">\n<li><strong>Runtime settings</strong></li>\n</ol>\n<p>In case you are creating a PHP project, you need to specify a PHP version for the runtime. This step does not exist for Static projects. Please note that your web project will run on a different machine than your build pipeline. Build environment variables are not available after the deployment. Instead, you can create runtime secrets via the UI and refer to their values in the configuration file form by adding a <code>$</code> in front of the key. These secrets will be stored in GitHub secrets. Deploy Now automatically creates a set of keys required for connecting to the database. Their values can be referenced by a <code>$</code> in front of the key as well and will be created dynamically during the deployment.</p>\n<p><a href=\"/docs/runtime-configuration\">More about runtime settings</a></p>\n<ol start=\"6\">\n<li><strong>Deployment settings</strong></li>\n</ol>\n<p>After your web project builds, results will be automatically deployed to IONOS infrastructure. In case you are creating a PHP project, you might want to execute commands on your runtime or keep certain files persistent. In this step, you can specify both for the bootstrap deployment, i.e. the initial creation of your project, and any recurring deployment after that. Pre deployment remote commands are executed before new files are moved to the server. Post deployment remote commands are executed afterwards. Excluded paths are prevented from being overwritten by new deployments.</p>\n<p><a href=\"/docs/deployment-configuration\">More about deployment settings</a></p>\n<ol start=\"7\">\n<li><strong>Review your settings</strong> </li>\n</ol>\n<p>Take your time and review your settings before creating the project. You can still make changes to the configuration after the project creation, as described in the configuration section of the docs.</p>\n<ol start=\"8\">\n<li><strong>Congrats! Your project gets built</strong> </li>\n</ol>\n<p>After completing the setup, we automatically trigger the first build and deployment. We connect your project to a preview URL.</p>\n<ol start=\"9\">\n<li><strong>Just git push and your updates go live</strong> </li>\n</ol>\n<p>Deploy Now will now trigger deployments on every git commit to your repository. You can open <a href=\"/docs/staging-deployments/\">staging deployments</a> to deploy multiple branches and connect a <a href=\"/docs/domain-tls/\">custom domain</a> to your production deployment.</p>\n"}</script><noscript data-vue-tag="ssr"><style>.g-image--loading{display:none;}</style></noscript> </head> <body > <div data-server-rendered="true" id="app" class="font-sans antialiased text-ui-typo bg-ui-background"><div class="flex flex-col justify-start min-h-screen bg-ui-background"><header class="sticky top-0 z-10 w-full border-b border-ui-border"><div class="px-4 py-2 bg-ui-background min-h-[60px]"><div class="flex justify-between items-center"><div class="flex-center"><a href="/" title="Home" class="flex-center mr-2 sm:mr-12 active"><img src="/logo.svg" alt="Deploy Now logo" class="h-8 mr-2 deploy-now-logo"><div class="text-ui-headline font-headline font-semibold no-wrap hidden sm:block md:text-2xl"></div></a><div class="hidden xl:block"><a href="/docs/" class="p-2 mx-2 font-semibold font-headline text-ui-primary hover:text-ui-secondary dark:hover:text-white active"> Docs </a><a href="/docs/faq/" class="p-2 mx-2 font-semibold font-headline text-ui-primary hover:text-ui-secondary dark:hover:text-white"> FAQ </a><a href="/blog/" class="p-2 mx-2 font-semibold font-headline text-ui-primary hover:text-ui-secondary dark:hover:text-white"> Blog </a><a href="/about-us/" class="p-2 mx-2 font-semibold font-headline text-ui-primary hover:text-ui-secondary dark:hover:text-white"> About us </a><a href="https://www.ionos.com/hosting/deploy-now?utm_source=deploy-now-docs&utm_medium=navigation&utm_campaign=sign-up#pricing" target="_blank" rel="noopener" class="p-2 mx-2 font-semibold font-headline text-ui-primary hover:text-ui-secondary dark:hover:text-white"> Pricing </a></div></div><div class="p-3 lg:p-0 max-w-screen-xs <lg:ml-auto"><!----></div><div class="flex-center lg:space-x-8"><a href="https://github.com/ionos-deploy-now/documentation//tree/main" target="_blank" rel="noopener noreferrer" title="Github" class="icon p-2"><span aria-hidden="true" role="img" class="material-design-icon github-icon icon icon-lg"><svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24" class="material-design-icon__svg"><path d="M12,2A10,10 0 0,0 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12A10,10 0 0,0 12,2Z"><!----></path></svg></span></a><button aria-label="Toggle darkmode" title="Toggle darkmode" class="icon icon icon-lg p-2"><span aria-hidden="true" role="img" class="material-design-icon theme-light-dark-icon icon-lg"><svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24" class="material-design-icon__svg"><path d="M7.5,2C5.71,3.15 4.5,5.18 4.5,7.5C4.5,9.82 5.71,11.85 7.53,13C4.46,13 2,10.54 2,7.5A5.5,5.5 0 0,1 7.5,2M19.07,3.5L20.5,4.93L4.93,20.5L3.5,19.07L19.07,3.5M12.89,5.93L11.41,5L9.97,6L10.39,4.3L9,3.24L10.75,3.12L11.33,1.47L12,3.1L13.73,3.13L12.38,4.26L12.89,5.93M9.59,9.54L8.43,8.81L7.31,9.59L7.65,8.27L6.56,7.44L7.92,7.35L8.37,6.06L8.88,7.33L10.24,7.36L9.19,8.23L9.59,9.54M19,13.5A5.5,5.5 0 0,1 13.5,19C12.28,19 11.15,18.6 10.24,17.93L17.93,10.24C18.6,11.15 19,12.28 19,13.5M14.6,20.08L17.37,18.93L17.13,22.28L14.6,20.08M18.93,17.38L20.08,14.61L22.28,17.15L18.93,17.38M20.08,12.42L18.94,9.64L22.28,9.88L20.08,12.42M9.63,18.93L12.4,20.08L9.87,22.27L9.63,18.93Z"><!----></path></svg></span></button><a href="https://ionos.space" target="_blank" rel="noopener noreferrer" title="Website" class="btn btn-primary ml-4 hide-mobile"><span aria-hidden="true" role="img" class="material-design-icon open-in-new-icon icon"><svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24" class="material-design-icon__svg"><path d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z"><!----></path></svg></span> Deploy Now </a><button class="icon p-2 text-ui-typo active:text-ui-typo lg:hidden"><span aria-hidden="true" role="img" class="material-design-icon menu-icon icon icon-lg"><svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24" class="material-design-icon__svg"><path d="M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z"><!----></path></svg></span></button></div></div></div></header><main class="relative justify-center bg-ui-background"><aside class="sidebar lg:hidden" style="top:0px;height:calc(100vh - 0px);"><div class="w-full pb-16 bg-ui-background"><div class="px-4 pt-8 lg:pt-12"><div class="pb-4 mb-4 border-ui-border border-b"><h3 class="pt-0 mt-0 mb-1 text-sm tracking-tight uppercase border-none"> Getting Started </h3><ul class="max-w-full pl-2 mb-0"><li id="/docs/"><a href="/docs/" class="flex items-center py-1 font-semibold active"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> Introduction </a></li><li id="/docs/framework-samples/"><a href="/docs/framework-samples/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> From Sample </a></li><li id="/docs/from-cmd-line/"><a href="/docs/from-cmd-line/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> From Command Line </a></li><li id="/docs/from-repo/" class="text-ui-primary"><a href="/docs/from-repo/" aria-current="page" class="flex items-center py-1 font-semibold active--exact active"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center opacity-100 scale-100"></span> From Repository </a></li></ul></div><div class="pb-4 mb-4 border-ui-border border-b"><h3 class="pt-0 mt-0 mb-1 text-sm tracking-tight uppercase border-none"> Stacks </h3><ul class="max-w-full pl-2 mb-0"><li id="/docs/deploy-static-sites/"><a href="/docs/deploy-static-sites/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> Deploy Static Sites via GitHub </a></li><li id="/docs/deploy-php-apps/"><a href="/docs/deploy-php-apps/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> Deploy PHP Apps via GitHub </a></li></ul></div><div class="pb-4 mb-4 border-ui-border border-b"><h3 class="pt-0 mt-0 mb-1 text-sm tracking-tight uppercase border-none"> Configuration </h3><ul class="max-w-full pl-2 mb-0"><li id="/docs/github-actions-customization/"><a href="/docs/github-actions-customization/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> Build configuration </a></li><li id="/docs/deployment-configuration/"><a href="/docs/deployment-configuration/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> Deployment configuration </a></li><li id="/docs/runtime-configuration/"><a href="/docs/runtime-configuration/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> Runtime configuration </a></li><li id="/docs/apache-configuration-htaccess/"><a href="/docs/apache-configuration-htaccess/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> Apache configuration: .htaccess </a></li></ul></div><div class="pb-4 mb-4 border-ui-border border-b"><h3 class="pt-0 mt-0 mb-1 text-sm tracking-tight uppercase border-none"> Features </h3><ul class="max-w-full pl-2 mb-0"><li id="/docs/git-integration/"><a href="/docs/git-integration/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> GitHub integration </a></li><li id="/docs/staging-deployments/"><a href="/docs/staging-deployments/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> Staging deployments </a></li><li id="/docs/multi-deployments/"><a href="/docs/multi-deployments/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> Multi deployments </a></li><li id="/docs/database/"><a href="/docs/database/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> Database </a></li><li id="/docs/domain-tls/"><a href="/docs/domain-tls/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> Domains and TLS </a></li><li id="/docs/deployment-viewer/"><a href="/docs/deployment-viewer/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> View files and logs </a></li><li id="/docs/visitor-statistics/"><a href="/docs/visitor-statistics/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> Visitor statistics </a></li><li id="/docs/cronjobs/"><a href="/docs/cronjobs/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> Cron jobs </a></li></ul></div><div class="pb-4 mb-4 border-ui-border"><h3 class="pt-0 mt-0 mb-1 text-sm tracking-tight uppercase border-none"> More </h3><ul class="max-w-full pl-2 mb-0"><li id="/docs/faq/"><a href="/docs/faq/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> Frequently Asked Questions </a></li><li id="/blog/"><a href="/blog/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> Blog </a></li><li id="/about-us/"><a href="/about-us/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> About us </a></li><li id="/docs/create-sample/"><a href="/docs/create-sample/" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> Create a sample </a></li><li id="https://github.com/ionos-deploy-now/ionos-deploy-now/blob/main/CHANGELOG.md"><a href="https://github.com/ionos-deploy-now/ionos-deploy-now/blob/main/CHANGELOG.md" target="_blank" rel="noopener" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> Changelog </a></li><li id="https://github.com/ionos-deploy-now/ionos-deploy-now/issues/new/choose"><a href="https://github.com/ionos-deploy-now/ionos-deploy-now/issues/new/choose" target="_blank" rel="noopener" class="flex items-center py-1 font-semibold"><span class="absolute w-1 h-4 -ml-3 opacity-0 bg-ui-primary transition transform scale-0 origin-center"></span> Request a feature </a></li></ul></div></div></div></aside><div class="grid grid-cols-1"><div class="flex flex-wrap justify-start"><div class="<md:hidden lg:w-1/5 lg:order-2 overflow-y-auto" style="top:0px;height:calc(100vh - 0px);"><!----></div><div class="container pb-24 <md:max-w-[90vw] lg:w-3/5 lg:order-1"><div><div class="content"><h1 id="from-repository"><a href="#from-repository" aria-hidden="true"><span class="icon icon-link"></span></a>From Repository</h1> <p>Already have an existing project you wish to set up? Simply create a new deployment by following our wizard.</p> <p><img src="/03_From_existing_repository_flat.gif" alt="From existing repository"></p> <p><em>Not what you are looking for? <a href="/docs/framework-samples/">Start from a sample</a> or <a href="/docs/from-cmd-line/">start from the command line</a>.</em></p> <ol> <li><strong>Connect your GitHub account</strong> </li> </ol> <p>After you have <a href="https://ionos.space/?utm_source=deploy-now-docs&utm_medium=doc-content&utm_campaign=setup-guides" target="_blank" rel="noopener noreferrer">signed up for Deploy Now</a>, we'll need your permission to install the <a href="https://github.com/apps/ionos-deploy-now" target="_blank" rel="noopener noreferrer">IONOS Deploy Now App</a> to your repositories. You can either grant access to selected or all repositories in your account. You can edit or revoke these permissions any time.</p> <ol start="2"> <li><strong>Select your deployment source</strong></li> </ol> <p>Select a public or private repository from your GitHub account or paste in a link to a third party repository. Third party repositories are copied to a new source repository in your GitHub account. You will be asked for a name for this new source repository. </p> <ol start="3"> <li><strong>Confirm detected framework</strong></li> </ol> <p>Deploy Now scans your repository to detect the framework you are using to prefill all workflow settings. You will be asked to confirm the detected framework or to clarify which framework you are using if we cannot identify your framework. If you are deploying a static site generator, single page application or simply a plain HTML website, you can proceed with a Static Project in this step. If your project requires a PHP runtime or a database, please continue with a PHP project. </p> <ol start="4"> <li><strong>Build settings</strong></li> </ol> <p><img src="/02_From_sample_build_flat.gif" alt="Configure your build steps"></p> <p>Your build steps will be prefilled based on the detected framework. You can add node, composer or bundler steps or execute any other script or command. Define versions for each build step, add build commands and set environment variables. You can change the order of your build steps via drag and drop. Each project can have exactly one publish directory. The files of this directory will be deployed to the infrastructure after the build step.</p> <p><a href="/docs/github-actions-customization">More about build settings</a></p> <ol start="5"> <li><strong>Runtime settings</strong></li> </ol> <p>In case you are creating a PHP project, you need to specify a PHP version for the runtime. This step does not exist for Static projects. Please note that your web project will run on a different machine than your build pipeline. Build environment variables are not available after the deployment. Instead, you can create runtime secrets via the UI and refer to their values in the configuration file form by adding a <code>$</code> in front of the key. These secrets will be stored in GitHub secrets. Deploy Now automatically creates a set of keys required for connecting to the database. Their values can be referenced by a <code>$</code> in front of the key as well and will be created dynamically during the deployment.</p> <p><a href="/docs/runtime-configuration">More about runtime settings</a></p> <ol start="6"> <li><strong>Deployment settings</strong></li> </ol> <p>After your web project builds, results will be automatically deployed to IONOS infrastructure. In case you are creating a PHP project, you might want to execute commands on your runtime or keep certain files persistent. In this step, you can specify both for the bootstrap deployment, i.e. the initial creation of your project, and any recurring deployment after that. Pre deployment remote commands are executed before new files are moved to the server. Post deployment remote commands are executed afterwards. Excluded paths are prevented from being overwritten by new deployments.</p> <p><a href="/docs/deployment-configuration">More about deployment settings</a></p> <ol start="7"> <li><strong>Review your settings</strong> </li> </ol> <p>Take your time and review your settings before creating the project. You can still make changes to the configuration after the project creation, as described in the configuration section of the docs.</p> <ol start="8"> <li><strong>Congrats! Your project gets built</strong> </li> </ol> <p>After completing the setup, we automatically trigger the first build and deployment. We connect your project to a preview URL.</p> <ol start="9"> <li><strong>Just git push and your updates go live</strong> </li> </ol> <p>Deploy Now will now trigger deployments on every git commit to your repository. You can open <a href="/docs/staging-deployments/">staging deployments</a> to deploy multiple branches and connect a <a href="/docs/domain-tls/">custom domain</a> to your production deployment.</p> </div><div class="mt-10"><a href="https://github.com/ionos-deploy-now/documentation//edit/main/content/docs/from-repo.md" target="_blank" rel="noopener noreferrer" class="flex items-center opacity-50 hover:opacity-100 hover:no-underline"><span aria-hidden="true" role="img" decorative="" class="material-design-icon pencil-outline-icon"><svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24" class="material-design-icon__svg"><path d="M14.06,9L15,9.94L5.92,19H5V18.08L14.06,9M17.66,3C17.41,3 17.15,3.1 16.96,3.29L15.13,5.12L18.88,8.87L20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18.17,3.09 17.92,3 17.66,3M14.06,6.19L3,17.25V21H6.75L17.81,9.94L14.06,6.19Z"><!----></path></svg></span><span class="ml-1"> Suggest changes to this page </span></a></div><div class="mt-8 pt-8 lg:mt-12 lg:pt-12 border-t border-ui-border"><div class="flex justify-between items-stretch space-x-2"><a href="/docs/from-cmd-line/" class="btn btn-hover"><span aria-hidden="true" role="img" decorative="" class="material-design-icon arrow-left-icon mr-2"><svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24" class="material-design-icon__svg"><path d="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z"><!----></path></svg></span> From Command Line </a><a href="/docs/deploy-static-sites/" class="btn btn-hover"> Deploy Static Sites via GitHub <span aria-hidden="true" role="img" decorative="" class="material-design-icon arrow-right-icon ml-2"><svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24" class="material-design-icon__svg"><path d="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z"><!----></path></svg></span></a></div></div></div></div></div></div></main></div><div class="footer md:grid md:grid-cols-5"><div class="col-start-2 col-span-3 grid grid-cols-1 gap-4 <md:gap-8 md:grid-cols-4 md:gap-16"><div class="space-y-4"><div class="font-bold">Docs</div><a href="/docs/" class="active">Introduction</a><a href="/docs/deploy-static-sites/">Deploy a Static Site</a><a href="/docs/deploy-php-apps/">Deploy a PHP App</a><a href="/docs/github-actions-customization/">Build configuration</a><a href="/docs/deployment-configuration/">Deployment configuration</a><a href="/docs/runtime-configuration/">Runtime configuration</a><a href="/docs/git-integration/">Github Integration</a><a href="/docs/staging-deployments/">Staging Deployments</a><a href="/docs/domain-tls/">Domains & TLS/SSL</a><a href="/docs/framework-samples/">Framework samples</a></div><div class="space-y-4"><div class="font-bold">Customer Shops</div><a href="https://www.ionos.com/hosting/deploy-now?utm_source=deploy-now-docs&utm_medium=footer&utm_campaign=shop-links" rel="noreferrer" target="_blank">United States</a><a href="https://www.ionos.co.uk/hosting/deploy-now?utm_source=deploy-now-docs&utm_medium=footer&utm_campaign=shop-links" rel="noreferrer" target="_blank">United Kingdom</a><a href="https://www.ionos.de/hosting/deploy-now?utm_source=deploy-now-docs&utm_medium=footer&utm_campaign=shop-links" rel="noreferrer" target="_blank">Germany</a><a href="https://www.ionos.ca/hosting/deploy-now?utm_source=deploy-now-docs&utm_medium=footer&utm_campaign=shop-links" rel="noreferrer" target="_blank">Canada</a><a href="https://www.ionos.es/alojamiento/deploy-now?utm_source=deploy-now-docs&utm_medium=footer&utm_campaign=shop-links" rel="noreferrer" target="_blank">Spain</a><a href="https://www.ionos.fr/hebergement/deploy-now?utm_source=deploy-now-docs&utm_medium=footer&utm_campaign=shop-links" rel="noreferrer" target="_blank">France</a><a href="https://www.ionos.it/hosting/deploy-now?utm_source=deploy-now-docs&utm_medium=footer&utm_campaign=shop-links" rel="noreferrer" target="_blank">Italy</a><a href="https://www.ionos.mx/alojamiento/deploy-now?utm_source=deploy-now-docs&utm_medium=footer&utm_campaign=shop-links" rel="noreferrer" target="_blank">Mexico</a></div><div class="space-y-4"><div class="font-bold">Company</div><a href="https://www.ionos.com/about?utm_source=deploy-now-docs&utm_medium=footer&utm_campaign=shop-links" rel="noreferrer" target="_blank"> About IONOS </a><a href="https://www.ionos.com/agency-partner?utm_source=deploy-now-docs&utm_medium=footer&utm_campaign=shop-links" rel="noreferrer" target="_blank"> IONOS Agency Partner Programm </a><a href="https://www.ionos.com/terms-gtc/general-terms-and-conditions/" rel="”noreferrer”" target="_blank"> Terms and Conditions </a><a href="https://www.ionos.de/terms-gtc/terms-privacy" rel="”noreferrer”" target="_blank"> Privacy Policy </a><a href="https://www.ionos.de/impressum" rel="”noreferrer”" target="_blank"> Legal Information </a><div class="font-bold">Assets</div><a href="https://www.ionos.com/hosting/jamstack" rel="noreferrer" target="_blank">What is the Jamstack?</a><a href="/about-us/" target="_blank">About Deploy Now</a><a href="/blog/" target="_blank">Blog</a><a href="/docs/faq/" target="_blank">Frequently Asked Questions</a></div><div class="space-y-4"><a href="https://www.ionos.com/" rel="noreferrer" target="_blank"><img alt="ionos logo" src="https://ce1.uicdn.net/2dd/1690fa2f62f6ed55e11b6c594145c/webapp/vi-logo.svg" width="150"></a><div>© 2024 <span>IONOS SE</span></div><a href="https://www.ionos.com/environment" rel="noreferrer" target="_blank" class="flex items-center space-x-2"><img alt="green energy logo" src="https://ce1.uicdn.net/347/e8f7028afa25836bf517e5414ba5f/frontend-applications-common/vi-green-energy.svg" width="50" class="inline"><span>Environment</span></a></div></div></div></div> <script>window.__INITIAL_STATE__={"data":{"markdownPage":{"id":"18eff9a1e739139c40d8901cc1ed9ab4","title":"From Repository","description":"Step by step guide about how to create a new project in Deploy Now when starting with an existing repository.","path":"\u002Fdocs\u002Ffrom-repo\u002F","fileInfo":{"path":"docs\u002Ffrom-repo.md"},"editable":true,"timeToRead":3,"content":"\u003Ch1 id=\"from-repository\"\u003E\u003Ca href=\"#from-repository\" aria-hidden=\"true\"\u003E\u003Cspan class=\"icon icon-link\"\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003EFrom Repository\u003C\u002Fh1\u003E\n\u003Cp\u003EAlready have an existing project you wish to set up? Simply create a new deployment by following our wizard.\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Cimg src=\"\u002F03_From_existing_repository_flat.gif\" alt=\"From existing repository\"\u003E\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Cem\u003ENot what you are looking for? \u003Ca href=\"\u002Fdocs\u002Fframework-samples\u002F\"\u003EStart from a sample\u003C\u002Fa\u003E or \u003Ca href=\"\u002Fdocs\u002Ffrom-cmd-line\u002F\"\u003Estart from the command line\u003C\u002Fa\u003E.\u003C\u002Fem\u003E\u003C\u002Fp\u003E\n\u003Col\u003E\n\u003Cli\u003E\u003Cstrong\u003EConnect your GitHub account\u003C\u002Fstrong\u003E \u003C\u002Fli\u003E\n\u003C\u002Fol\u003E\n\u003Cp\u003EAfter you have \u003Ca href=\"https:\u002F\u002Fionos.space\u002F?utm_source=deploy-now-docs&utm_medium=doc-content&utm_campaign=setup-guides\" target=\"_blank\" rel=\"noopener noreferrer\"\u003Esigned up for Deploy Now\u003C\u002Fa\u003E, we'll need your permission to install the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fapps\u002Fionos-deploy-now\" target=\"_blank\" rel=\"noopener noreferrer\"\u003EIONOS Deploy Now App\u003C\u002Fa\u003E to your repositories. You can either grant access to selected or all repositories in your account. You can edit or revoke these permissions any time.\u003C\u002Fp\u003E\n\u003Col start=\"2\"\u003E\n\u003Cli\u003E\u003Cstrong\u003ESelect your deployment source\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E\n\u003C\u002Fol\u003E\n\u003Cp\u003ESelect a public or private repository from your GitHub account or paste in a link to a third party repository. Third party repositories are copied to a new source repository in your GitHub account. You will be asked for a name for this new source repository. \u003C\u002Fp\u003E\n\u003Col start=\"3\"\u003E\n\u003Cli\u003E\u003Cstrong\u003EConfirm detected framework\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E\n\u003C\u002Fol\u003E\n\u003Cp\u003EDeploy Now scans your repository to detect the framework you are using to prefill all workflow settings. You will be asked to confirm the detected framework or to clarify which framework you are using if we cannot identify your framework. If you are deploying a static site generator, single page application or simply a plain HTML website, you can proceed with a Static Project in this step. If your project requires a PHP runtime or a database, please continue with a PHP project. \u003C\u002Fp\u003E\n\u003Col start=\"4\"\u003E\n\u003Cli\u003E\u003Cstrong\u003EBuild settings\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E\n\u003C\u002Fol\u003E\n\u003Cp\u003E\u003Cimg src=\"\u002F02_From_sample_build_flat.gif\" alt=\"Configure your build steps\"\u003E\u003C\u002Fp\u003E\n\u003Cp\u003EYour build steps will be prefilled based on the detected framework. You can add node, composer or bundler steps or execute any other script or command. Define versions for each build step, add build commands and set environment variables. You can change the order of your build steps via drag and drop. Each project can have exactly one publish directory. The files of this directory will be deployed to the infrastructure after the build step.\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Ca href=\"\u002Fdocs\u002Fgithub-actions-customization\"\u003EMore about build settings\u003C\u002Fa\u003E\u003C\u002Fp\u003E\n\u003Col start=\"5\"\u003E\n\u003Cli\u003E\u003Cstrong\u003ERuntime settings\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E\n\u003C\u002Fol\u003E\n\u003Cp\u003EIn case you are creating a PHP project, you need to specify a PHP version for the runtime. This step does not exist for Static projects. Please note that your web project will run on a different machine than your build pipeline. Build environment variables are not available after the deployment. Instead, you can create runtime secrets via the UI and refer to their values in the configuration file form by adding a \u003Ccode\u003E$\u003C\u002Fcode\u003E in front of the key. These secrets will be stored in GitHub secrets. Deploy Now automatically creates a set of keys required for connecting to the database. Their values can be referenced by a \u003Ccode\u003E$\u003C\u002Fcode\u003E in front of the key as well and will be created dynamically during the deployment.\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Ca href=\"\u002Fdocs\u002Fruntime-configuration\"\u003EMore about runtime settings\u003C\u002Fa\u003E\u003C\u002Fp\u003E\n\u003Col start=\"6\"\u003E\n\u003Cli\u003E\u003Cstrong\u003EDeployment settings\u003C\u002Fstrong\u003E\u003C\u002Fli\u003E\n\u003C\u002Fol\u003E\n\u003Cp\u003EAfter your web project builds, results will be automatically deployed to IONOS infrastructure. In case you are creating a PHP project, you might want to execute commands on your runtime or keep certain files persistent. In this step, you can specify both for the bootstrap deployment, i.e. the initial creation of your project, and any recurring deployment after that. Pre deployment remote commands are executed before new files are moved to the server. Post deployment remote commands are executed afterwards. Excluded paths are prevented from being overwritten by new deployments.\u003C\u002Fp\u003E\n\u003Cp\u003E\u003Ca href=\"\u002Fdocs\u002Fdeployment-configuration\"\u003EMore about deployment settings\u003C\u002Fa\u003E\u003C\u002Fp\u003E\n\u003Col start=\"7\"\u003E\n\u003Cli\u003E\u003Cstrong\u003EReview your settings\u003C\u002Fstrong\u003E \u003C\u002Fli\u003E\n\u003C\u002Fol\u003E\n\u003Cp\u003ETake your time and review your settings before creating the project. You can still make changes to the configuration after the project creation, as described in the configuration section of the docs.\u003C\u002Fp\u003E\n\u003Col start=\"8\"\u003E\n\u003Cli\u003E\u003Cstrong\u003ECongrats! Your project gets built\u003C\u002Fstrong\u003E \u003C\u002Fli\u003E\n\u003C\u002Fol\u003E\n\u003Cp\u003EAfter completing the setup, we automatically trigger the first build and deployment. We connect your project to a preview URL.\u003C\u002Fp\u003E\n\u003Col start=\"9\"\u003E\n\u003Cli\u003E\u003Cstrong\u003EJust git push and your updates go live\u003C\u002Fstrong\u003E \u003C\u002Fli\u003E\n\u003C\u002Fol\u003E\n\u003Cp\u003EDeploy Now will now trigger deployments on every git commit to your repository. You can open \u003Ca href=\"\u002Fdocs\u002Fstaging-deployments\u002F\"\u003Estaging deployments\u003C\u002Fa\u003E to deploy multiple branches and connect a \u003Ca href=\"\u002Fdocs\u002Fdomain-tls\u002F\"\u003Ecustom domain\u003C\u002Fa\u003E to your production deployment.\u003C\u002Fp\u003E\n","contentType":"docs","header":null,"sidebar":"docs","next":"\u002Fdocs\u002Fdeploy-static-sites\u002F","prev":"\u002Fdocs\u002Ffrom-cmd-line\u002F","headings":[{"depth":1,"value":"From Repository","anchor":"#from-repository"}]},"allMarkdownPage":{"edges":[{"node":{"path":"\u002Fblog\u002Fdeploy-laravel-via-github\u002F","title":"Fastest ever Laravel deployments via GitHub? You decide."}},{"node":{"path":"\u002Fteam\u002Froman-okon\u002F","title":""}},{"node":{"path":"\u002Fteam\u002Frobin-mueller\u002F","title":""}},{"node":{"path":"\u002Fteam\u002Fmarkus-hunsalz\u002F","title":""}},{"node":{"path":"\u002Fteam\u002Fmarcel-solle\u002F","title":""}},{"node":{"path":"\u002Fteam\u002Falexander-gaengel\u002F","title":""}},{"node":{"path":"\u002Fteam\u002Ffatih-ok\u002F","title":""}},{"node":{"path":"\u002Fteam\u002Fjosua-meier\u002F","title":""}},{"node":{"path":"\u002Fdocs\u002Fvisitor-statistics\u002F","title":"Visitor statistics"}},{"node":{"path":"\u002Fdocs\u002Fuse-cases\u002F","title":"Project type use cases"}},{"node":{"path":"\u002Fdocs\u002Fruntime-configuration\u002F","title":"Runtime configuration"}},{"node":{"path":"\u002Fdocs\u002Fstaging-deployments\u002F","title":"Staging deployments"}},{"node":{"path":"\u002Fdocs\u002Fphp-alpha\u002F","title":"PHP Alpha: Deploy Laravel or Symfony with Deploy Now"}},{"node":{"path":"\u002Fdocs\u002F","title":"Introduction"}},{"node":{"path":"\u002Fdocs\u002Ffrom-cmd-line\u002F","title":"From Command Line"}},{"node":{"path":"\u002Fdocs\u002Fgithub-actions-customization\u002F","title":"Build configuration"}},{"node":{"path":"\u002Fdocs\u002Fmulti-deployments\u002F","title":"Multi deployments"}},{"node":{"path":"\u002Fdocs\u002Ffrom-repo\u002F","title":"From Repository"}},{"node":{"path":"\u002Fdocs\u002Fgit-integration\u002F","title":"GitHub integration"}},{"node":{"path":"\u002Fdocs\u002Ffaq\u002F","title":"Frequently Asked Questions"}},{"node":{"path":"\u002Fdocs\u002Fframework-samples\u002F","title":"From Sample"}},{"node":{"path":"\u002Fdocs\u002Fdomain-tls\u002F","title":"Domains and TLS"}},{"node":{"path":"\u002Fdocs\u002Fdeployment-viewer\u002F","title":"View files and logs"}},{"node":{"path":"\u002Fdocs\u002Fdeployment-configuration\u002F","title":"Deployment configuration"}},{"node":{"path":"\u002Fdocs\u002Fdeploy-static-sites\u002F","title":"Deploy Static Sites via GitHub"}},{"node":{"path":"\u002Fdocs\u002Fdeploy-php-apps\u002F","title":"Deploy PHP Apps via GitHub"}},{"node":{"path":"\u002Fdocs\u002Fdatabase\u002F","title":"Database"}},{"node":{"path":"\u002Fdocs\u002Fcronjobs\u002F","title":"Cron jobs"}},{"node":{"path":"\u002Fdocs\u002Fcreate-sample\u002F","title":"Create a sample"}},{"node":{"path":"\u002Fdocs\u002Fconfiguration-overview\u002F","title":"Overview"}},{"node":{"path":"\u002Fdocs\u002Fapache-configuration-htaccess\u002F","title":"Apache configuration: .htaccess"}},{"node":{"path":"\u002Fblog\u002Fwebinar-de\u002F","title":"Webinar: Das Comeback des statischen Webs"}},{"node":{"path":"\u002Fblog\u002Fworkflow-dispatch\u002F","title":"Update: Deploy Now triggers new builds without empty commits"}},{"node":{"path":"\u002Fblog\u002Fshop-experience-with-vue\u002F","title":"Building API-first eCommerce dashboards with Vue.js and Deploy Now"}},{"node":{"path":"\u002Fblog\u002Fstaging-explained\u002F","title":"Build and stage a Gatsby site with Deploy Now"}},{"node":{"path":"\u002Fblog\u002Freasons-for-staging\u002F","title":"5 reasons to start staging your code right now "}},{"node":{"path":"\u002Fblog\u002Freact-blog\u002F","title":"How to deploy a Blog with React and Deploy Now"}},{"node":{"path":"\u002Fblog\u002Fpull-request-permissions\u002F","title":"Update: Deploy Now GitHub App requires permissions to manage pull requests"}},{"node":{"path":"\u002Fblog\u002Fportfolio-sites-de\u002F","title":"Hosten Sie Ihre eigene Portfolio-Website mit Deploy Now"}},{"node":{"path":"\u002Fblog\u002Fproduct-hunt\u002F","title":"Deploy Now on Product Hunt"}},{"node":{"path":"\u002Fblog\u002Fpodcast-de\u002F","title":"Podcast: Die Geschichte hinter Deploy Now"}},{"node":{"path":"\u002Fblog\u002Fphp-release\u002F","title":"Deploy Now feature realease: LAMP stack support for dynamic websites now available "}},{"node":{"path":"\u002Fblog\u002Fmulti-deployments\u002F","title":"Effortless Deployments: Linking one Repo to Multiple Runtimes"}},{"node":{"path":"\u002Fblog\u002Flaravel-vs-symfony\u002F","title":"Laravel vs. Symfony: Which Framework is right for your project?"}},{"node":{"path":"\u002Fblog\u002Fjamstack-for-agencies-whitepaper-uk-us\u002F","title":"Whitepaper: Build client websites with Jamstack"}},{"node":{"path":"\u002Fblog\u002Fjamstack-for-agencies-whitepaper-de\u002F","title":"Whitepaper: Erstellen Sie Kundenwebsites mit Jamstack"}},{"node":{"path":"\u002Fblog\u002Fgithub-for-agencies\u002F","title":"How to Incorporate GitHub and CI\u002FCD Deployments into Your Web Agency's Workflow "}},{"node":{"path":"\u002Fblog\u002Fhost-github-blog\u002F","title":"How to Choose the Best Host for Your GitHub Blog"}},{"node":{"path":"\u002Fblog\u002Fgithub-actions-lighthouse\u002F","title":"Tutorial: Automated Lighthouse tests with GitHub Actions"}},{"node":{"path":"\u002Fblog\u002Fgit-intro\u002F","title":"An Introduction to Git: The Basics Every Beginning Developer Should Know"}},{"node":{"path":"\u002Fblog\u002Fgithub-actions\u002F","title":"GitHub Actions: An Introduction"}},{"node":{"path":"\u002Fblog\u002Fgithub-actions-version-update\u002F","title":"Upgrade your GitHub actions"}},{"node":{"path":"\u002Fblog\u002Fdarkmode\u002F","title":"Feature Release: Dark Mode"}},{"node":{"path":"\u002Fblog\u002Fdeploy-now-and-github-actions\u002F","title":"How to make Git deployments with IONOS quick and easy"}},{"node":{"path":"\u002Fblog\u002Fdeploy-jekyll-via-github\u002F","title":"Tutorial: Fastest ever Jekyll deployments via GitHub"}},{"node":{"path":"\u002Fblog\u002Fbest-react-ssg\u002F","title":"Gatsby vs. React Static vs. Next.js: What's the best React-based static site generator?"}},{"node":{"path":"\u002Fblog\u002Fapi-guide\u002F","title":"A Beginner Developer's Guide to APIs (with Example Project)"}}]}},"context":{"locale":"en"}};(function(){var s;(s=document.currentScript||document.scripts[document.scripts.length-1]).parentNode.removeChild(s);}());</script><script src="/assets/js/app.1420e6f5.js" defer></script><script src="/assets/js/page--src--templates--markdown-page-vue.f5d097cb.js" defer></script> </body> </html>