フロントエンド開発者のためのjenkins

40
2013/11/16 Hiroyuki SATAKE フロントエンド開発者の ためのJenkins

Upload: satake-hiroyuki

Post on 27-Jun-2015

3.109 views

Category:

Documents


0 download

DESCRIPTION

Frontrend vol.6

TRANSCRIPT

Page 1: フロントエンド開発者のためのJenkins

2013/11/16 Hiroyuki SATAKE

フロントエンド開発者のためのJenkins

Page 2: フロントエンド開発者のためのJenkins

●佐竹 裕行

●JavaScript

●@st44100

Page 3: フロントエンド開発者のためのJenkins

TAGLY

●タグでつながる写真共有サービス

●iOS / Android

Page 4: フロントエンド開発者のためのJenkins

TAGLY

●タグでつながる写真共有サービス

●iOS / Android

Page 5: フロントエンド開発者のためのJenkins

旅Photo ぷらり

●旅写真でつながるSNS

●iPhone / Android

Page 6: フロントエンド開発者のためのJenkins

旅Photo ぷらり

●旅写真でつながるSNS

●iPhone / Android

Page 7: フロントエンド開発者のためのJenkins

パシャっとmyペット

●国内最大級のペット写真SNS

●iPhone / Android

●http://petpic.jp

Page 8: フロントエンド開発者のためのJenkins

Jenkinsとフロント開発

●Jenkinsとは

●Jenkinsでビルド

●Jenkinsでテスト

●単体テスト

●統合テスト

●Jenkinsでドキュメント

Page 9: フロントエンド開発者のためのJenkins

Jenkins

Page 10: フロントエンド開発者のためのJenkins

http://jenkins-ci.org/

Jenkins

“An extendable open source continuous integration server”

“拡張可能なオープンソースの

継続インテグレーションサーバ”

Page 11: フロントエンド開発者のためのJenkins

http://ja.wikipedia.org/wiki/継続的インテグレーション

CIとは

継続的インテグレーション、CI(英: continuous integration)とは、主にプログラマーのアプリケーション作成時の品質改善や納期の短縮のための習慣のこ

とである。

エクストリーム・プログラミング (XP) のプラクティスの一つで、狭義にはビルドやテスト、インスペクションなどを継続的に実行していくことを意味する[1]。

Page 12: フロントエンド開発者のためのJenkins

Server...

Page 13: フロントエンド開発者のためのJenkins

Continuos Integration...

Page 14: フロントエンド開発者のためのJenkins

●ビルド

●テスト

●常に動くものを作って、検証を繰り返す

Page 15: フロントエンド開発者のためのJenkins

�����

�����

Commit → Test →Build

Page 16: フロントエンド開発者のためのJenkins

● フロントエンドのコードのビルド

● JavaScript

● compile, concat, minify

● CSS

● compile, minify, CSS Sprite

● Image

● Optimize, CSS Sprite

Page 17: フロントエンド開発者のためのJenkins

1.作業の開発本線へのコミット

2.Jenkinsがソースコードチェックアウト

3.テスト/ビルドをJenkinsが実行

Page 18: フロントエンド開発者のためのJenkins

●Jenkinsの準備

●自分でインストール

●CloudBees

Page 19: フロントエンド開発者のためのJenkins

● Install Jenkins

● Install node / npm

● Install Ruby / Bundler

Install Jenkins

Page 20: フロントエンド開発者のためのJenkins

$ brew install jenkins

$ java -jar \/usr/local/opt/jenkins/libexec/jenkins.war

Install Jenkins

Page 21: フロントエンド開発者のためのJenkins

●node/npm (grunt, etc)

●ruby (compass, etc)

●レポジトリの登録

●認証系の設定

Page 22: フロントエンド開発者のためのJenkins

BUILD

Page 23: フロントエンド開発者のためのJenkins

プロジェクト画面

Page 24: フロントエンド開発者のためのJenkins

成果物

Page 25: フロントエンド開発者のためのJenkins

TEST

Page 26: フロントエンド開発者のためのJenkins

●テストする

●単体テスト(Jasmine)

●統合テスト(CasperJS)

Page 27: フロントエンド開発者のためのJenkins

●単体テスト

●Jasmine

●PhantomJS

Page 28: フロントエンド開発者のためのJenkins

$ grunt test

Page 29: フロントエンド開発者のためのJenkins

Jenkins上で

Page 30: フロントエンド開発者のためのJenkins
Page 31: フロントエンド開発者のためのJenkins

●統合テスト

●Casper JS

Page 32: フロントエンド開発者のためのJenkins

DOCUMENT

Page 33: フロントエンド開発者のためのJenkins

●ドキュメント生成

●JS Documentation

●StyleGuide

Page 34: フロントエンド開発者のためのJenkins

ドキュメント生成

Page 35: フロントエンド開発者のためのJenkins

CATCH REGRESSION

Page 36: フロントエンド開発者のためのJenkins

BBC-News/wraith

●BBC制作

●画像のDiffをとれる。

●Ruby

●ImageMagick

●おそい。

Page 38: フロントエンド開発者のためのJenkins

Huddle/PhantomCSS

●Huddle製

●Casper JSのモジュール

Page 39: フロントエンド開発者のためのJenkins

●フロントエンドだけでも使える

●テスト

●ドキュメンテーション

●定期的なマークアップ崩れ確認

Page 40: フロントエンド開発者のためのJenkins

Thank you.