git push でリポジトリが更新されたときに、commitの内容をメールで送信する方法。
ディストリビューションにもよるが、メール送信スクリプトは
/usr/share/git-core/contrib/hooks/post-receive-email
に普通インストールされていると思うので、これをそのまま使うこととする。
送信には sendmail を使用しているので、まずは sendmail ができるようにならないといけない。
MTA の設定はあまり詳しくないが、、、
とりあえずUbuntu でやってみた。
$ sudo apt-get install postfix
でインストール。
途中で選択肢が出てくるので、「インターネットサイト」を選択。
自宅のマシン場合、特に設定なしでも、そのまま使えた。
以下でちゃんとメールが届けばOK。
$ sendmail my.address@gmail.com
To: my.address@gmail.com
From: my.address@gmail.com
Subject: test
test
.
会社の場合、ファイアウォールの問題で、このままだと配送できなかったので、relayhostを設定。
/etc/postfix/main.cf を編集し、
relayhost のところに中継サーバーのIPアドレスを指定する。
IPアドレスで指定しないといけないみたいなので、
会社からこれを使え、と言われているSMTPサーバ名から nslookup で引く。
$ nslookup my.office.smtp.server
で Address : xxx.yyy.zzz.www
みたいにIPアドレスが返ってくるので、
relayhost = xxx.yyy.zzz.www
と指定するとOK。
sendmail が動くようになったので、続いて git の設定。
/usr/share/git-core/contrib/hooks/post-receive-email
にやり方が全部書いてあるので、この通りやるだけですが。。
post-receive-email に実行権限を与える
$ sudo chmod a+x /usr/share/git-core/contrib/hooks/post-receive-email
設定したいgit リポジトリへ移動
$ cd /my/git/repogitory.git/hooks
post-receive-email へ post-receive という名前でシンボリックリンクをはる。
$ ln -s /usr/share/git-core/contrib/hooks/post-receive-email post-receive
送りつけたい宛先を config に設定
$ git config hooks.mailinglist "address@you.want.to.send"
とりあえずこれで送信されます。
あと、お好みでやっておく設定
メールのタイトルが 「UNNAMED PROJECT」になっているので、description にプロジェクト名を記載。
送信元アドレス指定
$ git config hooks.envelopesender do_not_reply_this@foo.org
メール最大行数を指定
$ git config hooks.emailmaxlines 500
2012年10月1日月曜日
Ubuntu 12.04 on RAID5 トラブルシューティング
先日の記事
「Intel RST 設定画面の入り方」
「Linuxインストール on RAID5 (Intel RST)」
に書いたやり方で、SSD 4 台でRAID5を組み、Ubuntu 12.04.1 LTS (alternate install)
をインストールして使い始めた。
使って数日目、以下のようなメッセージを出して起動しなくなった。
udevd[164]: inotify_add_watch(6, /dev/dm-1) failed: No such file or directory
udevd[163]: inotify_add_watch(6, /dev/dm-2) failed: No such file or directory
udevd[163]: inotify_add_watch(6, /dev/dm-1) failed: No such file or directory
とりあえず、エラーメッセージで検索してみると、Ubuntu関連でいろいろヒットした。
試行錯誤の後、とりあえず起動するようになった。
(1) 起動直後に、シフトキーを押しっぱなしにして、grub の画面を出す。
(2) 「Ubuntu, with Linux 3.2.*-**-generic (recovery mode)」を選択。
(3) 「Resume」を選択。
(4) デスクトップまで起動する。
(5) このままだと、再起動後、同じ現象で起動しなくなる。
そこで
$ sudo apt-get install cryptsetup
として、再起動すると、ちゃんとブートするようになった。
cryptsetup のインストールは、検索で出てきた通りやってみたら運良く直ったということなので、理屈は理解していません。
「Intel RST 設定画面の入り方」
「Linuxインストール on RAID5 (Intel RST)」
に書いたやり方で、SSD 4 台でRAID5を組み、Ubuntu 12.04.1 LTS (alternate install)
をインストールして使い始めた。
使って数日目、以下のようなメッセージを出して起動しなくなった。
udevd[164]: inotify_add_watch(6, /dev/dm-1) failed: No such file or directory
udevd[163]: inotify_add_watch(6, /dev/dm-2) failed: No such file or directory
udevd[163]: inotify_add_watch(6, /dev/dm-1) failed: No such file or directory
とりあえず、エラーメッセージで検索してみると、Ubuntu関連でいろいろヒットした。
試行錯誤の後、とりあえず起動するようになった。
(1) 起動直後に、シフトキーを押しっぱなしにして、grub の画面を出す。
(2) 「Ubuntu, with Linux 3.2.*-**-generic (recovery mode)」を選択。
(3) 「Resume」を選択。
(4) デスクトップまで起動する。
(5) このままだと、再起動後、同じ現象で起動しなくなる。
そこで
$ sudo apt-get install cryptsetup
として、再起動すると、ちゃんとブートするようになった。
cryptsetup のインストールは、検索で出てきた通りやってみたら運良く直ったということなので、理屈は理解していません。
2012年9月27日木曜日
2012年9月26日水曜日
2012年9月18日火曜日
2012年9月10日月曜日
登録:
投稿 (Atom)