SlideShare a Scribd company logo
2013/12/14

A.Suzuki & H.Maeda
この研修を開催するまで
せっかく
勉強してるんだし

何かつくりたい

作ろう
ゼヨ

10 min
んじゃ

なんか
作ろう!
Javaで…

おー!
Java
シラネー
よし。まずは
開発環境だ!
Github!

GitHub!
Travis!

Travis!
GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる
エロく?
どれも
わからない
GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる
GitHub +
Travis CI + CoverALLs
(+ Maven) で
CI開発環境を

2時間 で作る。
CI
継続的
インテグレーション
Continuous Integration

テストやビルドといった
ソフトウェアの統合プロ
セスを可能な限り自動化
し、継続的に行う仕組み
CI ツールの効果
メジャーな CI ツール
本日利用する

開発環境

WEB で提供されている
開発環境の紹介
10 min
GitHub
ソフトウェア開発
プロジェクトのため
の
共有ウェブサービス
https://github.com/
Travis CI
オープンソース
コミュニティの
ための
ホスティング型
CIサービス
https://travis-ci.org/
COVERALLS
テストのカバー率
を計測、表示して
くれる
サービス
https://coveralls.io/
通知

プロジェクト
Pull
リソースの
バージョン管理 他

カバレッジ
蓄積、表示

ビルド, テスト
カバレッジ計測
GitHub
リポジトリ作成

GitHub の
アカウントを取得し
プロジェクトを格納する
リポジトリを作成する
7 min
2合目

GitHub
リポジトリ作成

CoverAlls の設定
Travis CIの設定

First Push

テストコード 追加・実行

Pom.xml 作成

ソースコード追加
Mavenプロジェクト
の作成
ローカルのリポジトリ作成

GitHubリポジトリ作成
Site

GitHub のアカウント登録

name
name@mail.jp

後でも使うので
覚えておいてください

GitHub
GitHub のプラン選択

無料のプランを
選択します

[Finish sign up]
リモートリポジトリの作成
自分の PC

ローカル
リポジトリ

リモート
リポジトリ

github
GitHub リポジトリ作成 その1

[New repository]
で作成開始
GitHub リポジトリ作成 その2
username

citest

英語小文字で
“citest”
Private
はお金を払わない
と利用できません!

Readme.md
を生成
[Java] を選択し、
Gitにアップロードしない
ファイルを設定する
citest リポジトリの確認
username/ citest

citest

citest
GitHub
リポジトリ
の作成完了
コラボレータ
を設定すると
コードを共同編集
できます
ローカル
リポジトリ作成

Eclipse の機能を利用し
GitHub のリポジトリか
らローカルリポジトリを
作成する
7 min
3合目

ローカル
リポジトリ作成

CoverAlls の設定
Travis CIの設定

First Push

テストコード 追加・実行

Pom.xml 作成

ソースコード追加
Mavenプロジェクト
の作成
ローカルの
リポジトリ作成

GitHubリポジトリ作成
GitHub でのデータフロー
自分の PC
ローカル
リポジトリ

リモート
リポジトリ

github
Clone によるローカルリポジトリの作成
自分の PC
ローカル
リポジトリ

リモート
リポジトリ

github
Clone によるローカルリポジトリの作成

[ウィンドウ] – [パーペスペクティブ]
– [その他] を選択
[Gitリポジトリエクスプローラ]
を選択
Clone によるローカルリポジトリの作成
[Clone URI] を選択し
[次へ] クリック

[Git リポジトリーの複
製] をクリック
Site

リポジトリのURL を取得
username/ citest

citest

ここをクリックして
URL をコピーする

citest

GitHub
Clone によるローカルリポジトリの作成
GitHub(リモート)リポジトリ
の httpsアドレスを入力
Clone によるローカルリポジトリの作成
“ワークスペースのフォルダパス”
+ “citest”
ローカル
リポジトリ
の作成完了
Maven (メイヴァン/メイヴィン)
プロジェクト情報の一元管理

統一したビルドプロセスの提供
依存ライブラリの管理
上記の機能の助けを借り CIツールが機能します

Antの
機能はすべて
網羅
しかも環境の作成手順書わかりにくい・・・
まー 気づくまで、時間のかかること
GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる
Maven
が解決
CI ツールはビルドツールがないと動かない!
Eclipce
+
Maven

Eclipce を使って

Maven プロジェクト
を作成
7min
4合目

CoverAlls の設定

Maven
プロジェクト作成

Travis CIの設定

First Push

テストコード 追加・実行

Pom.xml 作成

ソースコード追加
Mavenプロジェクト
の作成
ローカルの
リポジトリ作成
GitHubリポジトリ作成
Mavenプロジェクトの作成 1
Gitリポジトリエクスプローラの
[作業ディレクトリ] で右クリックし
[プロジェクトのインポート] を選択

[新規ウィザードの使用]
Mavenプロジェクトの作成 2

リストから
・Mavenプロジェクト
を選択し、[次へ]
Mavenプロジェクトの作成 3

☑シンプルなプロジェクトの作成
☑デフォルト・ワークスペース・ロケーションの使用
を選択して [次へ]
Mavenプロジェクトの作成 4
devmen.project

グループ Id はアプ
リケーションを登録
するグループ
アーティファクト Id
はアプリケーション
そのものを表す識別
子

citest
Maven ディレクトリ構成の確認
Java パースペクティブ を選択して..

展開する。
← コードを格納します
← テストコードを格納します

← Maven の設定ファイル
Maven
プロジェクト

完成
なんもソースがないけど・・・
これから

ソースコード

作成

ビルド・テストを
行うための
Profile クラス を作成します
5 min
5合目

CoverAlls の設定

ソースコード追加

Travis CIの設定

First Push

テストコード 追加・実行
Pom.xml 作成

ソースコード追加
Mavenプロジェクト
の作成
ローカルの
リポジトリ作成
GitHubリポジトリ作成
Profile クラスの作成
Profile クラスの作成

“Profile”
Profile クラスの追加
Gist

package citest;

Profile.java

import java.util.ArrayList;
import java.util.List;

public class Profile {
private String name ="じょん";
private List<String> tags = new
ArrayList<>();
public String getName(){
return name;
}
public void addTag(String tag){
this.tags.add(tag);
}

}
はい

ビルド
とおりません
POM.XML
作成

MAVEN のビルドに必要
な POM ファイルを作成

10 min
6合目

pom.xml 作成

CoverAlls の設定
Travis CIの設定
First Push

テストコード 追加・実行
Pom.xml 作成

ソースコード追加
Mavenプロジェクト
の作成
ローカルのリポジトリ作成

GitHubリポジトリ作成
POMファイルを開く
Gist

FirstPom

POM.XML にコンパイラの設定追加
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
Maven が使用する
<build>
エンコーディング
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.7</source>
コンパイル
<target>1.7</target>
を実行するプラグインに
</configuration>
Java バージョンを設定
</plugin>
</plugins>
</build>
Maven プロジェクトを更新

プロジェクトを選択し、
[Alt] + [F5] を入力
Maven でビルドを実行

“…” がついてる
メニューを選ぶ
Maven でビルドを実行

“compile”
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------------------------------------------------------[INFO] Building citest 0.0.1-SNAPSHOT
[INFO] -----------------------------------------------------------------[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ cit
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ citest [INFO] Nothing to compile - all classes are up to date
[INFO] -----------------------------------------------------------------[INFO] BUILD SUCCESS
[INFO] -----------------------------------------------------------------[INFO] Total time: 1.471s
[INFO] Finished at: Thu Nov 28 21:26:42 JST 2013
[INFO] Final Memory: 7M/191M
[INFO] ------------------------------------------------------------------
Maven
ビルド

できた!
たぶん
テストコード

作成
(Junit4)

Profile クラス の
テストコードを追加して
Mavenに
テストを実行させてみよう

7 min
CoverAlls の設定
Travis CIの設定
First Push

7合目

テストコード 追加・実行
Pom.xml 作成

テストコード追加 と
Maven での実行
ソースコード追加

Mavenプロジェクト
の作成

ローカルのリポジトリ作成

GitHubリポジトリ作成
テストコードの追加 その1
クラスの上で
右クリックする

[新規] – [その他]
テストコードの追加 その2 -> test に変更する
main

“ju” と入力し、
[Junit テストケース]を選択
テストコードの追加 その3
テストコードの追加 その4
package citest;

Gist

ProfileTest.Java

import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import org.junit.Test;
public class ProfileTest {
@Test
public void testGetName() {
Profile profile = new Profile();
String expected = "じょん";
String actual = profile.getName();
assertThat(actual, is(expected));
}
}
テストコード

の追加完了
Junitの
ライブラリ参照問題で
ところどころ赤いですが・・
Maven
ライブラリ
参照設定

Mavenに依存関係
を定義し、面倒な参照設
定を自動で行う

7 min
CoverAlls の設定
Travis CIの設定
First Push

8合目

テストコード 追加・実行
Pom.xml 作成

テストコード追加 と
Maven での実行
ソースコード追加

Mavenプロジェクト
の作成

ローカルのリポジトリ作成

GitHubリポジトリ作成
Mavenでライブラリ参照を解決

使用側
ライブラリのインストール

ライブラリの参照設定

ライブリの更新作業

提供側
Libフォルダなどにライブラ
リを入れて提供
設定手順書などの

ドキュメント
バージョン更新
Junit4 のライブラリを自動設定

プロジェクトを選択し、
右クリックし
[Maven] – [依存関係の追加]
を選択

“junit” を入力し
[Enter]
Maven プロジェクトの更新

プロジェクトを
選択した状態で
[Alt] + [F5]
Maven でテストを実行してみよう

プロジェクトを
選択し右クリック
[実行] + [Maven test]
テスト実行成功
------------------------------------------------------T E S T S
------------------------------------------------------Running citest.ProfileTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.097 sec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO]
[INFO]
[INFO]
[INFO]
[INFO]
[INFO]

-----------------------------------------------------------------------BUILD SUCCESS
-----------------------------------------------------------------------Total time: 3.986s
Finished at: Fri Nov 29 22:52:39 JST 2013
Final Memory: 8M/151M
------------------------------------------------------------------------
Maven

ライブラリ参照
テスト実行環境
作成完了
Eclipse で GitHub の

First Push

設定を行い
プロジェクトをGitHubに
プッシュする
5 min
Git のユーザ設定
メニューの [ウィンドウ] – [設定] を 選択し、設定ダイアログを表示

“git” と入力し
ツリーから
[チーム] – [Git] – [構成]
を選択

[エントリーの追加] で以下の値を追加する
キー

値

user.name

GitHub のユーザ名

user.email

GitHub の登録メールアドレス
Commit And Push
自分の PC
ローカル
リポジトリ

リモート
リポジトリ

github
Commit And Push

パッケージエクスプローラ
の プロジェクトの上で右
クリックして
[チーム] – [コミット]
Commit And Push
コメントを書かな
いとコミットでき
ないよ

[✓] をクリックして
すべてのファイルを選択
リモート
リポジトリ
へPush完了
Mail のサービスフック
を設定すると
コミット時に
メールを送信することが
出来る
CoverAlls の設定
Travis CIの設定
First Push

9合目

テストコード 追加・実行
Pom.xml 作成

Travis CI の設定
ソースコード追加

Mavenプロジェクト
の作成

ローカルのリポジトリ作成

GitHubリポジトリ作成

15min
Travis CI
オープンソース
コミュニティの為の、
ホスティング型
CIサービス。
https://travis-ci.org/
CI を体験しよう!
(継続的インテグレーション)

目的
Travis CIを使用して継続的インテグレーションを体験する

流れ
Travis CI サインイン
ビルド設定ファイル作成
ビルドの確認
Travis

Travis
サインインする
Site

Travis CI

Travis CI へサインイン

[Sign in with GitHub]
をクリックして
GitHubのアカウントで
サインインする
Site

GitHub

Travis CI のサービスフックの有効化
サービスフックの
設定画面に遷移する

[Allow Access]
をクリック
TravisがGitHubに
アクセスすることを許可

Read/Writeの
設定は変えられない
Travis CI の言語設定
[Profile] をクリック

[日本語] を選択

Site Travis CI
リポジトリを有効にする

[ON] をクリック
対象リポジトリで
Travis CI を有効にする
Travis のビルドに必要な設

Travis

定ファイル
.travis.yml ファイルを
作成する。
10 min
Site

.travis.yml 作成

[+] マークをクリックし、
新規ファイルを追加

GitHub
.travis.yml 作成

Gist

.travis.yml

ファイル名
“.travis.yml”
を入力

[Commit New File]
をクリックして
ファイルをコミット
Travis CI ビルド

Site

GitHubにPushするたびに
自動でビルドされる
※時間がかかる場合があるので注意

Travis CI
通知

プロジェクト
Pull
リソースの
バージョン管理 他

カバレッジ
蓄積、表示

ビルド, テスト
カバレッジ計測
ビルドステータスバッジ
GitHubにPushした時にビルドが成功しているか確認したい!
GitHubだけで確認できたらいいね

ビルドステータス
バッジ
ビルドステータスバッジ

Site

ビルドステータス
をクリック

Travis CI
ビルドステータスバッジ

. README.mdに貼りつけるため
md(Mark Down) の記述を
コピーする
ビルドステータスバッジ
Site

GitHub

[README.md]
クリックし、編集する
README.md 編集

[Edit] をクリック
ビルドステータスバッジ

Travis-ciでコピーした.md用のビルドステータスバッジ
を貼りつける
行末にスペース2 で改行になる
ビルドステータスバッジ

[Commit Changes]
をクリックして
ファイルをコミット
ビルドステータスバッジ

ビルドステータスバッジ
が表示される
Travis
でいつでも

ビルドとテスト
が走るよう
になったよ
CoverAlls の設定
Travis CIの設定
First Push

10合目

テストコード 追加・実行
Pom.xml 作成

CoverAllsの設定
ソースコード追加

Mavenプロジェクト
の作成

ローカルのリポジトリ作成

GitHubリポジトリ作成
COVERALLS
テストのカバー率を
計測してくれる
サービス。
https://coveralls.io/
ビルド時にカバレッジも確認しよう!
目的
ビルドとテストを自動で行ってカバレッジを計測する
サービスを体験する

流れ
COVERALLSにサインイン
COVERALLSセットアップ
Maven POMの編集
ローカルテスト実行
COVERALLSでカバレッジ確認
COVERALLS

COVERALLS

のセットアップを行い
カバレッジデータを
表示してみよう
10 min
CoverAlls にサインイン

Site

CoverAlls

[Sign in with GitHub]
をクリックして
GitHubのアカウントで
サインインする
Site

GitHub

CoverAllsのサービスフックの有効化
サービスフックの
設定画面に遷移する

[Allow Access]
をクリック
CoverallsがGitHubにアクセ
スすることを許可
Githubリポジトリ追加

[ADD REPO] をクリック
リポジトリを追加する
Coverallsを有効にする

[ON] をクリック
対象リポジトリで
CoverAlls を有効にする
通知

プロジェクト
Pull
リソースの
バージョン管理 他

カバレッジ
蓄積、表示

ビルド, テスト
カバレッジ計測
GitHubからPullする
自分の PC
ローカル
リポジトリ

リモート
リポジトリ

github
GitHubからPullする(Eclipse)

[チーム] – [プル]
GitHub上で編集したの
でリモートリポジトリ
とローカルリポジトリ
を同じ状態にする
Maven POMの編集
Gist

pom.xml 編集

Second pom.xml
JUnit
Junit実践入門
テストコードの書き方
テストファースト
Mavenの設定
カバレッジの計測
継続的インテグレーション
POMの更新

[Maven] –[プロジェクトの更新]
pom.xml の編集内容を
プロジェクトに反映する
POM plugin executionエラー回避

上から2番目のリンクを選択する
Maven build構成

[実行]->*Maven build(*)…+
“…” がついてる
メニューを選ぶ
プラグインのゴール設定
Gist

Maven goal

clean jacoco:prepare-agent test jacoco:report

[ゴール] を設定
[実行] をクリック
レポートを見てみよう!

[リフレッシュ] を選択し、
[target] フォルダに
[site] が作成されているこ
とを確認する
Index.html

パッケージエクスプローラーの
Index.html 上で右クリック
メニューの
[次で開く] – [Webブラウザー]
を選択する
Jacocoレポート
GitHubにPushする
自分の PC
ローカル
リポジトリ

リモート
リポジトリ

github
GitHubにPushする(Eclipse)

[チーム] – [コミット]
編集内容をコミットして
GitHubへプッシュ!
GitHubにPushする(Eclipse)

コミットメッセージ
“Update pom.xml for Jacoco and
Coveralls”
を入力

[pom.xml]にチェックが
入っていることを確認
[Commit and push]
カバレッジステータスバッジ
カバレッジのステータスをGitHub上でも常に見たい!

カバレッジ
ステータスバッジ
カバレッジステータスバッジ
Site

CoverAlls

. README.mdに貼りつけるため
md(Mark Down) の記述をコピーする
カバレッジステータスバッジ

[README.md] を
クリックし編集

Site

GitHub
README.md編集

[Edit] を
クリックし編集
カバレッジステータスバッジ

COVERALLSでコピーした.md用の
カバレッジステータスバッジを貼りつける
カバレッジステータスバッジ

[Commit Changes]
をクリックして
ファイルをコミット
カバレッジステータスバッジ

カバレッジステータス
バッジが表示される
Site

COVERALLSを覗いてみよう

ビルドごとのカバレッジ
が確認できる

CoverAlls
ファイルごとのカバレッジ

ビルドごとのカバレッジ
が確認できる
カバレッジ
テストしていないコードは赤

テストしたコードは緑
COVERALLS
でいつでも

カバレッジデータ
を確認できるよ。
最後に

本日学んだことの
振り返り
GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる
GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる
GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる
GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる
このタイトルのスライドを随所
に織り込み楽しいポイントを紹

介してあげる!!
たとえば コミットメールとか!

More Related Content

What's hot

DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念
Masahito Zembutsu
 
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理
Masahito Zembutsu
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Hori Tasuku
 
オトナのDocker入門
オトナのDocker入門オトナのDocker入門
オトナのDocker入門
Tsukasa Kato
 
Dockerの基本的な話
Dockerの基本的な話Dockerの基本的な話
Dockerの基本的な話
gree_tech
 
とある社内ビックデータ基盤にバッチ用コンテナ基盤を構築してみた
とある社内ビックデータ基盤にバッチ用コンテナ基盤を構築してみたとある社内ビックデータ基盤にバッチ用コンテナ基盤を構築してみた
とある社内ビックデータ基盤にバッチ用コンテナ基盤を構築してみた
Hiroshi Toda
 
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Masahito Zembutsu
 
普通のRailsアプリをdockerで本番運用する知見
普通のRailsアプリをdockerで本番運用する知見普通のRailsアプリをdockerで本番運用する知見
普通のRailsアプリをdockerで本番運用する知見
zaru sakuraba
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Yuichi Ito
 
分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション
Masahito Zembutsu
 
CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019  Winter version and KnativeCNCF Updates 2019  Winter version and Knative
CNCF Updates 2019 Winter version and Knative
Masahito Zembutsu
 
はじめての CircleCI
はじめての CircleCIはじめての CircleCI
はじめての CircleCI
Yosuke Mizutani
 
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
Etsuji Nakai
 
Docker入門
Docker入門Docker入門
Docker入門
Shun Tsunoda
 
Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19
Masahito Zembutsu
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
Kazushi Kamegawa
 
貧乏人でも出来るお手軽docker
貧乏人でも出来るお手軽docker貧乏人でも出来るお手軽docker
貧乏人でも出来るお手軽docker
Kenzo Nagahisa
 
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
System x 部 (生!) : しすなま! @ Lenovo Enterprise Solutions Ltd.
 
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクル
Masahito Zembutsu
 
JAWS-UG コンテナ支部 Docker入門 10分ハンズオン
JAWS-UG コンテナ支部 Docker入門 10分ハンズオンJAWS-UG コンテナ支部 Docker入門 10分ハンズオン
JAWS-UG コンテナ支部 Docker入門 10分ハンズオン
Ryo Nakamaru
 

What's hot (20)

DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念
 
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
 
オトナのDocker入門
オトナのDocker入門オトナのDocker入門
オトナのDocker入門
 
Dockerの基本的な話
Dockerの基本的な話Dockerの基本的な話
Dockerの基本的な話
 
とある社内ビックデータ基盤にバッチ用コンテナ基盤を構築してみた
とある社内ビックデータ基盤にバッチ用コンテナ基盤を構築してみたとある社内ビックデータ基盤にバッチ用コンテナ基盤を構築してみた
とある社内ビックデータ基盤にバッチ用コンテナ基盤を構築してみた
 
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~
 
普通のRailsアプリをdockerで本番運用する知見
普通のRailsアプリをdockerで本番運用する知見普通のRailsアプリをdockerで本番運用する知見
普通のRailsアプリをdockerで本番運用する知見
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
 
分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション
 
CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019  Winter version and KnativeCNCF Updates 2019  Winter version and Knative
CNCF Updates 2019 Winter version and Knative
 
はじめての CircleCI
はじめての CircleCIはじめての CircleCI
はじめての CircleCI
 
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
 
Docker入門
Docker入門Docker入門
Docker入門
 
Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
 
貧乏人でも出来るお手軽docker
貧乏人でも出来るお手軽docker貧乏人でも出来るお手軽docker
貧乏人でも出来るお手軽docker
 
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
 
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクル
 
JAWS-UG コンテナ支部 Docker入門 10分ハンズオン
JAWS-UG コンテナ支部 Docker入門 10分ハンズオンJAWS-UG コンテナ支部 Docker入門 10分ハンズオン
JAWS-UG コンテナ支部 Docker入門 10分ハンズオン
 

Viewers also liked

Php勉強会43 発表資料
Php勉強会43 発表資料Php勉強会43 発表資料
Php勉強会43 発表資料
ichikaway
 
Office 365 Enterprise / Business 管理者向け利用ガイド/基本操作ガイド
Office 365 Enterprise / Business 管理者向け利用ガイド/基本操作ガイドOffice 365 Enterprise / Business 管理者向け利用ガイド/基本操作ガイド
Office 365 Enterprise / Business 管理者向け利用ガイド/基本操作ガイド
kumo2010
 
Mylynとおともだち
MylynとおともだちMylynとおともだち
Mylynとおともだち
Hiroki Kondo
 
IBM Connect Japan 2012 TC-4/OB-5 ついにその実体を現す IBM Project Vulcan! その中核となる IBM S...
IBM Connect Japan 2012 TC-4/OB-5 ついにその実体を現す IBM Project Vulcan! その中核となる IBM S...IBM Connect Japan 2012 TC-4/OB-5 ついにその実体を現す IBM Project Vulcan! その中核となる IBM S...
IBM Connect Japan 2012 TC-4/OB-5 ついにその実体を現す IBM Project Vulcan! その中核となる IBM S...
Hiroaki Komine
 
Mavenへのはじめの一歩
Mavenへのはじめの一歩Mavenへのはじめの一歩
Mavenへのはじめの一歩
祐理 大野
 
Python開発環境三種の神器
Python開発環境三種の神器Python開発環境三種の神器
Python開発環境三種の神器
Yukitaka Uchikoshi
 
Jenkins+Maven活用術
Jenkins+Maven活用術Jenkins+Maven活用術
Jenkins+Maven活用術
cynipe cynipe
 
maven build certificaton
maven build certificatonmaven build certificaton
maven build certificaton
Vskills
 
Python エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjpPython エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjp
Takeshi Komiya
 
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
 
Vagrant intro
Vagrant introVagrant intro
Vagrant intro
t9md
 
Maven基礎
Maven基礎Maven基礎
Maven基礎
Toshio Takiguchi
 
はじめての datadog
はじめての datadogはじめての datadog
はじめての datadog
Naoya Nakazawa
 
ChefとPuppetの比較
ChefとPuppetの比較ChefとPuppetの比較
ChefとPuppetの比較
Sugawara Genki
 
(旧版) オープンソースライセンスの基礎と実務
(旧版) オープンソースライセンスの基礎と実務(旧版) オープンソースライセンスの基礎と実務
(旧版) オープンソースライセンスの基礎と実務
Yutaka Kachi
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
Akihiro Kuwano
 
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版
MOCKS | Yuta Morishige
 
Web技術勉強会 第30回
Web技術勉強会 第30回Web技術勉強会 第30回
Web技術勉強会 第30回
龍一 田中
 
Spring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswersSpring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswers
Takuma Watabiki
 

Viewers also liked (20)

20100529 phpday
20100529 phpday20100529 phpday
20100529 phpday
 
Php勉強会43 発表資料
Php勉強会43 発表資料Php勉強会43 発表資料
Php勉強会43 発表資料
 
Office 365 Enterprise / Business 管理者向け利用ガイド/基本操作ガイド
Office 365 Enterprise / Business 管理者向け利用ガイド/基本操作ガイドOffice 365 Enterprise / Business 管理者向け利用ガイド/基本操作ガイド
Office 365 Enterprise / Business 管理者向け利用ガイド/基本操作ガイド
 
Mylynとおともだち
MylynとおともだちMylynとおともだち
Mylynとおともだち
 
IBM Connect Japan 2012 TC-4/OB-5 ついにその実体を現す IBM Project Vulcan! その中核となる IBM S...
IBM Connect Japan 2012 TC-4/OB-5 ついにその実体を現す IBM Project Vulcan! その中核となる IBM S...IBM Connect Japan 2012 TC-4/OB-5 ついにその実体を現す IBM Project Vulcan! その中核となる IBM S...
IBM Connect Japan 2012 TC-4/OB-5 ついにその実体を現す IBM Project Vulcan! その中核となる IBM S...
 
Mavenへのはじめの一歩
Mavenへのはじめの一歩Mavenへのはじめの一歩
Mavenへのはじめの一歩
 
Python開発環境三種の神器
Python開発環境三種の神器Python開発環境三種の神器
Python開発環境三種の神器
 
Jenkins+Maven活用術
Jenkins+Maven活用術Jenkins+Maven活用術
Jenkins+Maven活用術
 
maven build certificaton
maven build certificatonmaven build certificaton
maven build certificaton
 
Python エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjpPython エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjp
 
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
 
Vagrant intro
Vagrant introVagrant intro
Vagrant intro
 
Maven基礎
Maven基礎Maven基礎
Maven基礎
 
はじめての datadog
はじめての datadogはじめての datadog
はじめての datadog
 
ChefとPuppetの比較
ChefとPuppetの比較ChefとPuppetの比較
ChefとPuppetの比較
 
(旧版) オープンソースライセンスの基礎と実務
(旧版) オープンソースライセンスの基礎と実務(旧版) オープンソースライセンスの基礎と実務
(旧版) オープンソースライセンスの基礎と実務
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
 
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版
 
Web技術勉強会 第30回
Web技術勉強会 第30回Web技術勉強会 第30回
Web技術勉強会 第30回
 
Spring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswersSpring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswers
 

Similar to GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる

SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
Daiki Kawanuma
 
WordCamp Kansai 2015 CI ハンズオン
WordCamp Kansai 2015 CI ハンズオンWordCamp Kansai 2015 CI ハンズオン
WordCamp Kansai 2015 CI ハンズオン
タカシ キタジマ
 
07 devops
07 devops07 devops
07 devops
anzhong70
 
Azure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure PipelinesAzure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure Pipelines
Kazushi Kamegawa
 
Jenkinsについて
JenkinsについてJenkinsについて
Jenkinsについて
Satoshi Namai
 
DevOps on Azure Kubernetes
DevOps on Azure KubernetesDevOps on Azure Kubernetes
DevOps on Azure Kubernetes
Issei Hiraoka
 
Jenkins study jenkins build-cicdi
Jenkins study jenkins build-cicdiJenkins study jenkins build-cicdi
Jenkins study jenkins build-cicdi
昌桓 李
 
Gradle handson
Gradle handsonGradle handson
Gradle handson
Nemoto Yusuke
 
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
de:code 2017
 
Jenkins と groovy
Jenkins と groovyJenkins と groovy
Jenkins と groovy
Kohsuke Kawaguchi
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - Overview
Keiji Kamebuchi
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
Yuta Kawadai
 
Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)
masanori kataoka
 
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
de:code 2017
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
Wataru MIYAGUNI
 
Eclipse を使った java 開発 111126 杉浦
Eclipse を使った java 開発 111126 杉浦Eclipse を使った java 開発 111126 杉浦
Eclipse を使った java 開発 111126 杉浦
urasandesu
 
Visual StudioやAzureからAzure DevOpsを使う
Visual StudioやAzureからAzure DevOpsを使うVisual StudioやAzureからAzure DevOpsを使う
Visual StudioやAzureからAzure DevOpsを使う
Takeshi Fukuhara
 

Similar to GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる (20)

SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
 
WordCamp Kansai 2015 CI ハンズオン
WordCamp Kansai 2015 CI ハンズオンWordCamp Kansai 2015 CI ハンズオン
WordCamp Kansai 2015 CI ハンズオン
 
07 devops
07 devops07 devops
07 devops
 
Azure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure PipelinesAzure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure Pipelines
 
Alfresco CI
Alfresco CIAlfresco CI
Alfresco CI
 
Hudson (JJUG CCCにて)
Hudson (JJUG CCCにて)Hudson (JJUG CCCにて)
Hudson (JJUG CCCにて)
 
Github第8章
Github第8章Github第8章
Github第8章
 
Jenkinsについて
JenkinsについてJenkinsについて
Jenkinsについて
 
DevOps on Azure Kubernetes
DevOps on Azure KubernetesDevOps on Azure Kubernetes
DevOps on Azure Kubernetes
 
Jenkins study jenkins build-cicdi
Jenkins study jenkins build-cicdiJenkins study jenkins build-cicdi
Jenkins study jenkins build-cicdi
 
Gradle handson
Gradle handsonGradle handson
Gradle handson
 
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
 
Jenkins と groovy
Jenkins と groovyJenkins と groovy
Jenkins と groovy
 
Azure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - OverviewAzure DevOps 関西 2019 - Overview
Azure DevOps 関西 2019 - Overview
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
 
Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)
 
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
 
Eclipse を使った java 開発 111126 杉浦
Eclipse を使った java 開発 111126 杉浦Eclipse を使った java 開発 111126 杉浦
Eclipse を使った java 開発 111126 杉浦
 
Visual StudioやAzureからAzure DevOpsを使う
Visual StudioやAzureからAzure DevOpsを使うVisual StudioやAzureからAzure DevOpsを使う
Visual StudioやAzureからAzure DevOpsを使う
 

GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる