SlideShare a Scribd company logo
1 of 70
Download to read offline
システム開発を前進させる
ためのGradle導入法
綿引 琢磨20-B-3
#devsumiB 株式会社デライトテクノロジーズ
自己紹介
•綿引 琢磨(@bikisuke)
•株式会社デライトテクノロジーズ
代表取締役
•日本Grails/Groovyユーザーグループ
(JGGUG)運営委員
•レッツゴーデベロッパー企画/運営
•「Gradle徹底入門」共著
イベント情報
•レッツゴーデベロッパー 2015(仮)
•仙台市市民活動センター
•2015/8/1(土) 13:00 ∼(予定)
•登壇予定スピーカー
•柴田 芳樹 氏
•Kyon_mm 氏
•ほか調整中
「徹底入門」というタイトルにふさわしい内容 (digitalsoul0124)
http://www.amazon.co.jp/product-reviews/4798136433/ref=dp_db_cm_cr_acr_txt?ie=UTF8&showViewpoints=1
これまで手厚くサポートされたビルドツールの本を
見たことがありませんでした。(grimrose)
http://grimrose.blogspot.jp/2014/12/gradle.html
これ1冊あればググる必要ないのでは
という安心感がある (sue445)
http://booklog.jp/item/1/4798136433
Gradle”徹底”入門に恥じぬ、Gradleへの愛を
感じる徹底ぶりで、一読の価値ありです。(lino)
http://lino.hatenablog.jp/entry/gradleintroduction
「入門」とあるけど、きちんとアーキテクチャから解説
されているので、十分な知識が得られるだろう。(るいも)
http://www.ruimo.com/2015/01/12/1421066460000.html
内容が濃い (木下牛)
http://www.amazon.co.jp/review/
R1UIVFAYX4GEVR/ref=cm_cr_dp_title?
ie=UTF8&ASIN=4798136433&channel=detail-
glance&nodeID=465392&store=books
絶賛発売中
はじめに
•本日の講演の想定聴講者
•SIerでシステム開発に携わっている
•AntやMavenに満足していない
•Gradleに興味はあるものの、まだ業務
で使用していない
•退屈な定型作業を減らしたい
アジェンダ
•自動化と開発現場の状況
•Gradleの概要と7つの要素
•Gradle導入法と移行戦略
•導入後の運用
•まとめ
自動化と
開発現場の状況
自動化とは
•何らかの作業を人手を介さず処理すること
•定型的なものほど導入しやすい
•繰り返し行うほどコストメリット高
•手作業による人的ミスの排除
•手順書メンテナンスという苦行から解放
昨今の自動化の流れ
•さまざまなツールの登場や仮想化技術の
普及により、自動化の範囲が広がっている
•テストの自動化
•継続的インテグレーション
•継続的デリバリー
•環境構築の自動化
開発現場での自動化
• ソースコードのビルド
• ユニットテスト
• リポジトリサーバーへのモジュールデプロイ
• 実行環境へのアプリケーションデプロイ
• ソースコードやDDL/DMLの自動生成
• テストデータ投入
• etc.
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー シェルスクリプト, コマンドプロンプト
自動生成 Excelマクロ
ビルド
Ant, Maven
デプロイ
Ant, Maven
CI Jenkins, Bamboo, TeamCity, etc.
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー シェルスクリプト, コマンドプロンプト
自動生成 Excelマクロ
ビルド
Ant, Maven
デプロイ
Ant, Maven
CI Jenkins, Bamboo, TeamCity, etc.
OSごとに必要 !
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー シェルスクリプト, コマンドプロンプト
自動生成 Excelマクロ
ビルド
Ant, Maven
デプロイ
Ant, Maven
CI Jenkins, Bamboo, TeamCity, etc.
OSごとに必要 !
環境によってマクロ
が動作しない !!
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー シェルスクリプト, コマンドプロンプト
自動生成 Excelマクロ
ビルド
Ant, Maven
デプロイ
Ant, Maven
CI Jenkins, Bamboo, TeamCity, etc.
OSごとに必要 !
環境によってマクロ
が動作しない !!
似て非なる
マクロが増殖 !!
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー シェルスクリプト, コマンドプロンプト
自動生成 Excelマクロ
ビルド
Ant, Maven
デプロイ
Ant, Maven
CI Jenkins, Bamboo, TeamCity, etc.
OSごとに必要 !
環境によってマクロ
が動作しない !!
似て非なる
マクロが増殖 !!
ライブラリ管理
が大変 !!!
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー シェルスクリプト, コマンドプロンプト
自動生成 Excelマクロ
ビルド
Ant, Maven
デプロイ
Ant, Maven
CI Jenkins, Bamboo, TeamCity, etc.
OSごとに必要 !
環境によってマクロ
が動作しない !!
似て非なる
マクロが増殖 !!
ライブラリ管理
が大変 !!!
規約外の対応
が困難 !!!
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー シェルスクリプト, コマンドプロンプト
自動生成 Excelマクロ
ビルド
Ant, Maven
デプロイ
Ant, Maven
CI Jenkins, Bamboo, TeamCity, etc.
OSごとに必要 !
環境によってマクロ
が動作しない !!
似て非なる
マクロが増殖 !!
ライブラリ管理
が大変 !!!
プラグイン
開発が面倒 !!!
規約外の対応
が困難 !!!
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー シェルスクリプト, コマンドプロンプト
自動生成 Excelマクロ
ビルド
Ant, Maven
デプロイ
Ant, Maven
CI Jenkins, Bamboo, TeamCity, etc.
OSごとに必要 !
環境によってマクロ
が動作しない !!
XML地獄 !!!
似て非なる
マクロが増殖 !!
ライブラリ管理
が大変 !!!
プラグイン
開発が面倒 !!!
規約外の対応
が困難 !!!
その他の定型作業
• リポジトリのタグ付け
• ドキュメントのチェック
• 設計書のバージョン、ヘッダーフッター
• 納品準備作業
• 一覧作成、納品物アーカイブ
その他の定型作業
• リポジトリのタグ付け
• ドキュメントのチェック
• 設計書のバージョン、ヘッダーフッター
• 納品準備作業
• 一覧作成、納品物アーカイブ
割と手作業のままの現場が多い!!
その他の定型作業
• リポジトリのタグ付け
• ドキュメントのチェック
• 設計書のバージョン、ヘッダーフッター
• 納品準備作業
• 一覧作成、納品物アーカイブ
割と手作業のままの現場が多い!!
そこで
Gradle
ですよ!!!
Gradleの概要と
7つの要素
Gradleとは
• OSSのビルドツール
• ビルド専用ツールではないため、意味的には
自動化ツールが正しい
• 他のビルドツールより優れてる(点が多い)
• GroovyベースのDSLでビルド定義を記述
• Apache License, Version 2.0
•最新バージョンは 2.3(2015年2月時点)
ビルドツール比較
make Ant Maven Gradle
ビルド定義
パラダイム
強み
弱み
スクリプト XML XML スクリプト
手続き的 手続き的 規約ベース 規約ベース
非常にコンパクト
基本機能がシンプル
クロスプラットフォーム
規約による標準化
依存関係管理
規約による標準化
依存関係管理
高い柔軟性/拡張性
移植性問題
依存関係管理なし
規約無く再利用に難有り
依存関係管理なし
定義ファイルの柔軟性
規約外の場合が困難
定義ファイルの柔軟性
IDE連携にやや難有り
ビルドツール比較
make Ant Maven Gradle
ビルド定義
パラダイム
強み
弱み
スクリプト XML XML スクリプト
手続き的 手続き的 規約ベース 規約ベース
非常にコンパクト
基本機能がシンプル
クロスプラットフォーム
規約による標準化
依存関係管理
規約による標準化
依存関係管理
高い柔軟性/拡張性
移植性問題
依存関係管理なし
規約無く再利用に難有り
依存関係管理なし
定義ファイルの柔軟性
規約外の場合が困難
定義ファイルの柔軟性
IDE連携にやや難有り
2.3 でWTP
サポートが改善
なぜGradleなのか?
•ビルドスクリプトが簡潔に書ける
•高い柔軟性と拡張性を実現
•適用範囲が広い
•ビルド以外のさまざまな場面で利用可能
•いろいろな言語に対応(中)
•Android の公式ビルドツールとして採用
•2.0以降は C/C++ にも力を入れている
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー シェルスクリプト, コマンドプロンプト
自動生成 Excelマクロ
ビルド
Ant, Maven
デプロイ
Ant, Maven
CI Jenkins, Bamboo, TeamCity, etc.
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー シェルスクリプト, コマンドプロンプト
自動生成 Excelマクロ
ビルド
Ant, Maven
デプロイ
Ant, Maven
CI Jenkins, Bamboo, TeamCity, etc.
Gradle
だけで実現可能!!
その他の定型作業
• リポジトリのタグ付け
• ドキュメントのチェック
• 設計書のバージョン、ヘッダーフッター
• 納品準備作業
• 一覧作成、納品物アーカイブ
その他の定型作業
• リポジトリのタグ付け
• ドキュメントのチェック
• 設計書のバージョン、ヘッダーフッター
• 納品準備作業
• 一覧作成、納品物アーカイブ
Gradleで自動化可能!!
Gradleの適用範囲
DevOps
Manager
継
続
的
断
続
的
ビルド・デプロイ
納品物作成
開発・運用
支援ツール
ドキュメント
定型チェック
自動化のための7つの要素
1. OSプラットフォーム非依存
2. 自動インストール方式
3. スクリプトによる簡潔な記述
4. Javaライブラリとの親和性
5. 互換性重視のAPI提供
6. 他のビルドツールの資産活用
7. 柔軟なプラグイン導入方式
OSプラットフォーム非依存
• 実行環境にはJavaVMさえあればOK
• JAVA_HOMEの設定は必要
• JDK6以上で動作するが、JDK8を推奨
• ただし、JDK8の場合はGradleは2.0
以上を使用してください
自動インストール方式
• Gradleラッパーにより、利用者に明示的
なインストールや設定をさせずにGradle
を配布可能
• gradlewコマンド一発で、初回実行時に
ダウンロードし、そのまま実行
• 使用するGradleに社内向けカスタマイズ
を施しておける
スクリプトによる簡潔な記述
• Groovy DSLによる簡潔な記法
• Javaのコードをそのまま書くことも可能
• プログラマに親しみやすい
• ビルドスクリプトの分割や構造化で、
可読性を維持しながら保守可能
• ただし、スパゲッティ化にも注意
Javaライブラリとの親和性
• Javaと親和性の高いGroovyベースである
ことから、Javaの標準ライブラリやOSS
の豊富なライブラリを利用可能
• ドキュメントのチェックや自動生成など
では、Apache POIが大活躍
• Excel参照なら、GExcelAPIがオススメ
https://github.com/nobeans/gexcelapi
互換性重視のAPI提供
•後方互換性に配慮した機能ライフサイクル
ポリシーによって、段階的な機能の追加や
廃止を実現
• 4つのステータス
• 非公開(Internal)、実験的(Incubating)、
公開(Public)、廃止(Deprecated)
• バージョンアップによる影響を小さく
し、より安定的に機能を提供
他のビルドツールの資産活用
• Ant
• build.xmlをそのまま実行できる
• タスクレベルでの呼び出しも可能で、
段階的な移行がしやすい
•Maven
• Maven Centralリポジトリを参照可能
• pom.xmlからビルドスクリプトを生成
柔軟なプラグイン導入方式
• プラグインが作りやすい
• Mavenの場合はモジュール作成が必須
• 段階的にプラグインの定義が可能
• 暫定使用:ビルドスクリプトに直書き
• 個別使用:スクリプトファイルの分割、
buildSrcに配置
• 汎用使用:プラグインモジュール化
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー
自動生成
ビルド
デプロイ
CI Jenkins, Bamboo, TeamCity, etc.
シェルスクリプト, コマンドプロンプト
Excelマクロ
Ant, Maven
OSごとに必要 !
環境によってマクロ
が動作しない !!
XML地獄 !!!
似て非なる
マクロが増殖 !!
ライブラリ管理
が大変 !!!
プラグイン
開発が面倒 !!!
規約外の対応
が困難 !!!
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー
自動生成
ビルド
デプロイ
CI Jenkins, Bamboo, TeamCity, etc.
Excelマクロ
Ant, Maven
環境によってマクロ
が動作しない !!
XML地獄 !!!
似て非なる
マクロが増殖 !!
ライブラリ管理
が大変 !!!
プラグイン
開発が面倒 !!!
規約外の対応
が困難 !!!
Gradle ラッパー
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー
自動生成
ビルド
デプロイ
CI Jenkins, Bamboo, TeamCity, etc.
Excelマクロ
Ant, Maven
環境によってマクロ
が動作しない !!
XML地獄 !!!
似て非なる
マクロが増殖 !!
ライブラリ管理
が大変 !!!
プラグイン
開発が面倒 !!!
規約外の対応
が困難 !!!
Gradle ラッパー
OS非依存 !
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー
自動生成
ビルド
デプロイ
CI Jenkins, Bamboo, TeamCity, etc.
Excelマクロ
Ant, Maven
環境によってマクロ
が動作しない !!
XML地獄 !!!
似て非なる
マクロが増殖 !!
ライブラリ管理
が大変 !!!
プラグイン
開発が面倒 !!!
規約外の対応
が困難 !!!
Gradle ラッパー
OS非依存 !
明示的インス
トール不要 !
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー
自動生成
ビルド
デプロイ
CI Jenkins, Bamboo, TeamCity, etc.
Ant, Maven
XML地獄 !!!
ライブラリ管理
が大変 !!!
プラグイン
開発が面倒 !!!
規約外の対応
が困難 !!!
Gradle ラッパー
Gradle + GExcelAPI(POI)
OS非依存 !
明示的インス
トール不要 !
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー
自動生成
ビルド
デプロイ
CI Jenkins, Bamboo, TeamCity, etc.
Ant, Maven
XML地獄 !!!
ライブラリ管理
が大変 !!!
プラグイン
開発が面倒 !!!
規約外の対応
が困難 !!!
Gradle ラッパー
Gradle + GExcelAPI(POI)
OS非依存 !
明示的インス
トール不要 !
Javaライブラリ活用 !!
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー
自動生成
ビルド
デプロイ
CI Jenkins, Bamboo, TeamCity, etc.
Ant, Maven
XML地獄 !!!
ライブラリ管理
が大変 !!!
プラグイン
開発が面倒 !!!
規約外の対応
が困難 !!!
Gradle ラッパー
Gradle + GExcelAPI(POI)
OS非依存 !
マクロ非依存
で一元化 !!
明示的インス
トール不要 !
Javaライブラリ活用 !!
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー
自動生成
ビルド
デプロイ
CI Jenkins, Bamboo, TeamCity, etc.
Gradle ラッパー
Gradle + GExcelAPI(POI)
Gradle + プラグイン
OS非依存 !
マクロ非依存
で一元化 !!
明示的インス
トール不要 !
Javaライブラリ活用 !!
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー
自動生成
ビルド
デプロイ
CI Jenkins, Bamboo, TeamCity, etc.
Gradle ラッパー
Gradle + GExcelAPI(POI)
Gradle + プラグイン
OS非依存 !
マクロ非依存
で一元化 !!
Maven同様の
依存関係管理 !!!
明示的インス
トール不要 !
Javaライブラリ活用 !!
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー
自動生成
ビルド
デプロイ
CI Jenkins, Bamboo, TeamCity, etc.
Gradle ラッパー
Gradle + GExcelAPI(POI)
Gradle + プラグイン
OS非依存 !
マクロ非依存
で一元化 !!
Maven同様の
依存関係管理 !!!
明示的インス
トール不要 !
Javaライブラリ活用 !!
優れた
後方互換性 !!!
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー
自動生成
ビルド
デプロイ
CI Jenkins, Bamboo, TeamCity, etc.
Gradle ラッパー
Gradle + GExcelAPI(POI)
Gradle + プラグイン
OS非依存 !
マクロ非依存
で一元化 !!
規約外でも安心 !!!
Maven同様の
依存関係管理 !!!
明示的インス
トール不要 !
Javaライブラリ活用 !!
優れた
後方互換性 !!!
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー
自動生成
ビルド
デプロイ
CI Jenkins, Bamboo, TeamCity, etc.
Gradle ラッパー
Gradle + GExcelAPI(POI)
Gradle + プラグイン
OS非依存 !
マクロ非依存
で一元化 !!
規約外でも安心 !!!
気軽にプラグイン作成 !!!
Maven同様の
依存関係管理 !!!
明示的インス
トール不要 !
Javaライブラリ活用 !!
優れた
後方互換性 !!!
自動化の実現手段
カテゴリ よく利用されているツール
ランチャー
自動生成
ビルド
デプロイ
CI Jenkins, Bamboo, TeamCity, etc.
Gradle ラッパー
Gradle + GExcelAPI(POI)
Gradle + プラグイン
OS非依存 !
マクロ非依存
で一元化 !!
規約外でも安心 !!!
気軽にプラグイン作成 !!!
Maven同様の
依存関係管理 !!!
簡潔なDSL !!!
明示的インス
トール不要 !
Javaライブラリ活用 !!
優れた
後方互換性 !!!
Gradle導入法と
移行戦略
導入パターン
•管理系支援ツールとして
•データ集計、レポート出力など
•開発支援ツールとして
•自動生成、テスト支援など
•ビルドツールとして
•新規導入 or 既存ビルドツールから移行
導入事例
•事例1
•小綺麗なテストレポートを提供
•GradleでテストするだけでOK
•事例2
•ドキュメントの定型チェック
•設計書IDやバージョン番号などの
記述ミスや更新漏れを検出
導入事例
•事例3
•Excel-JSON変換ツール
•ExcelデータをJSONに変換
•事例4
•クライアント向けテストツール
•JSONを返すHTTPサーバーを
Gradleで起動
ビルドツールの移行戦略
•2つのアプローチ
•フルスクラッチで書く
•ゼロベースの方が効率良い場合も
•既存のビルドスクリプトを利用する
•既存が Ant か Maven かで移行
ステップが異なる
Antからの移行ポイント
• ディレクトリ構造&ファイル名前
• Gradleの規約に合わせるか
• 既存にビルドスクリプトを合わせるか
• 参照ライブラリの管理
• 社内リポジリを立てるか
• 外部リポジトリを直接参照するか
• ファイル管理にするか
Mavenからの移行ポイント
• プラグイン
• Gradleに置き換え可能なプラグインが
あるか
• プラグインの置き換えが可能なら、
移行は比較的容易
• カスタム系のプラグインはプラグイン
ポータルで確認
プラグイン対応表 1/2
機能 Maven Gradle
コンパイル maven-compiler-plugin
Java Plugin
テスト maven-surefire-plugin
Java Pluginjavadoc maven-javadoc-plugin Java Plugin
アーカイブ maven-jar-plugin
Java Plugin
maven-assembly-plugin
Java Plugin
maven-war-plugin War Plugin
デプロイ maven-install-plugin
Maven Plugin
mave-deploy-plugin
Maven Plugin
プラグイン対応表 2/2
機能 Maven Gradle
eclipse連携 maven-eclipse-plugin Eclipse Plugin
静的解析
mave-checkstyle-plugin Checkstyle Plugin
静的解析
maven-pmd-plugin PMD Plugin
静的解析
findbugs-maven-plugin Findbugs Plugin
静的解析
jacoco-maven-plugin Jacoco Plugin
アーキタイプ作成 maven-archetype-plugin initタスク※
Ant実行 maven-antrun-plugin 標準機能
http://plugins.gradle.org
導入後の運用
導入後にやるべきこと
•ビルドスクリプトの構造化
•タスクのリファクタリング
•プラグインの抽出
ビルドスクリプトの構造化
•ビルドスクリプトを構造化し、適切な
状態を維持する
•共通的な設定やタスクの抽出
•内容に応じてファイルを分割
•ビルドスクリプトの肥大化防止
タスクのリファクタリング
•複数タスク内に同じ処理があれば抽出
•共通処理はクラス化、タスク化して
再利用性を上げる
•タスクは単一責務を心がける
プラグインの抽出
•他のプロジェクトにも利用可能な汎用
的なタスクがあった場合は、プラグイ
ンとして抽出
•社内リポジトリにリリースして展開
まとめ
•開発の現場は、Gradleを活用すれば
もっと自動化できる
•Gradleの導入は入れやすいところから
•ビルドツールの移行時は、既存のツール
に応じたポイントを押さえて実施
•導入後はビルドスクリプトの肥大化や
スパゲッティ化に注意して、リファクタ
リングを心がける

More Related Content

What's hot

Jenkinsプラグイン開発
Jenkinsプラグイン開発Jenkinsプラグイン開発
Jenkinsプラグイン開発
Takahisa Wada
 
Jenkins勉強会 in 札幌 第二部
Jenkins勉強会 in 札幌 第二部Jenkins勉強会 in 札幌 第二部
Jenkins勉強会 in 札幌 第二部
cactusman
 
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
Makoto Yamazaki
 
Groovy base gradle_20130309
Groovy base gradle_20130309Groovy base gradle_20130309
Groovy base gradle_20130309
Nobuhiro Sue
 

What's hot (20)

Gradle handson
Gradle handsonGradle handson
Gradle handson
 
Gradle入門
Gradle入門Gradle入門
Gradle入門
 
Jenkins と groovy
Jenkins と groovyJenkins と groovy
Jenkins と groovy
 
Jenkinsプラグイン開発
Jenkinsプラグイン開発Jenkinsプラグイン開発
Jenkinsプラグイン開発
 
Jenkins勉強会 in 札幌 第二部
Jenkins勉強会 in 札幌 第二部Jenkins勉強会 in 札幌 第二部
Jenkins勉強会 in 札幌 第二部
 
Android アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステムAndroid アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステム
 
(IDEユーザのための) ClojureのEmacs開発環境について
(IDEユーザのための) ClojureのEmacs開発環境について(IDEユーザのための) ClojureのEmacs開発環境について
(IDEユーザのための) ClojureのEmacs開発環境について
 
What makes Geb groovy?
What makes Geb groovy?What makes Geb groovy?
What makes Geb groovy?
 
AndroidStudioはじめました ~Gradle編~
AndroidStudioはじめました ~Gradle編~AndroidStudioはじめました ~Gradle編~
AndroidStudioはじめました ~Gradle編~
 
Javaユーザに贈るJenkins 25のTips
Javaユーザに贈るJenkins 25のTipsJavaユーザに贈るJenkins 25のTips
Javaユーザに贈るJenkins 25のTips
 
Cryogenでサイトつくろーじぇん
CryogenでサイトつくろーじぇんCryogenでサイトつくろーじぇん
Cryogenでサイトつくろーじぇん
 
絶対落ちないアプリの作り方
絶対落ちないアプリの作り方絶対落ちないアプリの作り方
絶対落ちないアプリの作り方
 
Head toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjugHead toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjug
 
Jenkins user conference 東京
Jenkins user conference 東京Jenkins user conference 東京
Jenkins user conference 東京
 
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
 
Gws 20130315 gradle_handson
Gws 20130315 gradle_handsonGws 20130315 gradle_handson
Gws 20130315 gradle_handson
 
Groovy base gradle_20130309
Groovy base gradle_20130309Groovy base gradle_20130309
Groovy base gradle_20130309
 
今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう
 
GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話
 
Groovyの紹介20130323
Groovyの紹介20130323Groovyの紹介20130323
Groovyの紹介20130323
 

Similar to システム開発を前進させるためのGradle導入法

Agile Japan 2010 「変化を受け入れるアジャイルなプロジェクトマネジメントと現場 <ツール・環境篇>」
Agile Japan 2010 「変化を受け入れるアジャイルなプロジェクトマネジメントと現場 <ツール・環境篇>」Agile Japan 2010 「変化を受け入れるアジャイルなプロジェクトマネジメントと現場 <ツール・環境篇>」
Agile Japan 2010 「変化を受け入れるアジャイルなプロジェクトマネジメントと現場 <ツール・環境篇>」
Yusuke Suzuki
 
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみたリモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみた
Masakazu Muraoka
 
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
Atsushi Harada
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Mori Shingo
 
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
Akihiro Kuwano
 
Tizen web app について調べたよ
Tizen web app について調べたよTizen web app について調べたよ
Tizen web app について調べたよ
Naruto TAKAHASHI
 
Building Static Website With Github And Jekyll
Building Static Website With Github And JekyllBuilding Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
Yoji Shidara
 

Similar to システム開発を前進させるためのGradle導入法 (20)

Agile Japan 2010 「変化を受け入れるアジャイルなプロジェクトマネジメントと現場 <ツール・環境篇>」
Agile Japan 2010 「変化を受け入れるアジャイルなプロジェクトマネジメントと現場 <ツール・環境篇>」Agile Japan 2010 「変化を受け入れるアジャイルなプロジェクトマネジメントと現場 <ツール・環境篇>」
Agile Japan 2010 「変化を受け入れるアジャイルなプロジェクトマネジメントと現場 <ツール・環境篇>」
 
20140829 山形でJAWS-UGをやって困った2つのこと
20140829 山形でJAWS-UGをやって困った2つのこと20140829 山形でJAWS-UGをやって困った2つのこと
20140829 山形でJAWS-UGをやって困った2つのこと
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
 
PythonのGUI_2018 with NSEG
PythonのGUI_2018 with NSEGPythonのGUI_2018 with NSEG
PythonのGUI_2018 with NSEG
 
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみたリモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみた
 
Android studio で行ってみよう!!
Android studio で行ってみよう!!Android studio で行ってみよう!!
Android studio で行ってみよう!!
 
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
 
ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべ
 
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
 
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
 ぼく(たち)のかんがえた最新のJS開発環境 #scripty04 ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
 
Introduction to Creating Websites
Introduction to Creating WebsitesIntroduction to Creating Websites
Introduction to Creating Websites
 
Tizen web app について調べたよ
Tizen web app について調べたよTizen web app について調べたよ
Tizen web app について調べたよ
 
Building Static Website With Github And Jekyll
Building Static Website With Github And JekyllBuilding Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
 
Microsoft Power Platform がエンジニアにも必要な理由
Microsoft Power Platform がエンジニアにも必要な理由Microsoft Power Platform がエンジニアにも必要な理由
Microsoft Power Platform がエンジニアにも必要な理由
 
SGT技術トークス 継続的デリバリー
SGT技術トークス 継続的デリバリーSGT技術トークス 継続的デリバリー
SGT技術トークス 継続的デリバリー
 
210630 python
210630 python210630 python
210630 python
 
デブサミ2014【13-E-3】クラウド時代の環境構築・デプロイ自動化戦略
デブサミ2014【13-E-3】クラウド時代の環境構築・デプロイ自動化戦略デブサミ2014【13-E-3】クラウド時代の環境構築・デプロイ自動化戦略
デブサミ2014【13-E-3】クラウド時代の環境構築・デプロイ自動化戦略
 
java-ja TDD 2nd
java-ja TDD 2ndjava-ja TDD 2nd
java-ja TDD 2nd
 

More from Takuma Watabiki

G*におけるソフトウェアテスト・シーズンIII
G*におけるソフトウェアテスト・シーズンIIIG*におけるソフトウェアテスト・シーズンIII
G*におけるソフトウェアテスト・シーズンIII
Takuma Watabiki
 

More from Takuma Watabiki (13)

「普通の設計」をするということ
「普通の設計」をするということ「普通の設計」をするということ
「普通の設計」をするということ
 
バックエンドのエンジニアがiOSアプリ開発をやってみて思うこと - フロントエンドのアーキテクチャの考察 -
バックエンドのエンジニアがiOSアプリ開発をやってみて思うこと - フロントエンドのアーキテクチャの考察 -バックエンドのエンジニアがiOSアプリ開発をやってみて思うこと - フロントエンドのアーキテクチャの考察 -
バックエンドのエンジニアがiOSアプリ開発をやってみて思うこと - フロントエンドのアーキテクチャの考察 -
 
『現場で役立つシステム設計の原則』は一般的なSI現場で役立つのか?
『現場で役立つシステム設計の原則』は一般的なSI現場で役立つのか?『現場で役立つシステム設計の原則』は一般的なSI現場で役立つのか?
『現場で役立つシステム設計の原則』は一般的なSI現場で役立つのか?
 
Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所
 
JGGUG Community LT 2016
JGGUG Community LT 2016JGGUG Community LT 2016
JGGUG Community LT 2016
 
Spock's world
Spock's worldSpock's world
Spock's world
 
スーパー戦隊進化論
スーパー戦隊進化論スーパー戦隊進化論
スーパー戦隊進化論
 
Gws in fukuoka
Gws in fukuokaGws in fukuoka
Gws in fukuoka
 
Devsumi2012 JGGUG LT
Devsumi2012 JGGUG LTDevsumi2012 JGGUG LT
Devsumi2012 JGGUG LT
 
Spockを使おう!
Spockを使おう!Spockを使おう!
Spockを使おう!
 
G*Magazineを読もう
G*Magazineを読もうG*Magazineを読もう
G*Magazineを読もう
 
G*におけるソフトウェアテスト・シーズンIII
G*におけるソフトウェアテスト・シーズンIIIG*におけるソフトウェアテスト・シーズンIII
G*におけるソフトウェアテスト・シーズンIII
 
Groovyノススメ
GroovyノススメGroovyノススメ
Groovyノススメ
 

システム開発を前進させるためのGradle導入法