2015年9月12日土曜日

Webサービス単位でGmailのメールアドレスを扱いたい

TwitterやFacebookなどのWebサービスのアカウントで登録するメールアドレスをWebサービス単位で整理できないかと思っていたところ、個人向けのGmailアカウントでできるとのこと。

Gmailアカウントのメールアドレスがusername@gmail.comのとき
Twitterアカウント:username+twitter@gmail.com
Facebookアカウント:username+facebook@gmail.com

こんな感じでusernameの後ろに+「任意の文字列」を含めることでメールアドレスは異なっても受信先はusername@gmail.comになります。

他にもWebサービスを開発しているときにテストで複数ユーザが必要な際、この方法を利用すれば簡単に用意ができますね。

この方法を知っていれば、システムを開発していたときに受信できないメールアドレスを入力することもなかったのに。
それでも、過剰に作成すると迷惑になるので試すときはほどほどに。

2015年9月11日金曜日

CentOS6 に Jenkins LTS版をインストールする

Jenkinsに関することを何度か投稿しているのですが、今更ながらJenkinsをインストールする方法です。

Jenkinsにはリリースサイクルが1週間から2週間の目安でリリースされるバージョン(最新版)と
12週間の目安でリリースされるバージョン(安定版)があります。

最新版は新しいUIや機能を利用したい場合に適していますが、プラグインの対応が間に合っていなかったり、利用できないこともあります。
私の場合、UIに関する部分に手を入れていたので体裁が崩れたり、見えなくなったりすることがありました。
安定版はリリースサイクルが長い分、新しいUIや機能を利用できるまでに時間が掛かりますが、プラグインの対応が間に合わないということやUIに変更があっても問題が発生するということは少ないと思います。

最新版と安定版の両方を使用してみましたが、安定版のほうが運用しやすいので今回は
安定版のインストール方法です。
インストールするマシンのOSはCentOS6です。
手順はrootが必要なので、rootに切り替えるかsudoが実行できるユーザで行います。

2015年9月9日水曜日

GitLab Community Edition で古いバージョンをダウンロードする

GitLab Community Edition で古いバージョンのパッケージが必要になったので
最新版のダウンロードページから辿れるリンクからアクセスしたところ、以前とは
異なるページが表示されました。
しかも、そのページでは 7.10.4以降のパッケージしか存在せず、それ以前のバージョンの
パッケージをダウンロードできるページへのリンクは見当たりませんでした。

すこし焦りましたが、7.10.4以前のダウンロードページは今も存在しました。
とりあえず良かった。
必要であればダウンロードしたパッケージは退避しといたほうが良いかもしれません。

7.10.4以降のパッケージダウンロード(https://packages.gitlab.com/gitlab/gitlab-ce)
7.10.4以前のパッケージダウンロード(https://about.gitlab.com/downloads/archives/)

2015年9月8日火曜日

Jenkins のメール通知で失敗する

Jenkins のプラグインのメール通知で「メールを送信して設定を確認」でテストメールの
送信を実行しても「メールの送信に失敗しました。」となり
javax.mail.MessagingException: Could not connect to SMTP host: mail.example.com, port: 25;
が表示されたときは POP before SMTP が利用されているかもしれません。
設定で SMTP認証やポート番号をサーバに合わせて変更してみたのですが解決しなかったのでソースコードを確認してみました。
JavaMail APIで POP before SMTP なサーバへメール送信という投稿を見つけ
サンプルプログラムには含まれていたコードが、メール通知のプラグインのソースコードには在りませんでした。
JavaMail API を利用したことが無いためソースコードから見つけられないだけで POP before SMTP がサポートされてないかの判断をするには安易かもしれませんが。
メール通知ならGmailを利用した方法もありますし通知する方法は他にも色々とあるので。
別の方法を探してみたいと思います。

そもそもなぜ調べることになったかというとWindowsでJenkinsを利用していてジョブの結果をメールで通知できたら良いなと思ったのです。
しかしそのためにメールサーバを立ち上げるのもどうかなと思ったので既にあるメールサーバを利用してみようと試したところ上手くいきませんでした。

2015年9月2日水曜日

git archive と git diff で差分のアーカイブを作成するとき Bad file number

バージョン間の差分を抽出してアーカイブを作成するとき git archive と git diff を組み合わせることでできるのですが、Bad file number というメッセージが表示されアーカイブ作成に失敗してしまいました。
git archive --format=zip [new ver] `git diff --name-only [old ver] [new ver]` -o ./ver_diff.zip
普段はこのコマンドで作成できるが /bin/git: Bad file number が表示され作成できない。
git diff --name-only [old ver] [new ver]
差分だけを確認したところ差分の数が1000を超えていました。
git diff --name-only --diff-filter=ACMRT [old ver] [new ver]
数が多かったのでフィルターをかけたところ、それでも差分の数が1000を超えていました。
試しに差分の数が少ないケースで実行してみたところアーカイブは作成できました。
作成できるケースとできないケースがあったので、一度に git archive で渡せるパスの数には
限度があると思います。