自作のデプロイツール svnからチェックアウトしてrsyncする
デプロイツールを自作したので、メモ
まぁ、こんなの作るよりもちゃんとツールを使いこなした方がよいんだけど。
だいたいの開発はPHPなので、こんなツールでいいんだろな
PHPのためのCapistrano風デプロイツール「Rocketeer」でLaravelをデプロイする - atijust's blog
シェルの練習がてらにと。
#!/bin/sh #svnから更新して、更新があったファイルのみをデプロイする #svnから更新ファイルを取得 svn update [svnの場所] --username [username] --password [password] # リモートとローカルのディレクトリパス REMOTE_EXC_DIR_DATA="[rsync先のディレクトリ]" LOCAL_EXC_DIR_DATA="[rsync元のディレクトリ]" #同期させないディレクトリ/ファイル名 #ディレクトリ名に/をつけるとディレクトリごとrsync /つけないとそのディレクトリの中身を更新 EXCLUDE_DATA_DIR="*.svn/ cache/ logs/ download/ downloads/tmp/ config/ Smarty/templates_c/ upload/ fonts/ include/ require_plugin.php require_base.php require_compat.php" #rsycで同期したくないディレクトリを --excludeのオプションに設定 for DIR in $EXCLUDE_DATA_DIR do TMP="--exclude "$DIR EXCLUDE_EXC_DATA=$EXCLUDE_EXC_DATA" "$TMP done # 引数に応じてオプション切り替え if [ $1 == "check" ]; then # -n オプションは実行結果を表示するだけで実際に転送はしない。 OPTION="-avn --delete -e ssh "; elif [ $1 == "exec" ]; then # ↑から n を取っただけ。 OPTION="-av --delete -e ssh "; else echo "Invalid argument"; echo "Usage: deploy.sh [check|exec]"; exit; fi rsync $OPTION $EXCLUDE_EXC_DATA $LOCAL_EXC_DIR_DATA giftdev:$REMOTE_EXC_DIR_DATA