mac にWP-CLIがインストールされている前提で・・
オプションでIPを指定できることを知ってIPをカウントして構築するように変更
#!/bin/bash
# set -ex
# Generate vccw
tput setaf 6 && echo "vccwのディレクトリ名を入力してください..."
read DIRNAME
tput setaf 6 && echo -e "\nTASK [ wp scaffold vccw vccw-${DIRNAME} ]******************************************************"
if [ -x "`which wp `" ]; then
VCCW_IP_COUNT=$(grep "ip:" ~/.lafcre8/laf_vccw_setting | sed -e s/ip://g | sed -n 1p)
VCCW_IP_COUNT_UP=$(expr $VCCW_IP_COUNT + 1)
IP="ip:"
echo "$IP$VCCW_IP_COUNT_UP" > ~/.lafcre8/laf_vccw_setting
wp scaffold vccw vccw-$DIRNAME --host=$DIRNAME.dev --lang=ja --ip=192.168.33.$VCCW_IP_COUNT_UP
cd vccw-$DIRNAME
THEMEDIR=wordpress/wp-content/themes/
mkdir wordpress
tput setaf 6 && echo "gitリポジトリを登録してください..."
read -p '追加しましたか?(y/n)' _key
if [ "${_key}" = "y" ] ;then
tput setaf 6 && echo "site.ymlを編集してください..."
read -p '編集しましたか?(y/n)' _key
if [ "${_key}" = "y" ] ;then
tput setaf 6 && echo -e '\nTASK [ vagrant up ]******************************************************'
vagrant up
# Generate theme based on _s
cd wordpress
tput setaf 6 && echo -e '\nTASK [ sudo cat ~/.lafcre8/.gitignore >> .gitignore ]********************'
sudo cat ~/.lafcre8/.gitignore >> .gitignore
tput setaf 6 && echo -e '\nTASK [ moc ディレクトリを作成しています... ]*****************************'
sudo cp -r ~/.lafcre8/moc/ moc
cd $HTDOCS
if [ -e $THEMEDIR ];then
tput setaf 6 && echo "themeを入力してください..."
read THEMENAME
cd $THEMEDIR
tput setaf 6 && echo -e '\nTASK [ wp scaffold _s ]**************************************************'
if [ ! -e $THEMENAME ];then
vagrant ssh -c "wp scaffold _s $THEMENAME --theme_name=\"$THEMENAME\" --sassify"
tput setaf 6 && echo -e "\nTASK [ wp theme activate {$THEMENAME} ]**********************************"
vagrant ssh -c "wp theme activate $THEMENAME"
else
tput setaf 2 && echo 'そのthemeはすでに使用されています。'
vagrant ssh -c "wp theme activate $THEMENAME"
cd $THEMENAME
sudo cp ~/.lafcre8/__vccw_gulp_set.command .
exit
fi
# Gulp setting
cd $THEMENAME
tput setaf 6 && echo -e '\nTASK [ npm install ]*****************************************************'
if [ -e package.json ]; then
tput setaf 2 && echo '[OK] package.jsonがセットされています。'
else
sudo cp ~/.lafcre8/package.json .
tput setaf 2 && echo '[OK] package.jsonをセットしました。'
fi
# npm init
npm install
tput setaf 6 && echo -e "\nTASK [ cp ~/.lafcre8/gulpfile.js ]***************************************"
if [ -e gulpfile.js ]; then
tput setaf 2 && echo '[OK] gulpfile.jsがセットされています。'
else
cp ~/.lafcre8/gulpfile.js .
tput setaf 2 && echo '[OK] gulpfile.jsをセットしました。'
fi
tput setaf 6 && echo -e "gulpfile.js の proxy を設定してください... [http://xxxx.dev]"
read -p '設定は終わりましたか?(y/n)' _key
if [ "${_key}" = "y" ] ;then
gulp
else
tput setaf 6 && echo -e 'proxy [http://xxxx.dev] を指定してください...'
fi
else
echo 'themeディレクトリが存在していません。[ vagrant up ]して下さい。'
fi
else
echo 'site.ymlを編集してから起動しなおしてください。'
exit
fi
else
echo 'gitリポジトリを追加してから起動しなおしてください...'
fi
else
echo 'wp-cliをインストールしてください...'
fi
exit
[ which wp ] のところ試してないのですがコマンドなかったら[wp-cliをインストールしてください]ってでるつもりで書いてます。
~/.lafcre8にオレオレセットが配置してあってそこからもってきています。
※[ vccw_first_set_up.command ]をセットするようにしたのは実行すると[vagrant up]から[gulp watch]までする予定。
別ファイルをセットしてgulpfailを設置することをしてたけどひとつのファイルにまとめました。[20171021:追記]
今後はgulpfail.jsのproxyの指定も書き換えるようにするのとgitのリポジトリに登録かcloneをするようにしていきたい。
クリックで実行できないときは実行権限を付与する
chmod +x fail_name.sh