Drowsy Dog's Diary

any note, any thought

2013年10月16日
by kazoo
0 comments

[git]リモートにあるはずのブランチが git branch -a で見えないとき

やっとわかった。

のように、リモートに存在するのに hotfix/1.3.1 ブランチが $ git branch -a でも出て来ないとき、next fetch のメッセージにあるように、

すればOK。

2013年9月3日
by kazoo
0 comments

[rails] ActiveSupport::CoreExtenstions::Hash::Slice

めもん。

Rails の Core Ext の Hash#slice は、引数で与えられた key だけの Hash を返す。
Controller で Request params に対して 有効なキーのみ残したいときなどに使う。

slice! は逆に、引数に与えられたキーを削除して、残された Hash を返す。

参考(v4.0):
http://railsdoc.eiel.info/active_support/core_ext/hash/#slice

ソース(3.2):
https://github.com/kazoo/rails/blob/3-2-stable/activesupport/lib/active_support/core_ext/hash/slice.rb

2013年8月8日
by kazoo
1 Comment

git merge のときに commit しない

(2013/10/25 -no-commitオプションについて追加)
ようにするには、

で、おk。
コンフリクトが無くてもマージコミットを抑制してくれるので、この後必要なら修正して git commit する。

また、

とすると、同じくコミットはせずマージだけ行う。
ただし後者の場合、 branch_name ブランチ側のコミットログも、branch_name ブランチがあったことも記録としては残らない。トピックブランチの内容をマージ先の1コミットにまとめても構わない場合に使う。

2013年6月12日
by kazoo
0 comments

Redmineサーバの移行

ローカルの Ubuntu 12.04 + nginx + unicorn + mysql で運用していた Redmine を、
クラウドの Ubuntu 12.04 + apache2 + mysql 環境に移してくれというご依頼。

結論から言うと「Redmine の rails フォルダをまるっとコピー」で済ませたのですが。

その前にいろいろやってみたことメモ。
自分用。

Passenger

移行先はほぼクリーンだけど、すでに Apache + MySQL で社内ドキュメント Wiki みたいなのが動いていた。
ので、nginx 共存よりは Apache + Passenger がいいのかな、ということで。導入お勉強。

rbenv

いらんかもしれんけど、システムワイドな .rbenv を入れてみる。
参考:http://qiita.com/items/8e973a544b592376a07e

ここで dev は全員が所属しているグループ名。

各員、.bashrc などに以下を記述しておく。

ruby-build をインストール。

ruby1.93 をインストール。

OK.

apache2 + passenger

Apache2関連モジュールと Passenger のインストール。

このとき足りないパッケージがあれば passenger が教えてくれる。
apache2 の conf に書く内容も教えてくれる。

ということで、この3行を、
/etc/apache2/sites-available/redmine
としてコピー。

Redmine(略)

http://madroom-project.blogspot.jp/2012/12/ubuntu-1204redmine-220apache.html
Ubuntu + Apache + Passenger + Redmine は、ほぼこちらの内容で OK でした。感謝。

あとは database.yml と configuration.yml を現状に合わせて、とりあえず新環境での Redmine 稼働は OK。バージョンは 2.2.0。

データ移行

さて、MySQL データ移行。
DBよく知らないけどたぶん export して import すればいいんだろー、と思ってぐぐってやってみた。
http://fmkt.blog65.fc2.com/blog-entry-7.html
http://napzak.com/tips/?MySQL%E3%81%AE%E3%83%80%E3%83%B3%E3%83%97%EF%BC%88%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%EF%BC%89%E3%80%81%E3%82%A4%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%88%E3%80%81%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97
mysqldumpを使う。ふむふむ。

旧サーバで、

引越し先で

結局

おお。あっさりコピーできた。。と、ぱっと見は思ったのだけど、いざ既存のチケットを操作しようとするとエラーが出たりして、不整合があるらしい。何度かやってみるも結局そこで時間切れ。

最終的には旧 Redmine の rails 環境をそのまま /usr/local/redmine-old に持って来て、

してしまいました。やや不完全燃焼。。。

2013年5月23日
by kazoo
1 Comment

Ubuntu 唐突の Network Unreachable

1ヶ月のおひさしぶりになっちゃいました。の、わりにしょーもないメモ。

***

ローカルネットワーク内の Ubuntu12.04 で走っていた Gitlab (4.2+nginx) で、2ヶ月ほど運用したところで突然 Gitlab からのメールが飛ばなくなった。
→ SSH ログインは問題ない
→ /var/log/syslog に Network Unreachable 多数
→ 名前は引ける。$ nslookup yahoo.com はできるのに、$ ping yahoo.com デキナイ
→ なので内部ネットワークで Gitlab サービスはできてるんだけど、外部メールサーバと接続できてない
→ ローカルネットワークは疎通するが、ルータ外に出て行けない
→ ルーティング設定がおかしい?
→ デフォルトゲートウェイが引けてない?

…と、ここにいたるまでは実際こんなスムーズでなく、
ルータを疑ったり IP 重複を疑ったり火壁を疑ったりで、えらい時間食ってしまいました。

エンジニアの能力って「当たり」の付け方でわかるよね。。orz

***

で、結局のところ、直接の原因はわかってないのですが、
ずっと稼働していたサーバのデフォルトゲートウェイ設定がいつの間にか消えてしまったらしく、
route コマンドで確認すると、

ない。

Ubuntu の設定ファイルの在処がいまいちあやふやなのですが、ぐぐると
/etc/network/interfaces ちゃんと書けぃという情報があるので、

とか書いて、
$ sudo service networking restart
しても NIC にもルーティングにも反映されないのですね。うーん?

なので、同じく route コマンドで

してやって、解決しました。
いまいちしっくりこない神戸っ子のような気分だ。

で、これだけだと再起動時にまた設定を見失うらしいので、これを恒久化するには、
やはり /etc/network/interfaces に、

の一文を加えてやればよいようです。

参考:

http://www.asterisk-works.jp/wiki/index.php/%E3%83%AB%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E8%A8%AD%E5%AE%9A