Published on

Sitecore CLI のインストール for macOS

Authors

Sitecore のコマンドラインツール、Sitecore CLI を今回は macOS にインストールしてみます。これは、PowerShell Core および .NET Core 3.1 ベースで動くコマンドとして提供されているため、Sitecore CLI も macOS 上で動作するためです。

Windows 環境へのインストールは、すでに以下のページで紹介をしています。

インストール

Sitecore CLI を利用する上では、PowerShell がインストールされている必要があります。すでにインストール済みであればスキップしても大丈夫です。今回は Homebrew を利用してインストールするため、Homebrew に関しては公式サイトで確認をして、インストールしてください。

PowerShell for macOS のインストール

PowerShell のインストールは、すでに homebrew がインストールできていればコマンド1行で自動的にセットアップされます。ターミナルを開いて、以下のコマンドを実行してください。

brew install powershell --cask
sitecorecli

インストールが完了したら、以下のコマンドで起動することを確認します。

pwsh
sitecorecli

.NET Core 3.1 のインストール

続いて .NET Core 3.1 をインストールします。以下のサイトからインストーラーをダウンロードして、インストールしてください。

sitecorecli

インストールをした後、パスが通っていないため dotnet のコマンドが動作しないことがあります。これに関しては、シンボリックリンクを追加することで動きます。なお、手元の macOS では x64 のバイナリをインストールしたため、以下のようなコマンドを実行しました。

sudo ln -s /usr/local/share/dotnet/x64/dotnet /usr/local/bin
sitecorecli

Sitecore CLI のインストール

ここからは前回インストールをした時と同じように、プロジェクトごとで利用できるようにしていきます。まず、ディレクトリを移動します(ディレクトリがなければ作ってください)。

cd Projects/SampleDemo

まず定義ファイルを作成します。

dotnet new tool-manifest

続いて nuget ギャラリーの設定をしますが、以前にすでに実施している場合は省略できます。

dotnet nuget add source -n Sitecore https://sitecore.myget.org/F/sc-packages/api/v3/index.json

最後にコマンドをインストールします

dotnet tool install Sitecore.CLI
sitecorecli

コマンドのインストールができました。初期化して、プラグインをインストールします。

dotnet sitecore init
dotnet sitecore plugin add -n Sitecore.DevEx.Extensibility.Serialization
dotnet sitecore plugin add -n Sitecore.DevEx.Extensibility.Publishing
sitecorecli

ログイン

実際に Sitecore のインスタンスに対してログインをします。編集サーバーおよび認証サーバーを指定します。以下はサンプルのドメイン名となっています。

dotnet sitecore login --cm https://shinharaxm-cm.sitecoredemo.com/ --auth https://shinharaxm-id.sitecoredemo.com/ --allow-write true
sitecorecli

コマンド実行後、ブラウザが起動してログイン画面になります。

sitecorecli

ログインを実行すると、権限を付与するかどうかの確認画面に切り替わります。

sitecorecli

許可をすると、ログイン完了ということでコマンドラインの画面がログイン確認のモードから切り替わります。

sitecorecli

ログインができることを確認しました。

動作確認

実際にコマンドを実行して結果を確認していきます。今回はインポートをするデータを準備していないため、以下のように Index をアップデートしてみます。

dotnet sitecore index schema-populate
dotnet sitecore index rebuild
sitecorecli

無事、リモートで準備している Sitecore のインスタンスの処理をコマンドラインで実行することができました。

まとめ

Sitecore CLI を macOS でも利用できることを確認しました。ヘッドレスをメインに開発を進めていくとなると、macOS で開発をして、クラウドに展開をしているサーバーと連携して、という作業ができるようになっていきます。これも PowerShell Core および .NET Core が macOS で動くようになっており、ツールが対応しているため Windows 以外でも作業ができるという状況です。