Contenu connexe
Similaire à Nseg20120929 (20)
Nseg20120929
- 2. 自己紹介
● hiro345
twitter: @hiro345
blog: http://www.sssg.org/blogs/hiro345/
●
執筆
@IT ... Java, Eclipse, Android, C
日経Linux ... Java, Dart, Cloud
日経ソフトウェア ... Java
Java World, WEB+DB Press など
- 3. とり急ぎ用意するならUbuntu
● apt-get で何でも簡単にインストールできる
● プログラミング言語の開発環境インストール
も簡単にできる
● 端末で入力したコマンドから、インストール
するパッケージを教えてくれる。
前回は、Ruby/JRuby・Java・Pythonなどをイン
ストールし、Eclipse, NetBeansなどの統合開発
環境もインストールした。
- 4. 開発支援環境
● ビルドツール Apache Maven
● チケット管理 Redmine
● 継続的統合 Jenkins
- 5. Apache Maven
● Javaのプロジェクト管理ソフト
● POM(Project Object Model)
● Apache Maven のサイトからダウンロードして
インストール
http://maven.apache.org/
● Ubuntuでは apt-get でインストール可能。
mavenだとMaven 3、maven2だとMaven 2 がイ
ンストールできる。
$ sudo apt-get install maven
- 6. できること
● ビルドやレポートやドキュメントの生成を管理できる
● Mavenでは、あるプロジェクトに必要となるライブラリの設定、ビルドに関する
情報、テストとレポートに関する情報をpom.xmlというXMLファイルへ記述す
る。
● Mavenのmvnコマンドを使うと、pom.xmlの指定に従って処理が実行できる。
● Mavenのセントラルリポジトリから依存関係のあるファイルをダウンロードし
て、ローカルリポジトリ(通常は$HOME/.m2)へ保存し、そのライブラリを参
照しながらコンパイルをして目的とするバイナリファイルを生成できる。
- 7. Mavenのリポジトリ
Maven セントラルリポジトリ
Maven ローカルリポジトリ $HOME/.m2/repository
$ mvn archetype:generate
ダウンロード $ mvn compile
$ mvn test
$ mvn site
$ mvn javadoc:javadoc
インストール $ mvn package
$ mvn install
- 8. Mavenプロジェクト
$ mvn archetype:generate
(略)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 216:
Choose org.apache.maven.archetypes:maven-archetype-quickstart version:
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
Choose a number: 6:
(略)
quickstart/1.1/maven-archetype-quickstart-1.1.pom (2 KB at 37.7 KB/sec)
Define value for property 'groupId': : org.sssg.soft.example.maven
Define value for property 'artifactId': : Example
Define value for property 'version': 1.0-SNAPSHOT: :
Define value for property 'package': org.sssg.soft.example.maven: :
Confirm properties configuration:
groupId: org.sssg.soft.example.maven
artifactId: Example
version: 1.0-SNAPSHOT
package: org.sssg.soft.example.maven
Y: : Y
- 9. 生成されるディレクトリとファイル
.
└── Example
├── pom.xml
└── src
├── main
│ └── java
│ └── org
│ └── sssg
│ └── soft
│ └── example
│ └── maven
│ └── App.java
└── test
└── java
└── org
└── sssg
└── soft
└── example
└── maven
└──
AppTest.java
- 10. コンパイル、テスト
$ mvn compile
$ mvn test
└── target
├── classes
│ └── org
│ └── sssg
│ └── soft
│ └── example
│ └── maven
│ └── App.class
├── surefire
├── surefire-reports
│ ├── TEST-org.sssg.soft.example.maven.AppTest.xml
│ └── org.sssg.soft.example.maven.AppTest.txt
└── test-classes
└── org
└── sssg
└── soft
└── example
└── maven
└── AppTest.class
- 11. ALMinium
●
ALM(Application Lifecycle Management)と
Redmineの合金(..nium)という意味から
https://github.com/alminium/alminium
● 簡単にインストールできる
● 複数プロジェクト対応
● 複数メンバで利用するGitリポジトリを簡単に
用意できる
- 12. ALMiniumに同梱される
Redmineプラグイン
● Backlogs スクラム開発のサポート
● Hudson Plugin Jenkins/Hudsonとの連携
● Code Review コードレビュー支援
● Redcarpet Wiki Formatter GitHubのMarkdown Wiki
フォーマットを利用
● MSProjects MS Projectのファイルをインポート
● XLS export Excelでチケットを出力
● Git Branch Hook Gitのブランチでの作業をチケットに連
動させます
- 13. ALMiniumインストール
● git cloneして、smeltスクリプト実行するだけ
$ git clone https://github.com/alminium/alminium.git
$ cd alminium; sudo bash smelt.sh
*/opt/alminium にインストールされる
*インストールが終了するまで、結構時間がかかる
*Apache2, MySQL, Rubyなどが自動インストールされる
*専用マシンを用意した方がいいだろう
*Redmineのエラーがでることがある。とりあえずエラー
となるプラグインはディレクトリを移動してはずす
redmine_drafts plugin requires Redmine ["2.1.0"] or
higher but current is 2.0.3.stable (Redmine::Plugin
RequirementError)
- 14. ALMinium設定
● http://localhost/ へアクセス
● ユーザ admin でログイン。初期パスワードは最初にアク
セスしたページに記載されている。変更しておくのがよい
● ユーザ追加(user001)
● プロジェクト追加(maven001)。Gitリポジトリを使うと指
定すると、自動でGitリポジトリが作成される
● プロジェクトのメンバへユーザ追加
● リポジトリの確認
$ git clone http://user001@localhost/git/maven001
$ cd maven001; vi readme.txt
$ git add readme.txt; git commit -am “init”
$ git push origin master
- 15. Jenkins
●
ソフトウェア開発時のビルド/テストを継続
的に実施することを強力にサポート
● インストールも簡単。Ubuntuだと下記
$ wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add
-
$ sudo apt-get update; sudo apt-get install jenkins
●
http://jenkins-ci.org/
- 16. Jenkins設定
● http://localhost:8080/ へアクセス
● プラグイン Git Plugin をインストール
● ALMiniumで、maven001プロジェクトへアクセスできるJenkins用ア
カウントを追加
● 新しいジョブを追加。Gitを利用すると指定, Poll SCMもチェック
http://jenkins:jenkins@localhost/git/maven001
● Git hook ... /var/opt/alminium/git/maven002/hooks/post-receive
#!/bin/sh
/opt/alminium/bin/alm-sync-scm
/usr/bin/wget --spider http://localhost:8080/job/maven002/polling
● jenkinsユーザについて、Git global設定
$ sudo su - jenkins
$ git config --global user.email "jenkins@localhost.localdomain"
$ git config --global user.name "jenkins ubuntu"
- 17. 知っておきたいディレクトリ
● ALMinium
– 本体:/opt/alminium
– Gitリポジトリ:/var/opt/alminium/git/maven002
● Jenkins
– 本体:/usr/share/jenkins/jenkins.war
– ワークスペース:
/var/lib/jenkins/jobs/maven002/workspace
- 18. まとめ
● そろそろ Apache Maven に慣れよう
● ALMiniumを使うとアジャイル開発がしやすい環
境が手に入る
● Jenkinsを使って開発時の作業について、自動化
することができる