Alfrescoで始めるCI- Alfresco勉強会 第7回 -                                    2012/06/13 @mryoshio                      Copyright 2...
目次‣ 自己紹介‣ Alfrescoについて‣ Web Scriptについて‣ Jenkinsについて‣ Mavenを利用したWeb Script開発‣ Jenkinsのインストールと設定‣ [デモ] Continuous Integration
自己紹介‣ 普段何やってるの? → イージフ ( http://aegif.jp/ )でAlfrescoやLiferayのコンサルタン   ト。ソースコード読んだりカスタマイズしたりしています‣ Alfrescoどれくらい触ってるの? → 20...
Alfrescoについて‣ 何? → 英Alfresco社が提供するオープンソースソフトウェア。コンテンツ管   理、Webコンテンツ管理、コラボレーションなどを低コストでシン   プルに行える‣ 似た機能をもつ製品は? → SharePoin...
Web Scriptについて‣ 何? → HTTPメソッド (GET/POST/PUT/DELETE)に応答するURIに紐付けられ   たサービス‣ 何ができるの? → JavaScriptやJavaでロジックを書けるため、Alfresco内部...
Jenkinsについて
What is Jenkins?‣ 継続的インテグレーションを実現するためのソフト ウェアです。たとえば次のことを行えます。  → 継続的な、ソフトウェアプロジェクトのビルドとテスト  → 外部で起動するジョブの実行監視‣ インストール・設定が...
特徴‣ たとえば次の特徴を持っています。 → 簡易なインストール → 簡易な設定 → 差分のサポート → RSS/Eメール/IMとの連携 → JUnit/TestNGによるテスト結果のレポート                       ※ h...
Who are using Jenkins?‣ 多くの企業だけでなく、数々のオープンソースプロ ジェクトで使われています。  → Apache  → Bazaar  → Creative Commons  → JRuby            ...
Mavenを利用したWeb Script開発
はじめに‣ 今日のソースコードはここにあります。 → https://github.com/mryoshio/AlfrescoStudy/tree/master/   ci_maven‣ 動作確認をCommunity 4.0dで行いました。
Alfrescoのインストール‣ 省略 → 以前の資料をご覧ください。 → http://www.slideshare.net/mryoshio/alfresco-install
開発環境のセットアップ‣ 省略 → 以前の資料をご覧ください。 → http://www.slideshare.net/mryoshio/alfresco-action
Mavenプロジェクトの作成‣ Maven2プロジェクトの作成 → archetype: maven-archetype-quickstartでmavenプロジェクトを作成               イ                メ   ...
ポイント1: pom.xml‣ Springプロジェクトのリポジトリを追加‣ MavenからAnt実行 (copyタスク実行の為)‣ JUnitへの依存関係を追加‣ Coberturaプラグインの追加
ポイント2: build.xml‣ maven-antrun-pluginで実行‣ copy-resourcesターゲットで次のことを行う → jarパッケージのコピー → Web Script設定ファイル群 (e.g. xml, ftl)のコピー
ポイント3: テストクラスの作成‣ JUnitテストクラスの作成 → Web Scriptクラスのメソッドのテストを作成
動作確認‣ $ mvn cobertura:cobertura  → target/site/cobertura/index.htmlにテスト結果とカバレッジステー    タスが出力されていることを確認 (下記: index.htmlの表示)
Jenkinsのインストールと設定
インストール‣ yumで入れました → https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on   +RedHat+distributions    YUMリポジトリを...
プラグインのインストール‣ Jenkinsの管理 -> プラグインの管理 → Git Plugin → Maven 2 Plugin Plugin → Jenkins Cobertura Plugin → javadoc
ジョブの作成‣ 新規ジョブの作成 → ジョブ名: <your job name> → フリースタイル・プロジェクトのビルド
ジョブの設定‣ ソースコード管理システム → Git → Repositories: https://github.com/mryoshio/AlfrescoStudy.git‣ ビルド → シェルの実行    cd ci_maven/ → M...
ジョブの設定 (続き)‣ ビルド後の処理 → Coberturaカバレッジ・レポートの集計   Cobertura XMLレポート パターン: ci_maven/target/site/cobertura/coverage.xml → JUni...
[デモ] Continuous Integration
今回の動作イメージ            1. clone                               2. build / test     push              3. notify
Copyright 2012 tachibanakikaku.com. All rights reserved.
Upcoming SlideShare
Loading in …5
×

Alfresco CI

1,422
-1

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,422
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • &amp;#x305D;&amp;#x306E;&amp;#x5834;&amp;#x306E;&amp;#x96F0;&amp;#x56F2;&amp;#x6C17;&amp;#x306B;&amp;#x5408;&amp;#x308F;&amp;#x305B;&amp;#x3066;&amp;#x81EA;&amp;#x5DF1;&amp;#x7D39;&amp;#x4ECB;\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Alfresco CI

    1. 1. Alfrescoで始めるCI- Alfresco勉強会 第7回 - 2012/06/13 @mryoshio Copyright 2012 tachibanakikaku.com. All rights reserved.
    2. 2. 目次‣ 自己紹介‣ Alfrescoについて‣ Web Scriptについて‣ Jenkinsについて‣ Mavenを利用したWeb Script開発‣ Jenkinsのインストールと設定‣ [デモ] Continuous Integration
    3. 3. 自己紹介‣ 普段何やってるの? → イージフ ( http://aegif.jp/ )でAlfrescoやLiferayのコンサルタン ト。ソースコード読んだりカスタマイズしたりしています‣ Alfrescoどれくらい触ってるの? → 2007/08から約5年
    4. 4. Alfrescoについて‣ 何? → 英Alfresco社が提供するオープンソースソフトウェア。コンテンツ管 理、Webコンテンツ管理、コラボレーションなどを低コストでシン プルに行える‣ 似た機能をもつ製品は? → SharePoint (コラボレーション)、Documentum (コンテンツ管理) あたりが該当‣ 特徴は? → Community版 (無償)とEnterprise版が存在 → Alfrescoへの移行およびAlfrescoからの移行が簡単
    5. 5. Web Scriptについて‣ 何? → HTTPメソッド (GET/POST/PUT/DELETE)に応答するURIに紐付けられ たサービス‣ 何ができるの? → JavaScriptやJavaでロジックを書けるため、Alfresco内部に対する処理 (e.g. コンテンツの検索)はもちろん、Javaでできること (e.g. メール送 信、アーカイブ解凍)は大体できる‣ 参考 → http://www.slideshare.net/mryoshio/alfrescoweb-script → (http://wiki.alfresco.com/wiki/Web_Scripts#What_is_a_Web_Script.3F)
    6. 6. Jenkinsについて
    7. 7. What is Jenkins?‣ 継続的インテグレーションを実現するためのソフト ウェアです。たとえば次のことを行えます。 → 継続的な、ソフトウェアプロジェクトのビルドとテスト → 外部で起動するジョブの実行監視‣ インストール・設定が容易などユーザにとって真に 便利な特徴を持っています。 ※ https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins
    8. 8. 特徴‣ たとえば次の特徴を持っています。 → 簡易なインストール → 簡易な設定 → 差分のサポート → RSS/Eメール/IMとの連携 → JUnit/TestNGによるテスト結果のレポート ※ https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins
    9. 9. Who are using Jenkins?‣ 多くの企業だけでなく、数々のオープンソースプロ ジェクトで使われています。 → Apache → Bazaar → Creative Commons → JRuby ※ https://wiki.jenkins-ci.org/pages/viewpage.action?pageId=58001258
    10. 10. Mavenを利用したWeb Script開発
    11. 11. はじめに‣ 今日のソースコードはここにあります。 → https://github.com/mryoshio/AlfrescoStudy/tree/master/ ci_maven‣ 動作確認をCommunity 4.0dで行いました。
    12. 12. Alfrescoのインストール‣ 省略 → 以前の資料をご覧ください。 → http://www.slideshare.net/mryoshio/alfresco-install
    13. 13. 開発環境のセットアップ‣ 省略 → 以前の資料をご覧ください。 → http://www.slideshare.net/mryoshio/alfresco-action
    14. 14. Mavenプロジェクトの作成‣ Maven2プロジェクトの作成 → archetype: maven-archetype-quickstartでmavenプロジェクトを作成 イ メ ー ジ
    15. 15. ポイント1: pom.xml‣ Springプロジェクトのリポジトリを追加‣ MavenからAnt実行 (copyタスク実行の為)‣ JUnitへの依存関係を追加‣ Coberturaプラグインの追加
    16. 16. ポイント2: build.xml‣ maven-antrun-pluginで実行‣ copy-resourcesターゲットで次のことを行う → jarパッケージのコピー → Web Script設定ファイル群 (e.g. xml, ftl)のコピー
    17. 17. ポイント3: テストクラスの作成‣ JUnitテストクラスの作成 → Web Scriptクラスのメソッドのテストを作成
    18. 18. 動作確認‣ $ mvn cobertura:cobertura → target/site/cobertura/index.htmlにテスト結果とカバレッジステー タスが出力されていることを確認 (下記: index.htmlの表示)
    19. 19. Jenkinsのインストールと設定
    20. 20. インストール‣ yumで入れました → https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on +RedHat+distributions YUMリポジトリを追加 RPMのキーのインストール yumコマンドでインストール
    21. 21. プラグインのインストール‣ Jenkinsの管理 -> プラグインの管理 → Git Plugin → Maven 2 Plugin Plugin → Jenkins Cobertura Plugin → javadoc
    22. 22. ジョブの作成‣ 新規ジョブの作成 → ジョブ名: <your job name> → フリースタイル・プロジェクトのビルド
    23. 23. ジョブの設定‣ ソースコード管理システム → Git → Repositories: https://github.com/mryoshio/AlfrescoStudy.git‣ ビルド → シェルの実行 cd ci_maven/ → Mavenの呼び出し ゴール: clean javadoc:javadoc cobertura:cobertura
    24. 24. ジョブの設定 (続き)‣ ビルド後の処理 → Coberturaカバレッジ・レポートの集計 Cobertura XMLレポート パターン: ci_maven/target/site/cobertura/coverage.xml → JUnitテスト結果の集計 テスト結果XML: ci_maven/target/surfire-reports/*.xml → Javadocの保存 Javadocディレクトリ: ci_maven/target/site/apidocs
    25. 25. [デモ] Continuous Integration
    26. 26. 今回の動作イメージ 1. clone 2. build / test push 3. notify
    27. 27. Copyright 2012 tachibanakikaku.com. All rights reserved.

    ×