Dropboxを開発環境として使う
[更新: March 5, 2013]
無料で使える容量は2Gしかありませんが、ソースコードや設定ファイルを保存する用途では2Gあれば当分大丈夫ではないかと思っています。 開発環境から本番環境への移行はスクリプトを書いて、スクリプトを実行することによりデプロイできるようにしようと計画してみます。
- $HOME/Dropbox/dev/metaproj/proj/release
少し職場環境にインスパイアされてますが(コンセプトなので大丈夫なはず...) 開発は上記ディレクトリで行い、本番環境は/dist以下にコピーして、そこからdaemontoolやmonit等を用いて起動する方向です。
- /dist/metaproj/proj/release2
- /dist/metaproj/proj/prod -> release2
移行スクリプトを書きます。
!/bin/bash
#=============================================
# This copys Dropboxy directory to /dist
# so that it can be used in production.
#
# NOTE: This needs to be ran by root
#=============================================
USER_ID=$1;
/usr/bin/getent passwd $USER_ID 2>&1 1>/dev/null
if [[ $? -ne 0 ]]
then
echo "$USER_ID is not valid user"
exit 1;
fi
DROPBOX_DIR="/home/$USER_ID/Dropbox"
# Check argument
if [[ -z $2 || -z $3 || -z $4 ]]
then
echo "Usage: dist.sh UID META_PROJ PROJ RELESE"
exit 1;
fi
META_PROJ=$2
PROJ=$3
REL=$4
# Check source directory
if [[ ! -d "$DROPBOX_DIR/$META_PROJ/$PROJ/$REL" ]]
then
echo "No directory to copy from : $DROPBOX_DIR/$META_PROJ/$PROJ/$REL doesn't exist"
exit 1;
fi
DIST_DIR=/dist/$META_PROJ/$PROJ/$REL
if [[ ! -d $DIST_DIR ]] ;
then
echo "Creating distination directory"
mkdir -p $DIST_DIR
fi
cp -rp $DROPBOX_DIR/$META_PROJ/$PROJ/$REL/* $DIST_DIR/
chown -R $USER_ID $DIST_DIR
スクリプトはrootで下記のように走らせ、Dropboxのディレクトリからコピーする。
# ./dist.sh kamesho webapp suisentosho 0.5
現状は一人で開発しているのでこれで大丈夫でしょう。複数人で開発するようになったら、gitレポジトリを配置してそこでバージョンコントロールすれば良いかな。
Dropboxのインストール方法 on CentOS 6.3 64bit
SakuraのVPSを使用しています。dropboxのインストールは、 https://www.dropbox.com/install?os=lnx に行き、説明に従い下記のコマンドで展開後、dropboxdを起動する。
$ cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
$ ~/.dropbox-dist/dropboxd
そうすると”This client is not linked to any account...”とhttps://... にアクセスするように言われるので、dropboxdを起動したまま ブラウザでアクセスしてパスワードを入れる。(ちなみにdropboxdを落としてたのでなかなか認証されずにハマりました -_-;;
CLIツールでdropboxdを操作するのでインストールページにあるツールをダウンロードしてツールを使って起動する。
$ mkdir ~/bin
$ cd ~/bin
$ wget https://www.dropbox.com/download?dl=packages/dropbox.py
$ chmod +x
$ ./dropbox.py start
~/Dropboxが作成され、いい感じ^^ cronに入れるもよし、起動スクリプトを書くのもよし、とりあえず自分はマニュアルで起動します。サーバは24/7であがってるし。
どうやらLansyncというものがご近所さんの迷惑になるとのことなのでDisableします。
$ dropbox.py lansync n