DEV Community

tackme
tackme

Posted on

2

Unicornの管理対象アイテムをパッケージ化する

UnicornというSitecoreモジュールをご存知でしょうか?アイテムの変更をgitなどのバージョン管理システムで管理することができるモジュールで、私自身よくプロジェクトで使用しています。

このツールを使用すると開発者間でアイテムを同期することが簡単にできるようになるのですが、そのアイテムをAppServiceなどの本番環境へ直接同期させる方法がないようです。
しかし、調べてみるとUnicornで管理しているアイテムをパッケージ化する方法がありました。
これを使えばパッケージ化して本番環境へインストールすることができるので、今回はその方法を紹介したいと思います。

パッケージ化の方法

① まずはSitecore PowerShell ExtensionsというモジュールをSitecoreへインストールします。

これはPowerShellスクリプトでSitecoreを拡張したり作業の自動化をしたりすることができるモジュールで、大変便利なので今回に限らずインストールをおすすめします。

② 次にLaunch PadからPowerShell ISEを開き、以下のスクリプトを入力します。$unicornConfigName$packageNameは環境に合わせて変えてください。

# Unciornのconfigの名前
# <configuration name="ここの値">
$unicornConfigName = "TestUnicornItems"
# 作成するパッケージ名
$packageName = "Exported Package Name"

$pkg = New-Package -Name $packageName
Get-UnicornConfiguration $unicornConfigName | New-UnicornItemSource -Project $pkg

$now = Get-Date -Format yyyyMMddHHmmss
$filepath = "$SitecorePackageFolder\$packageName.$now.zip"
Export-Package -Project $pkg -Path $filepath -Zip
Download-File $filepath
Enter fullscreen mode Exit fullscreen mode

③ リボンのExecuteボタンを押下すると以下のようなダイアログが表示されるので、Downloadボタンを押すとダウンロードできます。

unicornpackage

ダウンロードできない場合

Sitecore 9.xでかつIdentity Serverを有効化していると、ボタンを押してもダウンロードされないことがあります。その場合は、以下のconfigを有効化するとダウンロードできるようになるはずです。

  • /App_Config/Include/Cognifide.PowerShell.IdentityServer.config.disabled

参考

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs