ワンコマンドデプロイメント

Hexoは高速で簡単なデプロイ戦略を提供します。サーバーにサイトをデプロイするには、1つのコマンドのみが必要です。

$ hexo deploy

サーバー/リポジトリが提供するデプロイメント方法と互換性のある、必要なプラグインをインストールしてください。

デプロイメントは通常、**_config.yml** を通じて設定されます。有効な設定には、`type` フィールドが必要です。例:

deploy:
type: git

複数のデプロイヤーを使用できます。Hexoは各デプロイヤーを順番に実行します。

deploy:
- type: git
repo:
- type: heroku
repo:

より多くのデプロイメントプラグインについては、プラグインリストを参照してください。

Git

  1. hexo-deployer-git をインストールします。
$ npm install hexo-deployer-git --save
  1. **_config.yml** を編集します(例として以下の値をコメントで示しています)。
deploy:
type: git
repo: <repository url> # https://bitbucket.org/JohnSmith/johnsmith.bitbucket.io
branch: [branch]
message: [message]
オプション 説明 デフォルト
repo ターゲットリポジトリのURL
branch ブランチ名。 gh-pages (GitHub)
coding-pages (Coding.net)
master (その他)
message コミットメッセージをカスタマイズします。 サイト更新済み: {{ now('YYYY-MM-DD HH:mm:ss') }}
token リポジトリへの認証に必要なオプションのトークン値。環境変数からトークンを読み取るには、`$` をプレフィックスとして付けます。
  1. サイトをデプロイします `hexo clean && hexo deploy`。
  • トークンまたはSSHキーで認証しない限り、ターゲットリポジトリのユーザー名とパスワードの入力が求められます。
  • hexo-deployer-gitはユーザー名とパスワードを保存しません。git-credential-cache を使用して一時的に保存してください。
  1. リポジトリの設定に移動し、「Pages」ブランチを`gh-pages`(または設定で指定したブランチ)に変更します。デプロイされたサイトは、「Pages」設定に表示されているリンクで公開されます。

Heroku

hexo-deployer-heroku をインストールします。

$ npm install hexo-deployer-heroku --save

設定を編集します。

deploy:
type: heroku
repo: <repository url>
message: [message]
オプション 説明
repo, repository HerokuリポジトリのURL
message コミットメッセージをカスタマイズします(デフォルトは`Site updated: {{ now('YYYY-MM-DD HH:mm:ss') }}`)。

Netlify

Netlify は、継続的デプロイメント(Gitトリガービルド)、インテリジェントなグローバルCDN、完全なDNS(カスタムドメインを含む)、自動HTTPS、アセットアクセラレーションなどを提供します。コードを自動化して、高性能で簡単に保守できるサイトやWebアプリケーションを作成する統合プラットフォームです。

Netlifyにサイトをデプロイするには、2つの異なる方法があります。最も一般的な方法はWeb UIを使用することです。新しいサイトページを作成する に移動し、GitHub、GitLab、またはBitbucketからプロジェクトリポジトリを選択して、指示に従ってください。

あるいは、NetlifyのNodeベースのCLIツールを使用して、ターミナルを離れることなくNetlifyでサイトを管理およびデプロイできます。

READMEファイルにNetlifyへのデプロイボタンを追加して、他の人がリポジトリのコピーを作成し、ワンクリックでNetlifyにデプロイできるようにすることもできます。

Rsync

hexo-deployer-rsync をインストールします。

$ npm install hexo-deployer-rsync --save

設定を編集します。

deploy:
type: rsync
host: <host>
user: <user>
root: <root>
port: [port]
delete: [true|false]
verbose: [true|false]
ignore_errors: [true|false]
オプション 説明 デフォルト
host リモートホストのアドレス
user ユーザー名
root リモートホストのルートディレクトリ
port ポート 22
delete リモートホストの古いファイルを削除する true
verbose 詳細メッセージを表示する true
ignore_errors エラーを無視する false

OpenShift

hexo-deployer-openshift は2022年に非推奨となりました。

hexo-deployer-openshift をインストールします。

$ npm install hexo-deployer-openshift --save

設定を編集します。

deploy:
type: openshift
repo: <repository url>
message: [message]
オプション 説明
repo OpenShiftリポジトリのURL
message コミットメッセージをカスタマイズします(デフォルトは`Site updated: {{ now('YYYY-MM-DD HH:mm:ss') }}`)。

FTPSync

hexo-deployer-ftpsync をインストールします。

$ npm install hexo-deployer-ftpsync --save

設定を編集します。

deploy:
type: ftpsync
host: <host>
user: <user>
pass: <password>
remote: [remote]
port: [port]
clear: [true|false]
verbose: [true|false]
オプション 説明 デフォルト
host リモートホストのアドレス
user ユーザー名
pass パスワード
remote リモートホストのルートディレクトリ /
port ポート 21
clear アップロード前にリモートディレクトリからすべてのファイルとディレクトリを削除する false
verbose 詳細メッセージを表示する false

SFTP

hexo-deployer-sftp をインストールします。SFTPを介してサイトをデプロイし、ssh-agentを使用してパスワード不要の接続を可能にします。

$ npm install hexo-deployer-sftp --save

設定を編集します。

deploy:
type: sftp
host: <host>
user: <user>
pass: <password>
remotePath: [remote path]
port: [port]
privateKey: [path/to/privateKey]
passphrase: [passphrase]
agent: [path/to/agent/socket]
オプション 説明 デフォルト
host リモートホストのアドレス
port ポート 22
user ユーザー名
pass パスワード
privateKey SSH秘密鍵へのパス
passphrase 秘密鍵のオプションのパスフレーズ
agent ssh-agentソケットへのパス $SSH_AUTH_SOCK
remotePath リモートホストのルートディレクトリ /
forceUpload 既存のファイルを上書きする false
concurrency 同時に処理されるSFTPタスクの最大数 100

Vercel

Vercel は、開発者がJamstack WebサイトとWebサービスをホストできるようにするクラウドプラットフォームであり、瞬時にデプロイされ、自動的にスケーリングされ、監視を必要とせず、すべてゼロ構成で実現します。グローバルエッジネットワーク、SSL暗号化、アセット圧縮、キャッシュ無効化などを提供します。

ステップ1:`package.json`ファイルにビルドスクリプトを追加します。

{
"scripts": {
"build": "hexo generate"
}
}

ステップ2:Hexo WebサイトをVercelにデプロイします。

VercelのGit統合を使用してHexoアプリをデプロイするには、Gitリポジトリにプッシュされていることを確認してください。

インポートフローを使用してプロジェクトをVercelにインポートします。インポート中に、関連するすべてのオプションが事前に設定されていることがわかります。ただし、これらのオプションのいずれかを変更することもできます。そのリストはこちらにあります。

プロジェクトがインポートされた後、ブランチへの後続のプッシュはすべてプレビューデプロイメントを生成し、本番ブランチ(一般的に「main」)に加えられたすべての変更は本番デプロイメントになります。

または、下のデプロイボタンをクリックして新しいプロジェクトを作成することもできます。

Deploy Vercel

Bip

Bip は、静的Webサイトに対してゼロダウンタイムデプロイメント、グローバルCDN、SSL、無制限の帯域幅などを提供する商用ホスティングサービスです。プランは従量制で、ドメインごとに利用可能です。

BipはHexoをすぐにサポートしているため、すぐに開始できます。このガイドでは、BipドメインとBip CLIが既にインストールされていることを前提としています。

1:プロジェクトディレクトリを初期化します。

$ bip init

プロンプトに従ってください。デプロイするドメインを尋ねられます。BipはHexoを使用していることを検出し、ソースファイルディレクトリなどのプロジェクト設定を自動的に設定します。

2:Webサイトをデプロイします。

$ hexo generate —deploy && bip deploy

しばらくすると、Webサイトがデプロイされます。

RSS3

hexo-deployer-rss3 は2023年に非推奨となりました。

RSS3 は、Web 3.0時代のコンテンツとソーシャルネットワーク用に設計されたオープンなプロトコルです。

  1. hexo-deployer-rss3 をインストールします。

  2. 設定を変更します。

deploy: # The root configuration block for all deployers
- type: rss3
endpoint: https://hub.rss3.io
privateKey: 47e18d6c386898b424025cd9db446f779ef24ad33a26c499c87bb3d9372540ba
ipfs:
deploy: true
gateway: pinata
api:
key: d693df715d3631e489d6
secret: ee8b74626f12b61c1a4bde3b8c331ad390567c86ba779c9b18561ee92c1cbff0
パラメーター 説明
endpoint RSS3ハブへのリンク
privateKey あなたの秘密鍵、64バイト
ipfs/deploy IPFSにデプロイするかどうか
ipfs/gateway IPFS APIゲートウェイ
ipfs/api/key IPFSゲートウェイ関連の認証コンテンツ
ipfs/api/secret IPFSゲートウェイ関連の認証コンテンツ
  1. 静的ファイルを生成する

  2. deploy

デプロイメントに関する考慮事項については、ドキュメントを参照してください。

Edgio (旧Layer0)

Edgio (旧Layer0) は、チームがWebアプリとAPIを簡単に構築、リリース、保護、高速化できるインターネット規模のプラットフォームです。

  1. Hexoプロジェクトディレクトリで、Edgio CLIをインストールします。
npm i -g @edgio/cli
  1. EdgioによるHexoコネクタをインストールします。
edgio init --connector=@edgio/hexo
  1. デプロイ
edgio deploy

または、下のデプロイボタンをクリックして新しいプロジェクトを作成することもできます。

Deploy To Edgio

その他の方法

生成されたすべてのファイルは、`public`フォルダに保存されます。好きな場所にコピーできます。