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 で渡せるパスの数には
限度があると思います。

2015年8月25日火曜日

Microsoft Windows Search Indexer を停止する

ディスクのクリーンアップ後に PC を起動するとファンが激しく動くことがあったので
調べてみたら、タスクマネージャのプロセス SearchIndexer.exe(Microsoft Windows Search Indexer)が継続的に動いていました。

プロセスの正体はサービスの Windows Search
サービスの説明には「ファイル、電子メール、その他のコンテンツに対して、コンテンツのインデックス作成、プロパティ キャッシュ処理、検索結果の表示を行います。」と書かれていて Windows で検索を行うときインデックスの役割を果たすために動作しているサービスと思います。

Windows の検索機能を使うことはあまりないので停止しました。
コントロールパネル > 管理ツール > サービス から「Windows Search」をダブルクリック。
スタートアップの種類を"無効"
"停止"を押してサービスの状態を停止

これでタスクマネージャのプロセス一覧から該当のプログラムは消えました。

また必要になったときは
スタートアップの種類を"自動 (遅延開始)"
"開始"を押してサービスの状態を開始

2015年8月22日土曜日

Windows7 が頻繁にフリーズを繰り返す 闘いの記録

Windows7 が頻繁にフリーズを繰り返し、買い替えを検討するまで悩んだ今回の内容(闘い)の記録です。
今度似たようなことに遭遇しても何かの手助けになるように残しておこう。

症状
Windows7 が頻繁にフリーズを繰り返す。
フリーズしたときファンが激しく動き、動作音も大きく、熱を持っていた。
マウスもキーボードも反応しないケースのため、電源を落として再起動するしか手段がない。
強制的にシャットダウンするので、ハードディスクにも良くない。(ダメージを与える)

フリーズが起こったときの対応方法
・周辺機器や増設機器を外す
・ハードディスクの空き容量を確認する
・ソフトウェアを停止または削除する
・ハードディスクのエラーを確認する
・システムの復元をおこなう
・OS の再インストールをおこなう

今回は ハードディスクのエラーを確認する と ハードディスクの空き容量を確認する を行いました。