2012-01-01から1年間の記事一覧

継続的デリバリーの一歩: dbdeploy を使ってみた

dbdeploy とは、java 製のデータベース変更管理ツール。コマンドラインツールとしても使えるが、主な用途は ant タスクや maven プラグインとして利用すること。わりと歴史があるツールみたい。http://dbdeploy.com/PostgreSQL の createSchemaVersionTable …

継続的デリバリーへの一歩:自動受け入れテスト(準備編)

自動受け入れテストは、コミットテストが成功して初めて実施されるものであるため、実行タイミングを分けてやる必要がある。ここでは、Java での開発を前提とし、自動受け入れテストは JUnit を使用するものとする。ググってみたところ、 maven で単体テスト…

MsysGit で改行コードの自動変換の抑制

msysgit をインストール時に改行コードが CRLF に自動変換する設定にしてしまって、後から自動変換を止めたくなった場合、以下のコマンドを実行することで、抑制できるらしい。 git config --system core.autocrlf falsehttp://progit.org/book/ja/ch7-1.html

JUnit で JNDI DataSource を使う

サーバーサイドの場合、データベースのコネクションを取得するために DataSource を利用するのが一般的。JUnit を実行するときには、サーブレットコンテナなどは動作していないため、事前にJNDIの準備が必要。JUnit JNDI DataSource helper package というも…

Vagrant を使って VirtualBox のバージョンを調べる

Vagrant 0.9, 1.0 系になってから、VirtualBox のバージョンの取得方法が変わってたので、 ちょっと困っていたのだが、ようやく分かった。 require 'rubygems' require 'vagrant' puts Vagrant::Driver::VirtualBox.new(nil).version Vagrantfile 内だと req…

Perl で HTTPリクエスト

Ubuntu の場合、事前に libwww-perl パッケージをインストールしておく。 use LWP::UserAgent; my $url = "http://www.yahoo.co.jp/"; my $ua = LWP::UserAgent->new(); my $req = HTTP::Request->new("GET", $url); my $resp = $ua->request($req); print $…

Jenkins パスワードのリセット方法

Jenkins ユーザーデータベースのアカウントの削除やパスワードリセットは、開発者のページの左メニューに「設定」「削除」のリンクがあるのでこちらから変更できた。設定をミスしてどうにもならなくなった場合、セキュリティ機能を停止するには、 https://wi…

Jenkins の Git プラグイン で少しハマった

Jenkins は Ubuntu のパッケージからインストールしたのだが、Git プラグインを利用しようとしたところ、git config が未設定のためにビルドに失敗していた。 FATAL: Could not apply tag jenkins-CommitStage-1 hudson.plugins.git.GitException: Could not…

Java SE API 日本語ドキュメント

java.sun.com ドメインのサイトが運用終了になってしまったらしい。http://d.hatena.ne.jp/chiheisen/20120326/1332715371日本語で JavaDoc を読みたい人はこちら: http://download.java.net/jdk/jdk-api-localizations/jdk-api-ja/builds/latest/html/ja/a…

継続的デリバリーへの一歩:デプロイの自動化

Java の Web アプリで Jenkins を使ってデプロイを自動化する話。http://www.tomcatexpert.com/blog/2012/03/21/integrating-jenkins-and-apache-tomcat-continuous-deployment http://www.bestdesigns.co.in/blog/tomcat-server-control-wget-tomcat-manage…

Vagrant の互換性の問題

Vagrant の issue を見ていると、どうも古いバージョンを対象にしたブログ記事に惑わされた報告がいくつか上がってきているようだ。バージョン 1.0 公開を機に、ユーザー数が増えているともいえるのだが、しばらくは混乱が続きそうだ。私が利用開始したのが …

継続的デリバリーへの第一歩:構成管理

継続的デリバリー を読んでいるところ。2章まで読んだのだが、まずは構成管理がベースということらしい。構成管理と言えば、バージョン管理ツールと同義で使いこなしているつもりでいたが、構成管理はツールよりも管理する内容の方が重要であることが分かっ…

opensslで証明書の有効期限を確認する方法

証明書の内容をコマンド上で調べたい場合、openssl コマンドを使う。 openssl x509 -noout -text -in (crtファイル)上記を実行すると、「Varidity」のところに、「Not Before(=証明書が発行された日時)」「Not After(=証明書の有効期限)」が表示される。

Vagrant Plugin

Jenkins の Vagrant Plugin。できたてほやほやのプラグインなので、 どんなものか、あとで試してみたい。 https://wiki.jenkins-ci.org/display/JENKINS/Vagrant+Plugin

Windows の MinGW 環境で vagrant ssh するには

Windows 上で vagrant を利用しているのだが、バージョン1.0 が公開されても、相変わらず vagrant ssh が使えないのが結構面倒。Windows では、ssh クライアントが入っていたとしても、以下のようなメッセージが表示され、 vagrant ssh が通らない。これはMi…

Maven 2 で Tomcat 7 にデプロイする

maven2 を利用することにしてみた。maven3 の本も出版されたこともあるし。Ubuntu 11.10 上の Tomcat 7 に対して tomcat7-maven-plugin を利用してデプロイしてみた。 maven2、tomcat7、tomcat7-admin パッケージがインストールされていることが前提。/etc/t…

ファイルの文字コードを一括変換

カレントディレクトリ以下のファイルに対して文字コードを UTF-8 に変換したい。 http://masaoo.blogspot.com/2009/02/find-nkf-xargs.html より、 $ find . -type f -exec nkf -w --overwrite {} \;で出来た。 nkf に --overwrite オプションっていうのがあ…

Vagrant 1.0 リリース!

ついに Vagrant 1.0 がリリースされたらしい。サイトも一新されてる。http://www.vagrantup.com/例によって、デグレで動かないところがないか慎重に調査する必要があるので、恐る恐る試してみる予定。ちなみに、インストーラが用意されたおかげで、インスト…

Debian/Ubuntu にてタイムゾーン変更を自動化

Debian や Ubuntu では通常、dpkg-reconfigure を使ってタイムゾーンの設定をするのだが、設定変更を対話的に行わずにコマンド実行のみで完結したい。-f オプションをつけるといいみたい。 root 権限で、 echo "Asia/Tokyo" > /etc/timezone dpkg-reconfigur…

Chef で cookbook を自作する

サーバ構成管理ツールの Chef は、coookbook と呼ばれる設定を用意すれば、 コマンド一発で、必要なソフトをインストール・設定が可能になります。簡単なサンプルを試してこれはいける!と思ったのもつかの間、 cookbook を自作しようとすると、とたんにハー…

vagrant 0.9.7 リリース!

vagrant も徐々に安定感を増してきた感があったが、0.9.6 で Windows では動かなくなってしまったらしい。取り急ぎ対応版が 0.9.7 としてリリース。http://twitter.com/#!/mitchellh/status/167531339845861377

veewee と sahara が vagrant 0.9 対応

vagrant プラグインの veewee 0.2.3 と sahara 0.0.9 がリリース。vagrant 0.9 系に対応したそうな。さて、暇を見つけて動作確認しますか。veewee: https://github.com/jedi4ever/veeweesahara: https://github.com/jedi4ever/sahara

Putty の鍵を変換

Vagrant 0.9 系からは、秘密鍵(ppk)が提供されなくなった。openssh と形式が異なるので、変換する必要があるわけだが、 PuTTYgen で出来ることが分かった。起動すると、メニュー[Conversions] というのがあるので、 ここから、インポート・エクスポートが行…

Windows に Vagrant 0.9.4 をインストールしてみた

Vagrant 0.9.4 を Windows 7 (64bit) にインストールしてみた。最初に RubyInstaller ( http://rubyinstaller.org/downloads/ ) とアドオンの DevKit をインストールした。(※ 0.9系から JRuby は非推奨になった。)あとは、 gem install vagrantでインストー…

Vagrant のベースBOX を更新する

自分で作成した Debian 6.0 (squeeze) のベースBOX を作成したのだが、 Debian パッケージの更新 VirtualBox Guest Addition の更新 Chef の更新 を度々手動で行うのが面倒くさくなった。自動実行したいので、lucid64.box 内の postinstall.sh スクリプトを…

Chef で PostgreSQL を操作する

PostgreSQL の様な本格的なデータベース管理ソフトは、インストールした後の操作が厄介。 opscode のクックブック集にある database ( https://github.com/opscode/cookbooks/tree/master/database )は、PostgreSQL 以外にも対応した汎用的なDB操作を集めた…

Vagrant 0.9.2 リリース!

共有フォルダのマウントが失敗するのがなおってた。最近凄い勢いでバグ修正されているので頼もしい。

アカウントのロックとアンロック

http://kazmax.zpp.jp/linux/account_lock.html より、 # ロック passwd -l ユーザ名 # アンロック passwd -u ユーザ名

Vagrant 0.9.1 リリース

とりあえず、MacOS X で Vagrant 0.9.1 の動作を確認。 Vagrantfile の config.vm.forward_port の仕様が変わっていた Vagrantfile の config.vm.customize は、設定を配列で渡すようになった。 VirtualBox の GuestAddition が合わないと共有フォルダのマウ…

Vagrant 0.9.0 がリリースされたが・・・

Vagrant 0.9.0 には不具合があるらしいので、数日後に 0.9.1 がリリース予定らしい。 0.9 系は 0.8 系に比べて大はばに機能追加・修正が行われているので、修正版のリリースが待ち遠しい。それまではこちらで変更内容を確認。 http://vagrantup.com/docs/cha…