👏

Omeka Sのモジュール開発におけるGitHubへのリリーススクリプトの作成

2022/09/22に公開

Omeka Sのモジュール開発におけるGitHubへのリリーススクリプトの作成しました。

この開発にあたっては、Omeka Sのモジュールを数多く開発されているDaniel-KM氏のGitHubリポジトリの使い方を参考にしました。

具体的には、GitHubのリポジトリは「Omeka-S-module-{モジュール名}」のように作成されています。

例:https://github.com/Daniel-KM/Omeka-S-module-EasyInstall

そしてリリースについては、「{モジュール名}-{バージョン}」名とともに、「{モジュール名}-{バージョン}.zip」というファイルを添付しています。

例:https://github.com/Daniel-KM/Omeka-S-module-EasyInstall/releases/tag/3.3.6

このzipファイルを展開すると、「{モジュール名}」のフォルダが作成されます。これは、Omeka Sの仕様に合わせて、モジュールの名前と一致したフォルダが必要なためです。

上記を実現するためのスクリプトとして、以下を作成しました。各リポジトリの直下で実行することを想定しています。

set -e

version=1.0.1 # バージョンの例
name=IiifViewers # モジュール名の例
repository_path=. # モジュールのパス(リポジトリの直下で実行する例)

# 不要なファイルを除外したモジュール名のフォルダを作成
rsync -ahv $repository_path $repository_path/$name --exclude '.*' --exclude '*.sh'

# zipファイルの作成
zip $repository_path/$name-$version.zip -r $repository_path/$name

# フォルダの削除
rm -rf $repository_path/$name

# リリース
gh release create $version $repository_path/$name-$version.zip -t $name-$version -n "Released version $version."

# ファイルの削除
rm $repository_path/$name-$version.zip

ghコマンドはインストールが必要です。

https://github.com/cli/cli

よりよい方法があるかと思いますが、Omeka Sのモジュールおよびテーマ開発の参考になりましたら幸いです。

Discussion