2011年6月24日金曜日

Fedora 15/Jenkins/Maven3/Subversion/Helios

空きマシンに入れていた Fedora 12を Fedora 15 Lovelock に入れ替えて、自宅環境の筆頭開発マシンに昇格させ、ついでにその他開発ツールもセッティングした。その作業の超ザックリメモ。

====

Helios: Fedora の「ソフトウェアの追加と削除」から GUIでインストール。Fedora 12の時は Galileo だったが、Fedora 15 では Helios (Eclipse 3.6)になっていた。

Maven 3: apache のダウンロードサイトからバイナリを落としてきて適当に展開。README.txtを見ながら適当に設定、"mvn --version" で 3.0.3 が入ったことを確認。

Subversion: これも「ソフトウェアの追加と削除」でインストール。バージョン 1.6.16 が入ってきた。"svnadmin create" で適当にリポジトリを作っておく。差し当たり file://でアクセスするだけなので、これ以上の設定は保留。

m2eclipse: Helios の「新規ソフトウェアのインストール...」で、更新サイトに[このURL]を指定してインストール。

Subclipse: Helios の「新規ソフトウェアのインストール...」で、更新サイトに[このURL]を指定して、Subclipse, Client Adapter, JavaHLを選択してインストール。

Jenkins: [ここ]を見てインストール。"sudo /etc/init.d/jenkins start"で起動し、ブラウザで localhost:8080 を開いて確認。で、とりあえず stop しておく。

テスト用プロジェクト作成:

  • Helios に戻る。
  • maven-archetype-quickstart を指定して新規 Maven Projectを作成。
  • pom.xml で JUnit のバージョンを4.8.2に変更して、依存性を更新。
  • App.java を書き換える
    public class App {
        public String getMessage() {
            return "Hello World!";
        }
    }
  • AppTestを書き換える
    public class AppTest {
       @Test
          public void testGetMessage() {
          String message = new App().getMessage();
          Assert.assertEquals("Good-Bye World!", message);
       }
    }
  • Maven package を実行して、テストでビルドが失敗するのを確認。
  • 上で作ったリポジトリを指定して"プロジェクトの共用"を実行し、適当にファイルを選んでバージョン管理に追加して、敢えてテスト失敗版をコミット。

Jenkins に Jobを追加:

  • "java -jar /usr/lib/jenkins/jenkins.war"で起動する。(init.d/jenkins startだと、file:// で SVNリポジトリにアクセスできなかったので、とりあえず war を直接起動。)
  • ブラウザから開いて、[Manage Jenkins]/[Configure System] から、右のように Maven の設定 → Install Automatically をアンチェックして、上でインストールした Maven のパスをMAVEN_HOMEに指定。
  • Jenkins の[New Job] で [Build a maven2/3 project] を選択。"Source Code Management" で Subversion を選択し、上で作ったリポジトリを指定。

Build 確認:

  • [Build Now] を実行し、テストでビルドが失敗している事を確認。
  • Helios に戻ってテスト・メソッドの"Good-Bye"をHelloに変えて、SVNコミット。
  • 再び[Build Now] でビルド。今度はテストを含むビルドが成功している事を確認。

====

TODO

  • svn+ssh でのリポジトリアクセス
  • サービス化
  • Trac の導入とSVNとの連携
  • SVNコミットをトリガーとする自動ビルド
  • FishEye導入
  • Emma 導入

0 件のコメント:

コメントを投稿