{"id":146222,"date":"2026-07-23T13:32:52","date_gmt":"2026-07-23T13:32:52","guid":{"rendered":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-deploy-a-website-from-antigravity\/"},"modified":"2026-07-23T13:32:52","modified_gmt":"2026-07-23T13:32:52","slug":"how-to-deploy-a-website-from-antigravity","status":"publish","type":"post","link":"\/ca\/tutorials\/how-to-deploy-a-website-from-antigravity\/","title":{"rendered":"How to deploy a website from Antigravity in seven steps"},"content":{"rendered":"<p class=\"wp-block-paragraph\">To deploy a website from Antigravity, push your project to a GitHub repository and connect it to a hosting provider that builds and serves your site.<\/p><p class=\"wp-block-paragraph\">Google Antigravity is an agentic development platform where AI coding agents can plan, write, and test entire projects in one place. However, it doesn&rsquo;t host websites. Your project stays on your computer until you publish it to a hosting provider that makes it available through a public URL.<\/p><p class=\"wp-block-paragraph\">Follow these seven steps to take your Antigravity project from your local computer to a live website:<\/p><ol class=\"wp-block-list\">\n<li>Review and clean up the generated project files.<\/li>\n\n\n\n<li>Determine whether the build output is static or dynamic.<\/li>\n\n\n\n<li>Run the production build locally and verify that it works.<\/li>\n\n\n\n<li>Push the project to a GitHub repository.<\/li>\n\n\n\n<li>Connect the repository to a hosting provider and configure the build.<\/li>\n\n\n\n<li>Point a custom domain to your site and enable HTTPS.<\/li>\n\n\n\n<li>Set up automatic redeployment so every future push updates the live site.<\/li>\n<\/ol><p class=\"wp-block-paragraph\">If you&rsquo;re a Hostinger customer, you can use Hostinger Connector to deploy directly from the IDE to your hosting plan with a single prompt. Similarly, Google Cloud users can deploy through the Cloud Run MCP server, which connects Antigravity to Cloud Run.<\/p><p class=\"wp-block-paragraph\"><\/p><h2 class=\"wp-block-heading\" id=\"h-1-prepare-your-antigravity-project-for-deployment\"><strong>1. Prepare your Antigravity project for deployment<\/strong><\/h2><p class=\"wp-block-paragraph\">Similar to deploying a website from other integrated development environments (IDEs), you need to make sure your Antigravity project is clean and free of issues before deployment.<\/p><p class=\"wp-block-paragraph\">Antigravity agents often leave behind temporary files, debug logs, and hardcoded test values that can cause problems in production.<\/p><p class=\"wp-block-paragraph\">To prepare your project for deployment, open it in <strong>Antigravity IDE<\/strong> (not the standalone <strong>Antigravity 2.0<\/strong> desktop app). Then, follow these steps:<\/p><ol class=\"wp-block-list\">\n<li>Open your project folder if you haven&rsquo;t already.<\/li>\n\n\n\n<li>Make sure your project has the correct entry point. For example:\n<ul class=\"wp-block-list\">\n<li><strong>index.html<\/strong> for a static website.<\/li>\n\n\n\n<li><strong>package.json <\/strong>(which defines your start script) for JavaScript frameworks like React or Next.js.<\/li>\n\n\n\n<li><strong>app.py<\/strong> for Python frameworks like Flask.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Review your project files and remove anything the agent created for testing that doesn&rsquo;t belong in production, such as <strong>test-data.json<\/strong>, <strong>debug.log<\/strong>, or temporary folders like <strong>tmp\/<\/strong>.<\/li>\n\n\n\n<li>Search your project for hardcoded localhost URLs. Press <strong>Ctrl+Shift+F<\/strong> on Windows or Linux, or <strong>Cmd+Shift+F<\/strong> on macOS, then look for URLs such as <strong>http:\/\/localhost:3000\/api\/users<\/strong>. Make a note of the affected files so you can replace these URLs with your production URL after deployment.<\/li>\n\n\n\n<li>Run the project locally to confirm everything still works after cleanup:\n<ul class=\"wp-block-list\">\n<li>For JavaScript projects, run <strong>npm run dev<\/strong> or <strong>npm start<\/strong>, then open the URL shown in the terminal.<\/li>\n\n\n\n<li>For Python projects, run <strong>python app.py<\/strong>, then open the local URL printed in the terminal.<\/li>\n\n\n\n<li>For a plain HTML website, open <strong>index.html<\/strong> in your browser by double-clicking the file.<\/li>\n<\/ul>\n<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a62589825b65\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a62589825b65\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2026\/07\/image2-1.png\/w=1024,h=1024,fit=scale-down\" alt=\"Portfolio website with dark theme showing hero section and navigation menu\" class=\"wp-image-153037\" title=\"antigravity-portfolio-website-preview\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><h2 class=\"wp-block-heading\" id=\"h-2-identify-whether-your-site-is-static-or-dynamic\"><strong>2. Identify whether your site is static or dynamic<\/strong><\/h2><p class=\"wp-block-paragraph\">Before choosing a host, determine whether your project is a static site or a dynamic app. The entry point you identified previously can give a useful clue, but the main question is simple: does your project need a server running in the background?<\/p><p class=\"wp-block-paragraph\">A <a href=\"\/ca\/tutorials\/static-website\/\" target=\"_blank\" rel=\"noreferrer noopener\">static site<\/a> consists of HTML, CSS, and JavaScript files that a host can serve directly. A <a href=\"\/ca\/tutorials\/dynamic-website\/\" target=\"_blank\" rel=\"noreferrer noopener\">dynamic app<\/a> needs an active server process, such as Node.js or Python, to handle requests, process data, connect to a database, or generate content.<\/p><p class=\"wp-block-paragraph\">Use the table below to identify your project type:<\/p><figure tabindex=\"0\" class=\"wp-block-table\"><table><tbody><tr><td><strong>What you see in your project<\/strong><\/td><td><strong>Type<\/strong><\/td><\/tr><tr><td>Plain HTML, CSS, and JavaScript files with no <strong>package.json<\/strong><\/td><td>Static<\/td><\/tr><tr><td>A <strong>package.json<\/strong> file that uses Vite, React, or Vue without server-side rendering<\/td><td>Static<\/td><\/tr><tr><td>An Astro project with the default static output<\/td><td>Static<\/td><\/tr><tr><td>A Next.js project with server-side rendering or API routes<\/td><td>Dynamic<\/td><\/tr><tr><td>A Flask, Express, or FastAPI backend<\/td><td>Dynamic<\/td><\/tr><tr><td>A <strong>Dockerfile<\/strong> in the project root<\/td><td>Usually dynamic<\/td><\/tr><\/tbody><\/table><\/figure><p class=\"wp-block-paragraph\">You can deploy static sites to most web hosts, including free platforms such as Cloudflare Pages and Netlify. Dynamic apps, however, need a host that supports the project&rsquo;s server runtime. This limits your hosting options and may increase the cost.<\/p><p class=\"wp-block-paragraph\">If you built the project entirely through Antigravity prompts and aren&rsquo;t sure which setup the agent chose, ask it: &ldquo;Is this project static, or does it need a server to run?&rdquo; The agent can review the files it generated and explain which hosting environment your project requires.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a62589828e15\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a62589828e15\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2026\/07\/image5-1.png\/w=1024,h=1024,fit=scale-down\" alt=\"Antigravity IDE with index.html code and agent confirming the project is static\" class=\"wp-image-153038\" title=\"antigravity-ide-agent-static-project-check\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><h2 class=\"wp-block-heading\" id=\"h-3-run-and-verify-the-production-build\"><strong>3. Run and verify the production build<\/strong><\/h2><p class=\"wp-block-paragraph\">Build the production version of your project to generate the files your hosting provider will serve. Most web hosts don&rsquo;t use your development setup directly. Instead, they serve the optimized files created by your project&rsquo;s build command.<\/p><p class=\"wp-block-paragraph\">You can skip this step if your project is a plain HTML website with no framework or build tools. Its files are already ready for deployment.<\/p><p class=\"wp-block-paragraph\">For framework-based projects, such as React, Vue, Next.js, or Astro, the build command compiles and optimizes your source files for production. Follow these steps:<\/p><ol class=\"wp-block-list\">\n<li>Install your project&rsquo;s dependencies by running <strong>npm install<\/strong> in the terminal. If you previously ran <strong>npm run dev<\/strong>, they&rsquo;re probably already installed, but running the command again is safe.<\/li>\n\n\n\n<li>Run <strong>npm run build<\/strong> or <strong>yarn build<\/strong>, depending on your project&rsquo;s setup. This command processes your source files and creates a production-ready build.<\/li>\n\n\n\n<li>Find the output folder created by the build command. Common folder names include <strong>dist\/<\/strong>, <strong>build\/<\/strong>, and <strong>out\/<\/strong>. Next.js projects usually create a <strong>.next\/<\/strong> folder. Check the final lines of the build log if you&rsquo;re not sure which folder your project uses.<\/li>\n\n\n\n<li>Test the production build locally. For a static output folder, run <strong>npx serve dist<\/strong>, replacing <strong>dist<\/strong> with your actual output folder name. This starts a local server that serves the built files. Open the URL shown in the terminal, then check that each page loads, images appear, links work, and navigation behaves as expected. And for a dynamic Next.js build, run npm run start instead, which launches the Node server needed to serve the app.<\/li>\n<\/ol><h2 class=\"wp-block-heading\" id=\"h-4-push-your-project-to-a-git-repository\"><strong>4. Push your project to a Git repository<\/strong><\/h2><p class=\"wp-block-paragraph\">Upload your project to GitHub so your hosting provider can access and deploy it later. The fastest option is to let the Antigravity agent handle the setup.<\/p><p class=\"wp-block-paragraph\">Open the chat and type this prompt:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Initialize Git, create a .gitignore file for this stack, commit all project files, and push them to a new GitHub repository named my-new-website under my account.<\/pre><p class=\"wp-block-paragraph\">The agent will initialize a Git repository in your project folder, create a <strong>.gitignore<\/strong> file, commit your project files, and push them to GitHub. The <strong>.gitignore<\/strong> file should exclude files your host doesn&rsquo;t need, such as <strong>node_modules\/<\/strong> and <strong>.env<\/strong>.<\/p><p class=\"wp-block-paragraph\">If this is your first time connecting Antigravity to GitHub, the agent will instruct you to sign in and authorize access.<\/p><p class=\"wp-block-paragraph\">After the agent confirms that the push succeeded, open GitHub in your browser and verify that the repository contains your project files.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a6258982bedc\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a6258982bedc\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2026\/07\/image6-2.png\/public\" alt=\"Antigravity agent initializing Git, committing files, and pushing to GitHub\" class=\"wp-image-153041\" title=\"antigravity-agent-git-push-github\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p class=\"wp-block-paragraph\">If you&rsquo;d rather push your project files to GitHub manually, follow these steps:<\/p><ol class=\"wp-block-list\">\n<li>Create a file called <strong>.gitignore<\/strong> in your project&rsquo;s root folder and paste the following content. This tells Git to skip your downloaded dependencies (<strong>node_modules\/<\/strong>), secret keys and passwords (<strong>.env<\/strong>), and build output folders. If your project uses a different output folder name, add it to the list.<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">node_modules\/\n.env\ndist\/\nbuild\/\nout\/\n.next\/\n__pycache__\/\n*.pyc<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Go to <strong>github.com<\/strong>, sign in, and create a new empty repository. Don&rsquo;t add a README or .gitignore file on GitHub &ndash; doing so creates a commit that will conflict with your local repository&rsquo;s history when you push.<\/li>\n\n\n\n<li>Open the terminal in Antigravity IDE by selecting <strong>View<\/strong> &rarr; <strong>Terminal<\/strong> and run the following commands one at a time:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">git init\ngit add .\ngit commit -m \"Initial commit\"\ngit remote add origin https:\/\/github.com\/your-username\/your-repo.git\ngit branch -M main\ngit push -u origin main<\/pre><p class=\"wp-block-paragraph\">Replace <strong>your-username<\/strong> with your GitHub username and <strong>your-repo<\/strong> with the repository name you created.<\/p><p class=\"wp-block-paragraph\">After the push finishes, open the repository on GitHub and confirm that your project files appear.<\/p><h2 class=\"wp-block-heading\" id=\"h-5-choose-a-hosting-provider-and-connect-your-repository\"><strong>5. Choose a hosting provider and connect your repository<\/strong><\/h2><p class=\"wp-block-paragraph\">Connect your GitHub repository to your web hosting provider so it can pull your code, run the build process, and publish your site. Here are several popular options for <a href=\"\/ca\/tutorials\/how-to-host-a-website\/\" target=\"_blank\" rel=\"noreferrer noopener\">hosting your website<\/a>:<\/p><figure tabindex=\"0\" class=\"wp-block-table\"><table><tbody><tr><td><strong>Host<\/strong><\/td><td><strong>Best for<\/strong><\/td><td><strong>Free tier<\/strong><\/td><\/tr><tr><td>Cloudflare Pages<\/td><td>Static sites that need fast global delivery<\/td><td>Yes, with unlimited bandwidth<\/td><\/tr><tr><td>Netlify<\/td><td>Static sites and frontend projects<\/td><td>Yes<\/td><\/tr><tr><td>Vercel<\/td><td>Next.js and React apps that use server-side rendering<\/td><td>Yes, on the Hobby plan<\/td><\/tr><tr><td>GitHub Pages<\/td><td>Simple static portfolios and documentation sites<\/td><td>Yes, with a public repository<\/td><\/tr><tr><td>Hostinger<\/td><td>Static or dynamic apps when you want hosting and a domain in one place<\/td><td>No, starts at <strong>CA$ 5.29\/month<\/strong>, with a free domain and SSL<\/td><\/tr><\/tbody><\/table><\/figure><p class=\"wp-block-paragraph\">Static sites work well on free services such as Cloudflare Pages, Netlify, and GitHub Pages. For a Next.js app that uses server-side rendering, consider Vercel or another provider that supports the Node.js runtime.<\/p><p class=\"wp-block-paragraph\">Hostinger is a suitable option if you want to manage your website, domain, and email from one dashboard, whether you&rsquo;re hosting a static site or a dynamic app.<\/p><p class=\"wp-block-paragraph\">After choosing a host, connect your GitHub repository. The process is similar across most platforms:<\/p><ol class=\"wp-block-list\">\n<li>Sign in to your hosting account.<\/li>\n\n\n\n<li>Find the Git or GitHub integration.<\/li>\n\n\n\n<li>Authorize access to your GitHub account.<\/li>\n\n\n\n<li>Select the repository you created earlier.<\/li>\n\n\n\n<li>Deploy your site.<\/li>\n<\/ol><p class=\"wp-block-paragraph\">On a Hostinger Business <a href=\"\/ca\/web-apps-hosting\/google-antigravity-hosting\" target=\"_blank\" rel=\"noreferrer noopener\">Antigravity hosting plan<\/a> or higher, the steps depend on your project type:<\/p><ul class=\"wp-block-list\">\n<li>For Node.js apps, including React, Express, and Next.js projects, go to <strong>hPanel &rarr; Websites &rarr; Add website &rarr; Deploy Web App<\/strong>. Choose your domain or use a temporary one, then click <strong>Connect with GitHub<\/strong>, select your repository, and follow the on-screen instructions.<\/li>\n<\/ul><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a6258982ef9e\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a6258982ef9e\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2026\/07\/image4-1.png\/w=1024,h=1024,fit=scale-down\" alt=\"hPanel Add website menu with Deploy Web App option highlighted\" class=\"wp-image-153042\" title=\"hpanel-add-website-deploy-web-app-highlighted\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ul class=\"wp-block-list\">\n<li>For static sites, PHP projects, and WordPress websites, go to <strong>hPanel &rarr; Websites<\/strong>, find your website, and select <strong>Dashboard &rarr; Advanced &rarr; Git<\/strong>. Click <strong>Continue with GitHub<\/strong>, authorize the integration, select your repository, and click <strong>Deploy<\/strong>.<\/li>\n<\/ul><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a62589831f38\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a62589831f38\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2026\/07\/image3-1.png\/w=1024,h=1024,fit=scale-down\" alt=\"hPanel Git deployment page with Continue with GitHub button\" class=\"wp-image-153043\" title=\"hpanel-advanced-git-deploy-from-github\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p class=\"wp-block-paragraph\">Some <a href=\"\/ca\/tutorials\/best-hosting-providers-for-web-apps\/\" target=\"_blank\" rel=\"noreferrer noopener\">web app hosting providers<\/a> ask you to enter the build command and output folder manually. Use <strong>npm run build<\/strong> as the build command, then enter the output folder you identified earlier, such as <strong>dist\/<\/strong> or <strong>build\/<\/strong>.<\/p><p class=\"wp-block-paragraph\">Hostinger can detect your framework and build settings automatically. Review the detected build command and output folder before deploying, and adjust them if needed.<\/p><p class=\"wp-block-paragraph\">If your project uses environment variables, such as API keys or database URLs stored outside the source code, add them through your hosting provider&rsquo;s settings before deployment.<\/p><p class=\"wp-block-paragraph\">After configuring the build command, output directory, and environment variables, deploy your site to your hosting provider.<\/p><p class=\"wp-block-paragraph\">Once the deployment finishes, your host should display a success status and a URL for your live site. Open the URL in your browser to confirm that your site loads correctly, pages work, and images display as expected.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a62589835005\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a62589835005\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2026\/07\/image10-1.png\/w=1024,h=1024,fit=scale-down\" alt=\"hPanel deployment completed screen with site preview and build logs\" class=\"wp-image-153044\" title=\"hpanel-deployment-completed-site-preview\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><figure class=\"wp-block-image size-full\"><a class=\"hgr-tutorials-cta hgr-tutorials-cta-web-hosting\" href=\"\/ca\/web-hosting\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2023\/11\/Web-hosting_in-text-banner.png\/public\" alt=\"Hostinger web hosting banner\" class=\"wp-image-98604\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-6-configure-a-custom-domain-and-enable-https\"><strong>6. Configure a custom domain and enable HTTPS<\/strong><\/h2><p class=\"wp-block-paragraph\">Your site is deployed and working. However, if you used a temporary domain or a subdomain provided by your host, consider connecting a custom domain to give your site a clean, professional address that visitors can remember and trust.<\/p><p class=\"wp-block-paragraph\">If you already set up a <a href=\"\/ca\/domain-name-search\" target=\"_blank\" rel=\"noreferrer noopener\">domain name<\/a> during deployment, you can skip this step. Your domain and SSL certificate should already be active.<\/p><p class=\"wp-block-paragraph\">On Hostinger, if you&rsquo;re using a temporary subdomain, go to <strong>hPanel &rarr; Websites<\/strong>, find your site, and click <strong>Connect domain<\/strong>. Follow the on-screen instructions to link a domain to your website.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a62589839dcb\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a62589839dcb\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2026\/07\/image8-1.png\/w=1024,h=1024,fit=scale-down\" alt=\"hPanel Websites list showing temporary domain with Connect domain highlighted\" class=\"wp-image-153045\" title=\"hpanel-websites-connect-domain-highlighted\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p class=\"wp-block-paragraph\">If your domain is registered with another provider, point it to your host:<\/p><ol class=\"wp-block-list\">\n<li>Open your hosting dashboard and find the domain settings for your deployed site. Your host will show the required DNS records, usually an IP address and a CNAME value.<\/li>\n\n\n\n<li>Sign in to the service where you registered the domain, open the DNS settings, and add the records provided by your host.<\/li>\n\n\n\n<li>Wait for the changes to take effect. This usually takes <strong>5-30 minutes<\/strong>, but it can take up to <strong>24 hours<\/strong>. It&rsquo;s normal if your site doesn&rsquo;t load on the new domain right away.<\/li>\n\n\n\n<li>Once the domain connects, open your site in a browser using the new address and confirm that every page loads correctly.<\/li>\n<\/ol><p class=\"wp-block-paragraph\">Most modern hosts, including Hostinger, also set up SSL certificates automatically after the domain connects. You should see the <strong>Connection is secure<\/strong> status in the address bar shortly after the domain starts working.<\/p><p class=\"wp-block-paragraph\"><div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                 If your domain still doesn&rsquo;t load after an hour, clear your browser cache, open it in an incognito window, or try a different network or device. Cached DNS records can make it seem like the changes aren&rsquo;t working when they actually are.\n            <\/p><\/div><\/p><p>    <div class=\"domain-checker\">\n        <h3 class=\"domain-checker__heading\">Domain Name Checker<\/h3>\n        <p class=\"domain-checker__description\">Instantly check domain name availability.<\/p>\n        <form id=\"domain-checker-form\" class=\"domain-checker__form\" action=\"\/domain-checker\">\n           <div class=\"domain-checker__icon\">\n               <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                   <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.3224 16.7375C13.9306 17.8263 12.1782 18.4752 10.2742 18.4752C5.74548 18.4752 2.07422 14.8039 2.07422 10.2752C2.07422 5.74646 5.74548 2.0752 10.2742 2.0752C14.803 2.0752 18.4742 5.74646 18.4742 10.2752C18.4742 12.1792 17.8253 13.9316 16.7366 15.3233L21.631 20.2179C22.0216 20.6084 22.0216 21.2416 21.631 21.6321C21.2405 22.0226 20.6073 22.0226 20.2168 21.6321L15.3224 16.7375ZM16.4742 10.2752C16.4742 13.6994 13.6984 16.4752 10.2742 16.4752C6.85005 16.4752 4.07422 13.6994 4.07422 10.2752C4.07422 6.85103 6.85005 4.0752 10.2742 4.0752C13.6984 4.0752 16.4742 6.85103 16.4742 10.2752Z\" fill=\"#1D1E20\"\/>\n               <\/svg>\n           <\/div>\n            <input\n                    class=\"domain-checker__input\"\n                    name=\"domain\" type=\"text\"\n                    placeholder=\"Enter your desired domain name\"\n                    value=\"\"\n            \/>\n            <input id=\"domain-submit\"\n                   type=\"submit\"\n                   value=\"Check\"\n                   class=\"domain-checker__button\"\/>\n        <\/form>\n    <\/div>\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-7-use-continuous-deployment-for-future-changes\"><strong>7. Use continuous deployment for future changes<\/strong><\/h2><p class=\"wp-block-paragraph\">Some hosting providers, including Hostinger, support automatic redeployment. This means every push to GitHub triggers a new build and updates your live site without requiring you to open the hosting dashboard.<\/p><p class=\"wp-block-paragraph\">If your provider doesn&rsquo;t mention this feature, contact its support team to confirm whether it&rsquo;s available on your plan.<\/p><p class=\"wp-block-paragraph\">To verify that automatic redeployment is working:<\/p><ol class=\"wp-block-list\">\n<li>Make a small, visible change to your project, such as editing a heading or changing a color.<\/li>\n\n\n\n<li>Push the updated code to GitHub, either by prompting the Antigravity agent or by running the following commands in the terminal:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">git add .\ngit commit -m \"Update heading\"\ngit push<\/pre><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a6258983d29d\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a6258983d29d\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2026\/07\/image7-1.png\/w=1024,h=1024,fit=scale-down\" alt=\"Antigravity agent committing and pushing code changes to GitHub\" class=\"wp-image-153046\" title=\"antigravity-agent-push-changes-github\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"3\" class=\"wp-block-list\">\n<li>Wait a few minutes, then refresh your live site in your browser and confirm that the change appears.<\/li>\n<\/ol><p class=\"wp-block-paragraph\">If the update doesn&rsquo;t appear, open your hosting dashboard and look for a deployment log or build history. Most hosting providers show the status of each deployment, so you can see whether they detected the latest push and whether the build succeeded or failed.<\/p><p class=\"wp-block-paragraph\">If a change breaks your live site, most providers also let you roll back to an earlier deployment. Look for a deployment history or previous builds section in your dashboard, then redeploy the last working version.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-deploy-a-website-from-antigravity-to-google-cloud\"><strong>How to deploy a website from Antigravity to Google Cloud<\/strong><\/h2><p class=\"wp-block-paragraph\">To deploy a website from Antigravity to Google Cloud, set up the Cloud Run server from Antigravity&rsquo;s built-in extension store, then prompt the agent to handle the deployment.<\/p><p class=\"wp-block-paragraph\">Before you start, install the <a href=\"https:\/\/cloud.google.com\/sdk\/docs\/install\" target=\"_blank\" rel=\"noreferrer noopener\">Google Cloud CLI<\/a> on your computer. Then open a terminal, either your system terminal or the one in Antigravity IDE, and run these commands to sign in and select your project:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">gcloud auth login\ngcloud auth application-default login\ngcloud config set project your-project-id<\/pre><p class=\"wp-block-paragraph\">Replace <strong>your-project-id<\/strong> with your Google Cloud project&rsquo;s actual ID. The second command generates the credentials that the Cloud Run server in Antigravity uses to make API calls on your behalf.<\/p><p class=\"wp-block-paragraph\">After authenticating, set up the Cloud Run server in Antigravity:<\/p><ol class=\"wp-block-list\">\n<li>Open the <strong>Agent Manager<\/strong> panel in Antigravity IDE and click the <strong>&hellip;<\/strong> menu at the top.<\/li>\n\n\n\n<li>Select <strong>MCP Servers<\/strong> to open the MCP Store.<\/li>\n\n\n\n<li>Search for <strong>Cloud Run<\/strong> and click <strong>Install<\/strong>.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a625898401db\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a625898401db\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2026\/07\/image11.png\/w=1024,h=1024,fit=scale-down\" alt=\"Antigravity MCP Store showing Cloud Run server with Install button\" class=\"wp-image-153047\" title=\"antigravity-mcp-store-cloud-run-install\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"4\" class=\"wp-block-list\">\n<li>Return to the agent chat and enter this prompt:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Build and deploy this project to Cloud Run in my Google Cloud project your-project-id.<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>Approve the terminal commands when the agent asks for permission. It will create the required configuration files and run the deployment.<\/li>\n<\/ol><p class=\"wp-block-paragraph\">This method works well if your app uses Google Cloud services such as authentication, databases, or serverless functions.<\/p><p class=\"wp-block-paragraph\">Cloud Run is a paid service that charges based on the CPU and memory your app uses while handling requests. It includes a monthly free tier, but costs can increase as your traffic grows. You can find the full rate breakdown on the <a href=\"https:\/\/cloud.google.com\/run\/pricing\" target=\"_blank\" rel=\"noreferrer noopener\">Cloud Run pricing page<\/a>.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-deploy-a-website-from-antigravity-via-hostinger-connector\"><strong>How to deploy a website from Antigravity via Hostinger Connector<\/strong><\/h2><p class=\"wp-block-paragraph\">To deploy a website from Antigravity using Hostinger Connector, install the extension in your editor, connect your Hostinger account, and prompt the agent to publish your project to your hosting plan.<\/p><p class=\"wp-block-paragraph\"><a href=\"\/ca\/connector\" target=\"_blank\" rel=\"noreferrer noopener\">Hostinger Connector<\/a> is a free extension that gives the AI agent in your preferred IDE direct access to your Hostinger hosting account. You can manage website deployments, domain setup, and server settings through prompts without leaving the IDE.<\/p><p class=\"wp-block-paragraph\">You only need an active Hostinger account to get started. However, you&rsquo;ll also need an active hosting plan to deploy a website directly from Antigravity to Hostinger.<\/p><p class=\"wp-block-paragraph\">To set up Hostinger Connector in Antigravity IDE:<\/p><ol class=\"wp-block-list\">\n<li>Open the <strong>Extensions<\/strong> panel by pressing <strong>Ctrl+Shift+X<\/strong> on Windows or Linux, or <strong>Cmd+Shift+X<\/strong> on macOS.<\/li>\n\n\n\n<li>Search for <strong>Hostinger Connector<\/strong> and click <strong>Install<\/strong>.<\/li>\n\n\n\n<li>Click the <strong>Hostinger<\/strong> icon in the Activity Bar, then select <strong>1-Click Connect<\/strong>.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a625898435c8\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a625898435c8\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2026\/07\/image9-1.png\/public\" alt=\"Hostinger Connector sidebar in Antigravity with 1-Click Connect highlighted\" class=\"wp-image-153048\" title=\"antigravity-hostinger-connector-1-click-connect-highlighted\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"4\" class=\"wp-block-list\">\n<li>Complete the browser-based sign-in process. The status badge in the IDE will turn green once you&rsquo;re connected.<\/li>\n<\/ol><p class=\"wp-block-paragraph\">To deploy your project, prompt the agent with your hosting plan and domain. For example:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Deploy this project to my Hostinger Business hosting plan on domain.tld.<\/pre><p class=\"wp-block-paragraph\">Or:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Deploy this static site to any of my active Hostinger plans using a temporary domain.<\/pre><p class=\"wp-block-paragraph\">Hostinger Connector handles the hosting setup and returns the live URL in the same chat window.<\/p><p class=\"wp-block-paragraph\">After deployment, you can continue managing your site from the same panel. Try prompts such as &ldquo;Connect a domain to my website,&rdquo; &ldquo;Show the DNS records for <strong>domain.tld<\/strong>,&rdquo; or &ldquo;Which hosting plans are active on my account?&rdquo;<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"6a62589846975\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a62589846975\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2026\/07\/image1-1.png\/w=1024,h=1024,fit=scale-down\" alt=\"Antigravity agent showing active Hostinger hosting plans and subscriptions\" class=\"wp-image-153049\" title=\"antigravity-agent-hostinger-active-plans\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p class=\"wp-block-paragraph\">Hostinger Connector also works with other editors. For example, <a href=\"\/ca\/tutorials\/how-to-deploy-a-website-from-vs-code\/\" target=\"_blank\" rel=\"noreferrer noopener\">deploying a website from Visual Studio (VS) Code<\/a> follows a nearly identical process because both editors support the same extensions.<\/p><h2 class=\"wp-block-heading\" id=\"h-common-antigravity-deployment-errors-and-how-to-fix-them\"><strong>Common Antigravity deployment errors and how to fix them<\/strong><\/h2><p class=\"wp-block-paragraph\">To fix most Antigravity deployment errors, check whether your host&rsquo;s build settings match your local setup. Most first-time deployment failures happen because your computer and hosting environment use different configurations.<\/p><p class=\"wp-block-paragraph\">The table below covers five common issues and how to fix them:<\/p><figure tabindex=\"0\" class=\"wp-block-table\"><table><tbody><tr><td><strong>Symptom<\/strong><\/td><td><strong>Likely cause<\/strong><\/td><td><strong>Fix<\/strong><\/td><\/tr><tr><td>The build succeeds locally but fails on the host<\/td><td>The host uses a different Node.js version than your computer<\/td><td>Set the Node.js version in your host&rsquo;s build settings, or add an <strong>engines<\/strong> field to <strong>package.json<\/strong>.<\/td><\/tr><tr><td>A single-page app shows a 404 error after you refresh a page<\/td><td>The host serves static files but doesn&rsquo;t redirect unknown routes to <strong>index.html<\/strong><\/td><td>Add a redirect rule. Use a <strong>_redirects<\/strong> file for Netlify, a <strong>vercel.json<\/strong> rewrite for Vercel, or an <strong>.htaccess<\/strong> rewrite rule for Hostinger and other Apache-based hosts.<\/td><\/tr><tr><td>The host build shows a &ldquo;Module not found&rdquo; error<\/td><td>The agent installed a package locally but didn&rsquo;t save it to <strong>package.json<\/strong><\/td><td>Run <strong>npm install<\/strong> &lt;package-name&gt; to add the missing package to <strong>package.json<\/strong>, then commit package.json and <strong>package-lock.json<\/strong> and push them to GitHub again.<\/td><\/tr><tr><td>The site shows a blank page after a successful deployment<\/td><td>The output directory in the host&rsquo;s build settings is incorrect<\/td><td>Check the output directory you identified during the production build, then update the host&rsquo;s configuration to match it.<\/td><\/tr><tr><td>The site loads, but API calls fail<\/td><td>Environment variables are missing on the host, or the code still points to <strong>localhost<\/strong><\/td><td>Add all required variables in the host&rsquo;s dashboard and replace hardcoded <strong>localhost<\/strong> URLs with production endpoints.<\/td><\/tr><\/tbody><\/table><\/figure><p class=\"wp-block-paragraph\">If you&rsquo;re not sure what went wrong, paste the full deployment log into Antigravity&rsquo;s agent chat and enter this prompt:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">This is the deployment log from [host name]. Fix the underlying issue.<\/pre><p class=\"wp-block-paragraph\">The agent can trace the error to specific files, identify missing dependencies, and fix the code.<\/p><p class=\"wp-block-paragraph\">Once you resolve the issue, push the fix to GitHub and let your host redeploy the site automatically. If you set up Hostinger Connector earlier, you can redeploy directly from the IDE with a prompt such as:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Redeploy my website on Hostinger.<\/pre><h2 class=\"wp-block-heading\" id=\"h-best-practices-when-deploying-a-website-from-antigravity\"><strong>Best practices when deploying a website from Antigravity<\/strong><\/h2><p class=\"wp-block-paragraph\">Deploying your Antigravity project from the IDE to a live site is easier when you build good habits into your workflow, such as using planning mode before major changes, reviewing the agent&rsquo;s output before pushing, and keeping your dependencies up to date.<\/p><p class=\"wp-block-paragraph\">These habits help every time you make changes, not just during the first deployment:<\/p><ul class=\"wp-block-list\">\n<li><strong>Use planning mode before major changes.<\/strong> Without planning mode, the agent may start writing code in a direction that&rsquo;s difficult to undo. Start your prompt with &ldquo;Use planning mode to implement [task]&rdquo; or &ldquo;Write a plan first. Don&rsquo;t modify any files yet.&rdquo; The agent will create a plan and wait for your approval before making changes.<\/li>\n\n\n\n<li><strong>Review the agent&rsquo;s changes before pushing.<\/strong> The agent may accidentally delete files, hardcode values, or add packages that weren&rsquo;t part of your request. Review the changed files every time the agent finishes a task. If something looks wrong, ask the agent to explain or revert the change.<\/li>\n\n\n\n<li><strong>Keep dependencies up to date.<\/strong> Outdated packages are a common vulnerability on websites. In your GitHub repository, go to <strong>Settings &rarr; Advanced Security<\/strong>, then enable <strong>Dependabot alerts<\/strong> and <strong>Dependabot security updates<\/strong>. GitHub will automatically open pull requests when a package needs a security update. You can also run <strong>npm audit<\/strong> in the terminal after each major change to check for vulnerabilities manually.<\/li>\n\n\n\n<li><strong>Check deployment logs after every push.<\/strong> A successful push to GitHub doesn&rsquo;t always mean the host completed the build successfully. After the build runs, open the deployment log in your hosting dashboard and confirm that it succeeded. If it fails, paste the log into the agent chat and ask the AI to trace the error and fix the code before you push again.<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-next-steps-after-your-antigravity-site-is-live\"><strong>Next steps after your Antigravity site is live<\/strong><\/h2><p class=\"wp-block-paragraph\">Once your Antigravity site is live, set up analytics, monitoring, and backups so you&rsquo;re ready for real traffic and protected from data loss.<\/p><ul class=\"wp-block-list\">\n<li><strong>Install analytics.<\/strong><a href=\"\/ca\/tutorials\/google-analytics-4-tutorial\/\" target=\"_blank\" rel=\"noreferrer noopener\"> Set up Google Analytics<\/a> or Plausible on your site so you can see where visitors come from and which pages they view. Both services provide a code snippet during signup that you paste into your site&rsquo;s HTML. Push the updated code to GitHub and confirm events appear in your analytics dashboard.<\/li>\n\n\n\n<li><strong>Add uptime monitoring.<\/strong> Consider adding <a href=\"\/ca\/tutorials\/how-to-monitor-uptime-and-downtime\/\" target=\"_blank\" rel=\"noreferrer noopener\">uptime monitoring to your website<\/a> to get an alert when your site experiences downtime or stops responding. You can do this using a free service like UptimeRobot or Better Uptime. Create an account, add your site&rsquo;s URL as a new monitor, and set it to check every five minutes.<\/li>\n\n\n\n<li><strong>Enable backups.<\/strong> This is especially important for dynamic apps with a database, but static sites also benefit from a quick rollback option as well. On Hostinger, you can <a href=\"\/ca\/tutorials\/downloading-website-backup\/\" target=\"_blank\" rel=\"noreferrer noopener\">back up your site<\/a> on hPanel by going to <strong>Websites &rarr; Dashboard &rarr; Files &rarr; Backups<\/strong>. Other hosts should have a similar option in their dashboard settings.<\/li>\n\n\n\n<li><strong>Audit access tokens.<\/strong> Open the settings or API section of each service you connected during setup (your hosting provider, database, third-party APIs) and check for active tokens. Remove any you no longer need, and rotate the ones you&rsquo;re still using every three to six months.<\/li>\n\n\n\n<li><strong>Upgrade hosting if you hit resource limits.<\/strong> Free-tier hosts cap build minutes, bandwidth, or both. If your site starts failing builds or loading slowly under traffic, open your host&rsquo;s resource usage dashboard to confirm you&rsquo;ve hit a limit, then upgrade to a paid plan. <a href=\"\/support\/1583459-how-to-upgrade-a-hosting-plan-at-hostinger\/\" target=\"_blank\" rel=\"noreferrer noopener\">Hostinger customers can upgrade to a higher-tier plan<\/a> by going to <strong>hPanel &rarr;<\/strong> <strong>Websites<\/strong> &rarr; <strong>Upgrade<\/strong> next to the website.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>To deploy a website from Antigravity, push your project to a GitHub repository and connect it to a hosting provider that builds and serves your site. Google Antigravity is an agentic development platform where AI coding agents can plan, write, and test entire projects in one place. However, it doesn&rsquo;t host websites. Your project stays [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/ca\/tutorials\/how-to-deploy-a-website-from-antigravity\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":411,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"How to deploy a website from Antigravity","rank_math_description":"Learn how to deploy a website from Antigravity in seven steps, including preparing your project, pushing it to GitHub, and connecting your repository to a web host.","rank_math_focus_keyword":"how to deploy a website from antigravity","footnotes":""},"categories":[22683],"tags":[],"class_list":["post-146222","post","type-post","status-publish","format-standard","hentry","category-hosting"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-deploy-a-website-from-antigravity\/","default":1},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-deploy-a-website-from-antigravity\/","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-deploy-a-website-from-antigravity\/","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-deploy-a-website-from-antigravity\/","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-deploy-a-website-from-antigravity\/","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-deploy-a-website-from-antigravity\/","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-deploy-a-website-from-antigravity\/","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-deploy-a-website-from-antigravity\/","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/posts\/146222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/users\/411"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/comments?post=146222"}],"version-history":[{"count":0,"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/posts\/146222\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/media?parent=146222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/categories?post=146222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/tags?post=146222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}