<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Deployment on OINK</title>
    <link>https://oink.pgsty.com/categories/deployment/</link>
    <description>Recent content in Deployment on OINK</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    
    
    
      <lastBuildDate>Fri, 14 Aug 2026 21:56:46 +0800</lastBuildDate>
    
    
      <atom:link href="https://oink.pgsty.com/categories/deployment/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
        <title>Deployment on Cloudflare Pages</title>
        <link>https://oink.pgsty.com/docs/deploy/cloudflare/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://oink.pgsty.com/docs/deploy/cloudflare/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://developers.cloudflare.com/pages/framework-guides/deploy-a-hugo-site/&#34;&gt;Cloudflare Pages&lt;/a&gt; can build an Oink site from a connected GitHub or GitLab&#xA;repository and create preview deployments for reviewed branches. The consumer&#xA;build runs Hugo Extended directly and does not need a frontend package install.&lt;/p&gt;&#xA;&lt;h2 id=&#34;configure-the-project&#34;&gt;Configure the project&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#configure-the-project&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Import the repository in &lt;strong&gt;Workers &amp;amp; Pages&lt;/strong&gt;, select the production branch, and&#xA;use these settings:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Setting&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Value&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Production branch&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;main&lt;/code&gt;, or the reviewed source branch&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Build command&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;hugo --gc --minify&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Build output directory&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;public&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;HUGO_VERSION&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;0.164.0&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;SKIP_DEPENDENCY_INSTALL&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Set &lt;code&gt;HUGO_VERSION&lt;/code&gt; in both the Production and Preview environments. Cloudflare&#xA;Pages&amp;rsquo; v3 &lt;a href=&#34;https://developers.cloudflare.com/pages/configuration/build-image/&#34;&gt;build image&lt;/a&gt; currently defaults to Hugo &lt;code&gt;0.147.7&lt;/code&gt;, which is below&#xA;Oink&amp;rsquo;s minimum &lt;code&gt;0.160.1&lt;/code&gt;. Pinning the validated version prevents a build-image&#xA;update from silently changing the toolchain. &lt;code&gt;SKIP_DEPENDENCY_INSTALL=1&lt;/code&gt;&#xA;disables the generic dependency installation step that an Oink consumer does not&#xA;use.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Deployment on GitHub Pages</title>
        <link>https://oink.pgsty.com/docs/deploy/github-pages/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://oink.pgsty.com/docs/deploy/github-pages/</guid>
        <description>&lt;p&gt;If your source is hosted on &lt;a href=&#34;https://github.com/&#34;&gt;GitHub&lt;/a&gt;, GitHub Pages can build and publish the&#xA;site with a single Actions workflow. The consuming site needs Hugo Extended but&#xA;does not need Node.js, npm, PostCSS, or a generated deployment branch.&lt;/p&gt;&#xA;&lt;p&gt;Project sites use a URL such as &lt;code&gt;https://&amp;lt;OWNER&amp;gt;.github.io/&amp;lt;REPOSITORY&amp;gt;/&lt;/code&gt;; user&#xA;and organization sites use &lt;code&gt;https://&amp;lt;OWNER&amp;gt;.github.io/&lt;/code&gt;. Custom domains are also&#xA;supported.&lt;/p&gt;&#xA;&lt;h2 id=&#34;prepare-the-repository&#34;&gt;Prepare the repository&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#prepare-the-repository&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Push the complete site source to GitHub and confirm that this command succeeds&#xA;from the repository root:&lt;/p&gt;</description>
      </item>
    <item>
        <title>Other hosts</title>
        <link>https://oink.pgsty.com/docs/deploy/other/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://oink.pgsty.com/docs/deploy/other/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://www.netlify.com/&#34;&gt;Netlify&lt;/a&gt; can build a site from GitHub, GitLab, or Bitbucket and publish a&#xA;preview for each pull request. An OINK consumer build runs Hugo Extended&#xA;directly; it does not install Node.js packages or invoke PostCSS.&lt;/p&gt;&#xA;&lt;h2 id=&#34;configure-the-site&#34;&gt;Configure the site&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#configure-the-site&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Push the complete source to your Git provider, import the repository in Netlify,&#xA;and use these build settings:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Setting&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Value&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Build command&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;hugo --gc --minify&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Publish directory&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;public&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;HUGO_VERSION&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;0.164.0&lt;/code&gt; or another theme-validated version&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;If Netlify detects package manifests that exist only for theme-maintainer&#xA;tooling, disable automatic dependency installation for the site. They are not&#xA;part of the consumer build contract.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Serving your site locally</title>
        <link>https://oink.pgsty.com/docs/deploy/local/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://oink.pgsty.com/docs/deploy/local/</guid>
        <description>&lt;p&gt;Depending on your deployment choice you may want to serve your site locally&#xA;during development to preview content changes. To serve your site locally:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Ensure you have an up to date local copy of your site files cloned from your&#xA;repo.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Ensure Hugo Extended and any source-fetch tools required by your chosen&#xA;installation method are installed, as described in &lt;a href=&#34;https://oink.pgsty.com/docs/tutorial/prerequisites/&#34;&gt;Prerequisites and&#xA;installation&lt;/a&gt;. Node.js and PostCSS are not site-build prerequisites.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Run the &lt;code&gt;hugo server&lt;/code&gt; command in your site root. By default your site will be&#xA;available at &lt;a href=&#34;http://localhost:1313&#34;&gt;http://localhost:1313&lt;/a&gt;.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Deployment</title>
        <link>https://oink.pgsty.com/docs/deploy/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://oink.pgsty.com/docs/deploy/</guid>
        <description>&lt;p&gt;An OINK site builds to a plain static directory. &lt;strong&gt;Anywhere that serves static&#xA;files can host it&lt;/strong&gt; — no Node runtime, no server-side rendering, no build&#xA;plugins.&lt;/p&gt;&#xA;&lt;h2 id=&#34;production-build&#34;&gt;Production build&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#production-build&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-bb896225-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-language=&#34;sh&#34; data-line-count=&#34;1&#34;&gt;&lt;div class=&#34;td-code__utilities td-code__utilities--compact&#34;&gt;&#xA;  &lt;span class=&#34;td-code__language&#34;&gt;BASH&lt;/span&gt;&#xA;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-bb896225-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hugo --gc --minify&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Output goes to &lt;code&gt;public/&lt;/code&gt;, which can be deployed independently of the source&#xA;tree.&lt;/p&gt;&#xA;&lt;div class=&#34;td-fields&#34;&gt;&#xA;  &lt;dl class=&#34;td-fields__list&#34;&gt;&#xA;    &lt;div class=&#34;td-field&#34;&gt;&#xA;      &lt;dt class=&#34;td-field__term&#34;&gt;&#xA;        &lt;code class=&#34;td-field__name&#34;&gt;--gc&lt;/code&gt;&#xA;        &lt;span class=&#34;visually-hidden&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;td-field__type&#34;&gt;&lt;code&gt;flag&lt;/code&gt;&lt;/span&gt;&#xA;      &lt;/dt&gt;&#xA;      &lt;dd class=&#34;td-field__description&#34;&gt;&lt;p&gt;Cleans unreferenced cache&#xA;resources after the build.&lt;/p&gt;&lt;/dd&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;td-field&#34;&gt;&#xA;      &lt;dt class=&#34;td-field__term&#34;&gt;&#xA;        &lt;code class=&#34;td-field__name&#34;&gt;--minify&lt;/code&gt;&#xA;        &lt;span class=&#34;visually-hidden&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;td-field__type&#34;&gt;&lt;code&gt;flag&lt;/code&gt;&lt;/span&gt;&#xA;      &lt;/dt&gt;&#xA;      &lt;dd class=&#34;td-field__description&#34;&gt;&lt;p&gt;Minifies HTML, CSS, JS, and XML&#xA;output.&lt;/p&gt;&lt;/dd&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;div class=&#34;td-field&#34;&gt;&#xA;      &lt;dt class=&#34;td-field__term&#34;&gt;&#xA;        &lt;code class=&#34;td-field__name&#34;&gt;--baseURL&lt;/code&gt;&#xA;        &lt;span class=&#34;visually-hidden&#34;&gt;, &lt;/span&gt;&lt;span class=&#34;td-field__type&#34;&gt;&lt;code&gt;string&lt;/code&gt;&lt;/span&gt;&#xA;      &lt;/dt&gt;&#xA;      &lt;dd class=&#34;td-field__description&#34;&gt;&lt;p&gt;Overrides&#xA;the configured &lt;code&gt;baseURL&lt;/code&gt;. &lt;strong&gt;Must include the path when deploying to a subpath.&lt;/strong&gt;&lt;/p&gt;</description>
      </item>
    
  </channel>
</rss>
