ワンコマンド・デプロイ

Hexoは迅速かつ簡単なデプロイ戦略を提供します。サイトをサーバーにデプロイするために必要なコマンドはたった一つです。

$ 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 コミットメッセージをカスタマイズ Site updated: {{ now('YYYY-MM-DD HH:mm:ss') }}
token リポジトリの認証に使うオプションのトークン値。環境変数からトークンを読み込むには$をプレフィックスとして使用。
  1. サイトをデプロイします hexo clean && hexo deploy

    • ターゲットリポジトリのユーザー名とパスワードが求められますが、トークンまたはsshキーで認証している場合は必要ありません。
    • hexo-deployer-gitはユーザー名とパスワードを保存しません。これらを一時的に保存するには git-credential-cacheを使います。
  2. リポジトリの設定に移動し、”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ファイルにDeploy to Netlify Buttonを追加し、他の人があなたのリポジトリのコピーを作成した後、ワンクリックで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をインストールします。sshエージェントを利用しパスワードなしでSFTP経由でサイトをデプロイできます。

$ 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エージェントのソケットのパス $SSH_AUTH_SOCK
remotePath リモートホストのルートディレクトリ /
forceUpload 既存のファイルを上書き false
concurrency SFTPタスクを並行して処理する最大数 100

Vercel

Vercelは、ゼロコンフィグでJamstackなウェブサイトをインスタントにデプロイし、自動的にスケールする、監理不要なクラウドプラットフォームです。グローバルエッジネットワーク、SSL暗号化、アセットの圧縮、キャッシュの無効化などを提供します。

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

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

ステップ2: VercelにHexoウェブサイトをデプロイ

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

Import Flowを使用してプロジェクトをVercelにインポートします。オプションはインポート時に事前設定されますが、何れかを変更することもできます。これらのオプションのリストはこちらにあります。

プロジェクトのインポートが完了すると、以降のブランチへのプッシュはPreview Deploymentsを生成し、Production Branch(通常は”main”)に加えられたすべての変更はProduction Deploymentに反映されます。

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

Deploy Vercel

Bip

Bipは、静的ウェブサイトにゼロダウンタイムデプロイ、グローバルCDN、SSL、無制限の帯域幅などを提供する商用ホスティングサービスです。支払いはドメインごとに従量制で行われます。

BipはHexoをサポートしており、すぐ簡単に初められます。このガイドでは、すでにBipドメインを所有しBip CLIをインストールしていることを前提としています。

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

$ bip init

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

2: ウェブサイトをデプロイします

$ hexo generate —deploy && bip deploy

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

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. デプロイします

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

Edgio (旧Layer0)

Edgio (旧Layer0)は、WebアプリやAPのをビルド、リリース、保護を加速する、インターネットスケールなプラットフォームです。

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

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

Deploy To Edgio

その他の方法

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