**文書の過去の版を表示しています。**
Metasearch運用手順
ローカルでの開発後のテスト環境でのテスト、及び本番環境へのデプロイは以下の手順で行う。
以下は容量が小さいファイルの更新手順(100Mb以下のファイルの更新手順)
テスト環境でのテスト
- ローカル環境にm50v251n3サーバ上の/home/yoshitake/metasearch_repo をリモートリポジトリとして追加する。
- linuxターミナル上なら例えば、
mkdir /tmp/mylocalrepo; cd /tmp/mylocalrepo/; git init; git remote add metarepo /home/yoshitake/metasearch_repo/; git pull metarepo master;
ユーザ名も変更しておく。
git config --local user.name "Yoshitake"; git config --local user.email "akyoshita@g.ecc.u-tokyo.ac.jp"
- ローカル環境で開発が完了したら、上記リポジトリにPushする。(この時自動的にテスト環境へのデプロイとGithubへのPushが行われる)
- linuxターミナル上なら例えば、
cd /tmp/mylocalrepo/metasearch/script/; ...なにかファイルを編集...; git commit -m "コメントを書くこと"; git push metarepo
- (npmモジュールの更新などを行った場合のみ)
cd /home/yoshitake/metasearch_dev/metasearch
に移動し、npm install
で依存関係を解消する。 cd /home/yoshitake/metasearch_dev/metasearch
に移動し、npm start
でテスト環境のアプリケーションを起動する。- https://meta.fs.a.u-tokyo.ac.jp/metasearch_dev/ にアクセスし、問題なく動作するかを確認する。
本番環境へのデプロイ
- まだ本番環境を構築していないときは、
mkdir /home/yoshitake/metasearch_test; cd /home/yoshitake/metasearch_test; git init; git remote add origin /home/yoshitake/metasearch_repo;
を実行しておく。
- また、既に実行されているMetaSearchDBを停止させておく。
forever list
で出てくるのはMetaSearchDBやMitoSearchがあるので、どれがMetaSearchDBかを調べるため、pidの数字に対してpwdx <pid>
とpwdxを使って実行ディレクトリを調べて、/home/yoshitake/metasearch/metasearch
で実行されているプロセスのuid前の数字(0,1,2,…程度の値)を割り出す。それからforever stop <uid前の数字>
で停止できる。停止まで数分程度かかる様子。 - 本番環境に移動する。
cd /home/yoshitake/metasearch/metasearch
- リモートリポジトリ(/home/yoshitake/metasearch_repo)から、最新版をPull。
git pull
(初回構築時はgit pull origin master
の必要あり) - もし新規に構築した場合、scriptフォルダの中のファイルがいくつか不足しているので、
*.sif
ファイルコピーや、db*
へのシンボリックリンク作成などを、他の実行環境を見て適宜行う。 git pull
が上手くできない場合(基本的にデプロイ後スクリプトの修正が入るとpullできない)、git fetch origin master
でリモートの最新の状態を取り込んだ後、git reset --hard origin/master
でリセットをおこなう。- アプリケーションのあるディレクトリに移動。
cd /home/yoshitake/metasearch/metasearch
その後、依存関係を解消する。npm install
forever start --workingDir /home/yoshitake/metasearch/metasearch/ -c "npm start" ./
で再起動。
※startが上手くいかない時は取り敢えずPCをrebootした方が楽。foreverを止めてもPortを占有してしまっているので・・- これでデプロイ完了。
大容量ファイルの運用
ローカル環境、テスト環境(/home/yoshitake/metasearch_dev/metasearch)、本番環境(/home/yoshitake/metasearch/metasearch)にそれぞれ手動でコピーする。
InputファイルのDB更新の際はmetasearch_exec.sh上のdbPath変数を変更してあげればよい(絶対パス)