私は私用のテーマを持っています、そしてそれをできるだけスムーズに新しいテーマバージョンをデプロイしたいです。
私は聞いたことがあります。
そこで、毎回違う名前のZipファイルを使ってテーマを更新するというアイデアを思いついた(例えばmy-awesome-theme-0.1.Zip
など)。
それは良い考えでしょうか、それとも何かが足りないのですか。
私はバージョン管理されたアーカイブを使ったプライベートテーマの更新にこのアプローチを使っていて、それは私にはかなりうまくいくようです。まだ問題はありません。だから私は個人的なテーマを推測します - それは良いものです。
また、私はこのようなバージョン管理されたテーマアーカイブを構築するためのスクリプトを思い付きました:
#!/bin/bash
echo "======================";
echo "BUILDING THEME ARCHIVE";
echo "======================";
# Get version from style.css and CHANGES.md and compare them.
# If they are the same - proceed.
VER_STYLE="$(cat style.css | grep 'Version: ' | Perl -pe "s/Version: (.*)\\n/\1/g")"
VER_CHANGES="$(head -n 1 CHANGES.md | xargs | awk '{ print $2 }')"
if [ $VER_STYLE != $VER_CHANGES ]; then
printf "\e[31;5;21m%s\e[0m\n" "BUILD FAILED"
echo "Your version in style.css ($VER_STYLE) differs from version in CHANGES.md ($VER_CHANGES).";
echo "Please actualize.";
exit 1;
fi
# Theme archive build.
# Also create a new tag for builded version.
build_name="my-theme_$VER_STYLE.Zip"
echo "Building $build_name ...";
Zip -r -q \
--exclude=.* \
--exclude=sass/* \
--exclude=*/.DS_Store \
--exclude=*.md \
--exclude=*.Zip \
--exclude=*.sh \
$build_name . && git tag $VER_STYLE && git Push --tags && printf "\e[32;5;21m%s\e[0m\n" "done" ;
exit 0;
サーバーに直接アクセスすると通常人々は単にファイルの変更をアップロード/同期します。しかしながら、これはテーマが更新されている過程で誰かがそのサイトを訪れている可能性を残します。
最小限の中断でそれを行う方法:
theme-name-update
)。theme-name
> theme-name-old
)。theme-name-update
> theme-name
)。1つのCLIコマンドでステップ2と3を実行すると(またはスクリプトが作成されると)、スワップが非常に速く行われ、問題が発生しにくくなります。