HUGO
Menu
GitHub 87548 stars Mastodon

使用 hugo 部署

使用 hugo 命令行工具部署您的網站。

使用 hugo deploy 命令將您的網站部署到 Amazon S3、Azure Blob Storage 或 Google Cloud Storage。

此功能需要 Hugo extended/deploy 版本。詳見 安裝 部分。

假設

  1. 您已完成 快速入門,或已准備好部署並分享您的 Hugo 網站。

  2. 您擁有要部署的服務提供商(AWSAzureGoogle Cloud)的賬戶。

  3. 您已完成身份驗證。

    每個服務支持多種身份驗證方法,包括環境變量。詳見 詳情

  4. 您已創建要部署到的存儲桶。如果您希望網站公開,請確保將存儲桶配置為靜態網站公開可讀。

配置

在您的 網站配置 中創建部署目標。唯一必需的參數是 nameurl

deployment:
  targets:
  - name: production
    url: s3://my_bucket?region=us-west-1
[deployment]
  [[deployment.targets]]
    name = 'production'
    url = 's3://my_bucket?region=us-west-1'
{
   "deployment": {
      "targets": [
         {
            "name": "production",
            "url": "s3://my_bucket?region=us-west-1"
         }
      ]
   }
}

部署

要部署到目標:

hugo deploy [--target=<target name>]

此命令將本地 public 目錄(默認發布目錄)的內容與目標存儲桶同步。如果未指定目標,Hugo 將部署到第一個配置的目標。

有關更多命令行選項,請參閱 hugo help deployCLI 文檔

文件列表創建

hugo deploy 通過遍歷本地發布目錄和遠程存儲桶來創建本地和遠程文件列表。包含和排除由部署目標的 配置 確定:

  • include:默認跳過所有文件,除非匹配該模式。
  • exclude:跳過匹配該模式的文件。

在創建本地文件列表期間,Hugo 會跳過 .DS_Store 文件和隱藏目錄(以句點開頭,如 .git),但 .well-known 目錄除外(如果存在則遍歷)。

文件列表比較

Hugo 比較本地和遠程文件列表以識別必要的更改。它首先比較文件名。如果兩者都存在,則比較大小和 MD5 校驗和。任何差異都會觸發重新上傳,並且本地不存在的遠程文件將被刪除。

由於 include/exclude 配置而被排除的遠程文件不會被刪除。

--force 標志強制所有文件重新上傳,即使 Hugo 未檢測到本地/遠程差異。

--confirm--dryRun 標志使 Hugo 顯示檢測到的差異,然後暫停或停止。

同步

Hugo 將更改應用到遠程存儲桶:上傳缺失或更改的文件,並刪除本地不存在的遠程文件。上傳的文件頭根據匹配器配置在遠程配置。

為防止意外數據丟失,Hugo 默認不會刪除超過 256 個遠程文件。使用 --maxDeletes 標志可覆蓋此限制。

高級配置

請參閱 配置部署


Last updated: January 1, 0001
Improve this page