Gatsby

अपनी Gatsby ऐप डिप्लॉय करें

Gatsby has been a static-site generator from the start, and gatsby build has written to the same public folder for years. Nothing unusual here — build it, deploy it.

steps
  1. 01

    Build the site

    Run "gatsby build" (or "npm run build", which calls the same thing). Gatsby pre-renders every page and writes optimized static output to "public".

  2. 02

    Skip develop mode

    "gatsby develop" starts a live-reloading dev server on its own port — it's not what produces deployable output. You want "build", not "develop".

  3. 03

    इसे डिप्लॉय करें

    अपने प्रोजेक्ट रूट से "npx harvis deploy public" चलाएँ। इस पहले डिप्लॉय के लिए कोई कॉन्फ़िग और कोई लॉगिन नहीं चाहिए — आपको तुरंत एक लाइव URL मिलता है, साथ ही जब चाहें साइट को मुफ़्त अकाउंट से जोड़ने के लिए एक प्राइवेट क्लेम लिंक।

Gatsby को एक कमांड से डिप्लॉय करें

अपना प्रोजेक्ट बनाएँ, फिर आउटपुट फ़ोल्डर harvis को सौंप दें। पहले डिप्लॉय के लिए किसी अकाउंट की ज़रूरत नहीं — आपको एक लाइव लिंक और बाद में इसे मैनेज करने के लिए एक प्राइवेट क्लेम लिंक मिलेगा।

terminal
gatsby build
npx harvis deploy public

टर्मिनल के बजाय फ़ाइलें खींचना पसंद है? प्रोजेक्ट बनाएँ, फिर आउटपुट फ़ोल्डर यहाँ ड्रॉप करें और इसे उसी तरह पब्लिश करें।

git hook

Deploy Gatsby on every git push

The command above is one you will run again after every change. A git hook runs it for you: this one already points at public, the folder Gatsby builds into.

The folder holding the finished site. "." is the repo root, which is right for hand-written HTML; a static-site generator writes somewhere else.

pre-push fires on every branch and every remote, so a feature branch would publish over your live site. With this on, a push from anywhere else exits early and goes through untouched.

in your repo root
cat > .git/hooks/pre-push <<'EOF'
#!/bin/sh
set -e
gatsby build
harvis deploy public
EOF
chmod +x .git/hooks/pre-push

The options, the gotchas and how to share a hook with your team are on the git hook page.

Gatsby डिप्लॉय से जुड़े सवाल

My Gatsby site pulls data from a CMS. Does that still work after deploying?

Yes, as long as the data fetching happens at build time through Gatsby's GraphQL data layer, which is the normal Gatsby pattern. The page is already fully rendered with that data baked in by the time gatsby build finishes — nothing needs to run at request time.

Do Gatsby's dynamic routes and client-only paths work?

Pages generated via createPages at build time work fine — they're plain files in public. Client-only routes (Reach Router matchPath) render in the browser after the shell loads, and harvis's fallback to your entrypoint HTML handles the direct-visit case.

क्या Gatsby ऐप को harvis पर डिप्लॉय करना सच में मुफ़्त है?

हाँ, कोई कार्ड नहीं चाहिए। मुफ़्त सीमाएँ 500 फ़ाइलें और 50 MB प्रति साइट हैं, जो एक स्टैटिक Gatsby बिल्ड के लिए काफ़ी जगह देती हैं। पब्लिश की गई साइट्स एक्सपायर नहीं होतीं — जब तक आप उन्हें डिलीट नहीं करते, वे लाइव रहती हैं।

क्या मैं डिप्लॉय की गई Gatsby साइट के साथ अपना खुद का डोमेन इस्तेमाल कर सकता हूँ?

हर साइट को एक मुफ़्त harvis.page एड्रेस मिलता है, और क्लेम करने के बाद आप डैशबोर्ड से अपनी पसंद का सबडोमेन चुन सकते हैं — रैंडम की बजाय my-app.harvis.page जैसा कुछ। आपके पास पहले से मौजूद किसी डोमेन (जैसे mystore.com) को साइट पर पॉइंट करना अभी सपोर्टेड नहीं है।

यह Gatsby को Vercel या Netlify पर डिप्लॉय करने से कैसे अलग है?

Vercel और Netlify एक Git रेपो को कनेक्ट करने और आपका बिल्ड उनके सर्वर पर चलाने पर बने हैं, साथ में इसे कॉन्फ़िगर करने के लिए एक डैशबोर्ड। harvis यह सब छोड़ देता है: आप लोकली (या अपने CI में) बिल्ड करते हैं, आउटपुट फ़ोल्डर पर एक CLI कमांड चलाते हैं, और एक लिंक पाते हैं — कोई प्रोजेक्ट सेटअप नहीं, और साइट रखने तक कोई अकाउंट नहीं चाहिए।

other frameworks

कुछ और डिप्लॉय कर रहे हैं?

तरीका हर जगह एक जैसा है — पहले बनाएँ, फिर npx harvis deploy से आउटपुट डिप्लॉय करें।