SlideShare a Scribd company logo
WordPressで行う
継続的インテグレーションのススメ

ハンズオン
WordCamp Kansai 2015
堀家・北島・占部
アジェンダ
• CI とは
• プラグインの雛形を生成してみよう
• ユニットテストを書いてみよう
• プラグインを作成してみよう
• Travis CIを使ってGitHubにプッシュするたびにテストが実行されるようにしてみよ
う
• リポジトリにプッシュしてTravis CIで自動的にテストが実行されることを確認しよう
• WordMoveでデプロイしてみよう
CIとは
CIとは
• 継続的インテグレーション

( Continuous Integration )
• 主にプログラマーのアプリケーション作成時の
品質改善や納期の短縮のための習慣のこと。
• 狭義にはビルドやテスト、インスペクションな
どを継続的に実行していくことを意味する。
http://ja.wikipedia.org/wiki/継続的インテグレーション
プラグインの雛形を生成してみよう
プラグインの雛形を生成してみよう
• 一から作るのは面倒なのでVCCWに同梱され
ているWP-CLIを使って雛形を作成してみま
しょう。
• まずVCCWにログインしましょう。
プラグインの雛形を生成してみよう
# vccwのディレクトリまで移動
$ cd vccw
# VCCW起動
$ vagrant up
# VCCWにログイン
$ vagrant ssh
# WordPressのディレクトリに移動
[vccw]$ cd /var/www/wordpress
プラグインの雛形を生成してみよう
# プラグインの雛形を作成
[vccw]$ wp scaffold plugin sample-plugin
Success: Created /var/www/wordpress/wp-content/plugins/sample-plugin
Success: Created test files.
# もし既存のプラグインにテストだけ追加したい場合は下記で可能です。
[vccw]$ wp scaffold plugin-tests <plugin-slug>
このメッセージが表示されたら成功
プラグインの雛形を生成してみよう
• プラグインの雛形が作成されたか確認してみ
ましょう
プラグインの雛形を生成してみよう
[vccw]$ ls -al /var/www/wordpress/wp-content/plugins/sample-plugin/
合計 20
drwxr-xr-x. 1 vagrant vagrant 272 6月 9 23:17 2015 .
drwxr-xr-x. 1 vagrant vagrant 850 6月 9 23:18 2015 ..
-rw-r--r--. 1 vagrant vagrant 310 6月 9 23:17 2015 .travis.yml
drwxr-xr-x. 1 vagrant vagrant 102 6月 9 23:17 2015 bin
-rw-r--r--. 1 vagrant vagrant 321 6月 9 23:17 2015 phpunit.xml
-rw-r--r--. 1 vagrant vagrant 4334 6月 9 23:17 2015 readme.txt
-rw-r--r--. 1 vagrant vagrant 226 6月 9 23:17 2015 sample-
plugin.php
drwxr-xr-x. 1 vagrant vagrant 136 6月 9 23:17 2015 tests
プラグインの雛形を生成してみよう
# vccwからログアウト
[vccw]$ exit
ユニットテストを書いてみよう
ユニットテストを書いてみよう
• 今回のハンズオンでは次のような仕様のショート
コードのプラグインを作成していきます。
• [greeting language="japanese"] で こんにちは と
表示
• [greeting language="english"] で hello と表示
• それ以外では何も表示しない
ユニットテストを書いてみよう
• 今回はテストファーストと手法で作成していきま
しょう。
• テストファーストとは、モノを作成するよりも先
に、まずテストから作成する、という手法のこと。
• テストを先に書くことで仕様が明確になる、テスト
を100%通るコードになる、などのメリットがあり
ます。
ユニットテストを書いてみよう
• 下記にテストの雛形が生成されているので、そ
れを編集していきましょう。
• vccw/www/wordpress/wp-content/plugins/
sample-plugin/tests/test-sample.php
• ユニットテスト用のコードには、自動実行させ
るために必要ないくつかのルールがあります。
ユニットテストを書いてみよう
# vccw/www/wordpress/wp-content/plugins/sample-plugin/tests/test-
sample.php を編集
class SampleTest extends WP_UnitTestCase {
public function test_languageがjapaneseならこんにちは() {
}
public function test_languageがenglishならhello() {
}
}
tests/ 内に test-hoge.php というファイル名で保存
ユニットテストを書いてみよう
# vccw/www/wordpress/wp-content/plugins/sample-plugin/tests/test-
sample.php を編集
class SampleTest extends WP_UnitTestCase {
public function test_languageがjapaneseならこんにちは() {
}
public function test_languageがenglishならhello() {
}
}
Test で終わるクラス名
ユニットテストを書いてみよう
# vccw/www/wordpress/wp-content/plugins/sample-plugin/tests/test-
sample.php を編集
class SampleTest extends WP_UnitTestCase {
public function test_languageがjapaneseならこんにちは() {
}
public function test_languageがenglishならhello() {
}
} test_ で始まるメソッド名
ユニットテストを書いてみよう
• それでは実際にテストコードを書いていきま
しょう。
• 「[greeting language="japanese"] で こんに
ちは と表示」をテストするコードを追記しま
す。
ユニットテストを書いてみよう
# vccw/www/wordpress/wp-content/plugins/sample-plugin/tests/test-
sample.php を編集
class SampleTest extends WP_UnitTestCase {
public function test_languageがjapaneseならこんにちは() {
// ショートコードを実行して結果を取得
$greeting = do_shortcode( ‘[greeting language=“japanese”]’ );
// アサーションメソッドを実行して期待した結果かどうかチェック
// ここでは $greeting が こんにちは ならOK

$this->assertEquals( ‘こんにちは’, $greeting );
}
……
}
引数で渡した2つの値が同じならOKなアサーション
ユニットテストを書いてみよう
• 先ほどのテストコードを参考に「test_languageが
englishならhello() 」のテストも追加してみてくだ
さい。
• 他にもたくさんのアサーションメソッドが用意され
ていますので、必要に応じて使い分けましょう。

https://phpunit.de/manual/current/ja/
appendixes.assertions.html
ユニットテストを書いてみよう
# vccw/www/wordpress/wp-content/plugins/sample-plugin/tests/test-
sample.php を編集
class SampleTest extends WP_UnitTestCase {
public function test_languageがjapaneseならこんにちは() {
$greeting = do_shortcode( ‘[greeting language=“japanese”]’ );

$this->assertEquals( ‘こんにちは’, $greeting );
}
public function test_languageがenglishならhello() {
$greeting = do_shortcode( ‘[greeting language=“english”]’ );

$this->assertEquals( ‘hello’, $greeting );
}
}
ユニットテストを書いてみよう
• テストコードが書けたらテストを実行してみ
ましょう。
ユニットテストを書いてみよう
# VCCWにログイン
$ vagrant ssh
# プラグインのディレクトリに移動
[vccw]$ cd /var/www/wordpress/wp-content/plugins/sample-plugin
# テスト実行
[vccw]$ phpunit
Installing...
Running as single site... To run multisite, use -c tests/phpunit/multisite.xml
Not running ajax tests... To execute these, use --group ajax.
PHPUnit 4.3.1 by Sebastian Bergmann.
Configuration read from /var/www/wordpress/wp-content/plugins/sample-plugin/phpunit.xml
∼ 省略 ∼
FAILURES!
Tests: 2, Assertions: 2, Failures: 2.
プラグインのコードを書いていないので当然エラー…
ユニットテストを書いてみよう
• テストファーストの手法では、まず失敗するテ
ストを書いて、それが成功するコードを書い
ていくことで品質を保証します。
• では今書いたテストが成功するコードを書い
ていきましょう。
• その前に…
おまけ:便利なアノテーション
• アノテーションとはメタデータを表す特別な
構文のことで、テストメソッドの前にコメン
トを書くことで実行されます。
おまけ:便利なアノテーション
class SampleTest extends WP_UnitTestCase {
/**
* @group グループ名
*/
public function test_languageがjapaneseならこんにちは() {
……
}
}
$ phpunit —group グループ名
グループ名で絞り込んでテストすることができます。
おまけ:便利なアノテーション
class SampleTest extends WP_UnitTestCase {
/**
* @test
*/
public function languageがjapaneseならこんにちは() {
……
}
}
メソッド名の test_ を省略できます。
おまけ:便利なアノテーション
class SampleTest extends WP_UnitTestCase {
/**
* @runInSeparateProcess
*/
public function test_languageがjapaneseならこんにちは() {
……
}
}
テストを個別のPHPプロセスで実行できます。
おまけ:便利なアノテーション
• 複数指定できます。
• 他にも便利なアノテーションがたくさんある
ので下記でご確認ください。
• https://phpunit.de/manual/current/ja/
appendixes.annotations.html
プラグインを作成してみよう
プラグインを作成してみよう
# vccw/www/wordpress/wp-content/plugins/sample-plugin/sample-
plugin.php を編集
add_shortcode( 'greeting', function( $atts ) {
if ( empty( $atts['language'] ) ) {
return;
}
switch( $atts['language'] ) {
case 'japanese' :
return 'こんにちは';
case 'english' :
return 'hello';
}
} );
プラグインを作成してみよう
• コードが書けたら再度テストを実行してみま
しょう。
プラグインを作成してみよう
# VCCWにログイン
$ vagrant ssh
# プラグインのディレクトリに移動
[vccw]$ cd /var/www/wordpress/wp-content/plugins/sample-plugin
# テスト実行
[vccw]$ phpunit
Installing...
Running as single site... To run multisite, use -c tests/phpunit/multisite.xml
Not running ajax tests... To execute these, use --group ajax.
PHPUnit 4.3.1 by Sebastian Bergmann.
Configuration read from /var/www/wordpress/wp-content/plugins/sample-plugin/phpunit.xml
Time: 1.43 seconds, Memory: 12.00Mb
OK (2 tests, 2 assertions)
緑のメッセージならテストクリア
Travis CIを使ってGitHubにプッ
シュするたびにテストが実行され
るようにしてみよう
Travis CIを使ってGitHubにプッシュするた
びにテストが実行されるようにしてみよう
• Travis CIはGitHub上のリポジトリと連携してCIを行うこ
とができるサービス。
• GitHubにプッシュすると、自動的にテストが実行され
ます。
• プラグインディレクトリに生成された.travis.ymlを編集
することで様々な環境のテストを実行できます。例えば、
( PHP5.3、5.4 ) ☓ ( WordPress 4.1、4.2 )。
Travis CIを使ってGitHubにプッシュするた
びにテストが実行されるようにしてみよう
• まずはGitHubにsample-pluginのリポジトリ
を作成しましょう。
Travis CIを使ってGitHubにプッシュするた
びにテストが実行されるようにしてみよう
リポジトリを作成
Travis CIを使ってGitHubにプッシュするた
びにテストが実行されるようにしてみよう
リポジトリ名を入力(例:sample-plugin)
リポジトリ名を入力したらクリック
Travis CIを使ってGitHubにプッシュするた
びにテストが実行されるようにしてみよう
プッシュ先のURL。後で使うのでメモ!
HTTPSでなくSSHを使います!
Travis CIを使ってGitHubにプッシュするた
びにテストが実行されるようにしてみよう
• GitHub上のsample-pluginのリポジトリと
Travis CIを連携させましょう。
Travis CIを使ってGitHubにプッシュするた
びにテストが実行されるようにしてみよう
sample-pluginのリポジトリと連携
ここからリポジトリ一覧に移動
リポジトリにプッシュしてTravis
CIで自動的にテストが実行される
ことを確認しよう
リポジトリにプッシュしてTravis CIで自動
的にテストが実行されることを確認しよう
• Travis CIの登録、連携ができたらGitHubに
プッシュしてテストが実行されるか確認して
みましょう。
リポジトリにプッシュしてTravis CIで自動
的にテストが実行されることを確認しよう
# sample-plugin のディレクトリで git init
$ vagrant ssh
[vccw]$ cd /var/www/wordpress/wp-content/plugins/sample-plugin
[vccw]$ git init
# ファイルをステージングに追加
[vccw]$ git add .
リポジトリにプッシュしてTravis CIで自動
的にテストが実行されることを確認しよう
# 変更をコミット
[vccw]$ git commit -m "first commit”
Committer: vagrant <vagrant@2inc.local>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:
git config --global user.name "Your Name"
git config --global user.email you@example.com
If the identity used for this commit is wrong, you can fix it with:
git commit --amend --author='Your Name <you@example.com>'
6 files changed, 260 insertions(+), 0 deletions(-)
create mode 100644 bin/install-wp-tests.sh
create mode 100644 phpunit.xml
create mode 100644 readme.txt
create mode 100644 sample-plugin.php
create mode 100644 tests/bootstrap.php
create mode 100644 tests/test-sample.php
リポジトリにプッシュしてTravis CIで自動
的にテストが実行されることを確認しよう
# リモートリポジトリを設定
[vccw]$ git remote add origin git@github.com:example/sample-plugin.git
# リモートリポジトリにプッシュ
[vccw]$ git push -u origin master
Warning: Permanently added the RSA host key for IP address
‘xxx.xx.xxx.xxx’ to the list of known hosts.
Counting objects: 10, done.
Compressing objects: 100% (9/9), done.
Writing objects: 100% (10/10), 4.28 KiB, done.
Total 10 (delta 0), reused 0 (delta 0)
To git@github.com:example/sample-plugin.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
GitHubのリポジトリの情報に
合わせてください。
リポジトリにプッシュしてTravis CIで自動
的にテストが実行されることを確認しよう
• プッシュできたらTravis CIを確認してみましょ
う。
リポジトリにプッシュしてTravis CIで自動
的にテストが実行されることを確認しよう
テストにパスすれば緑が表示されます。
失敗した時は赤が表示されます。
WordMoveでデプロイしてみよう
WordMoveでデプロイしてみよう
• WordPressのデプロイツール
• VCCW にインストールされています。
• アップロード・ダウンロードがコマンド一発ででき
る。
• rsyncで自動的に更新があったファイルだけアップ
ロード・ダウンロードするので高速。
WordMoveでデプロイしてみよう
• WordMoveの設定ファイルを編集しましょう。
• vccw/Movefile にサーバーへの接続情報などを記述します。
• YAML形式で記述します。インデントが崩れるとエラーにな
るので注意。
• 今回デプロイのテスト用に、デジタルキューブ様から超高速
WordPressサーバーAMIMOTOの環境をご提供いただいてい
ます!
WordMoveでデプロイしてみよう
WordMoveでデプロイしてみよう
• WordMoveはSSHでサーバーと通信するため の設定が必要です
(一応FTPでの通信もありますが…)。
• VCCWはMacの をデフォルトで共有するようになっているの
で、レンタルサーバーに を置けばすぐに接続できるようになっ
ています。
• 今回はAMIMOTO(AWS)にすでに を設定していますので、先
ほどダウンロードした をVCCW内に配置して使用するように設
定していきます。
WordMoveでデプロイしてみよう
# VCCWにログイン
$ vagrant ssh
# /vagrantディレクトリに移動
[vccw]$ cd /vagrant
# を配置
[vccw]$ chmod 600 wckansai2015_rsa
[vccw]$ mv wckansai2015_rsa ~/.ssh/id_rsa
# AMIMOTOに接続できるか確認
[vccw]$ ssh nginx@wapuu.pw
[amimoto]$ exit
WordMoveでデプロイしてみよう
# VCCWにログイン
$ vagrant ssh
# /vagrantディレクトリに移動
[vccw]$ cd /vagrant
# 更新のあるファイル、データベース全てをstaging環境へアップロード
[vccw]$ wordmove push -e staging —-all
▬▬ ✓ Pulling Plugins ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
remote | get_directory: /var/www/inc/www/wp-content/plugins /var/www/wordpress/wp-content/
plugins .git/ .gitignore .sass-cache/ bin/ tmp/* Gemfile* Movefile wp-config.php wp-content/*.sql .DS_Store wp-
content/*
I, [2015-06-12T07:40:24.742386 #13394] INFO -- : rsync --progress -e 'ssh -p 22 example1@example.com’ -rlpt --
compress --omit-dir-times --delete --exclude .git/ --exclude .gitignore --exclude .sass-cache/ --exclude bin/
--exclude 'tmp/*' --exclude 'Gemfile*' --exclude Movefile --exclude wp-config.php --exclude 'wp-content/*.sql'
--exclude .DS_Store --exclude 'wp-content/*' :/var/www/inc/www/wp-content/plugins/ /var/www/wordpress/wp-
content/plugins
receiving incremental file list
sample-plugin/tests/test-sample.php
5388 100% 7.52kB/s 0:00:00 (xfer#118, to-check=297/1618)
sample-plugin/tests/
5388 100% 7.52kB/s 0:00:00 (xfer#118, to-check=297/1618)
sample-plugin/sample-plugin.php
……
アップロードしている表示がでればOK
WordMoveでデプロイしてみよう
# 他にもいろいろあるよ
# 更新のあるプラグインだけアップロード
[vccw]$ WordMove push -e staging —p
# 更新のあるテーマだけアップロード
[vccw]$ WordMove push -e staging —t
# 更新のあるコアファイルだけアップロード
[vccw]$ WordMove push -e staging —w
# 更新のあるファイル、データベース全てをstaging環境からダウンロード
[vccw]$ WordMove pull -e staging —-all
WordMoveでデプロイしてみよう
• WordMoveを使ってVagrant内のWordPressと本番環境を同期する! | Firegoby

https://firegoby.jp/archives/5644
• ssh-agentを使ってVagrant上のゲストOSからMac側の秘密 を使えるようにする |
Firegoby

https://firegoby.jp/archives/5694
• ふつうのレンタルサーバーでも、VCCWとWordmoveを使って快適にローカル環境で開発
しようぜ! |Toro_Unit

http://www.torounit.com/blog/2014/12/09/1889/
• さくらのレンタルサーバーにWordPressをデプロイするのはVCCW + Wordmoveが最高に
る | モンキーレンチ

http://2inc.org/blog/2014/12/09/4512/

More Related Content

PDF
WordPress on HHVM + Hack
Takayuki Miyauchi
 
ODP
今流行りのウェブアプリ開発環境Yeoman
tomo_masakura
 
ODP
HTML5 開発環境の紹介
tomo_masakura
 
ODP
HTML5 アプリ開発
tomo_masakura
 
PDF
Webサイトに動きをつける、jQueryプラグインの設置方法 先生:田中 晶子
schoowebcampus
 
PPTX
20191003 classi night-04
Akihiko Kigure
 
PDF
VCCW + Wordmove でデプロイが劇的に簡単になった話
タカシ キタジマ
 
PPTX
Learn vue.js
yuxiang21
 
WordPress on HHVM + Hack
Takayuki Miyauchi
 
今流行りのウェブアプリ開発環境Yeoman
tomo_masakura
 
HTML5 開発環境の紹介
tomo_masakura
 
HTML5 アプリ開発
tomo_masakura
 
Webサイトに動きをつける、jQueryプラグインの設置方法 先生:田中 晶子
schoowebcampus
 
20191003 classi night-04
Akihiko Kigure
 
VCCW + Wordmove でデプロイが劇的に簡単になった話
タカシ キタジマ
 
Learn vue.js
yuxiang21
 

What's hot (20)

PDF
WordPressの多言語プラグイン「qTranslate」で、あなたのサイトも世界にデビュー♪
Chieko Aihara
 
PDF
【B-1】kintoneでお手軽コールセンター!
Sakae Saito
 
PDF
先取り!PHP 7 と WordPress
Masashi Shinbara
 
PDF
【Camphor ×サイボウズ】selenium勉強会
Yuki Okada
 
PPTX
Aspnet mvc 6の今を紹介
Makoto Nishimura
 
PPTX
ASP.NET MVCはNullReferenceExceptionを潰している件
Joni
 
PDF
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
松田 千尋
 
PDF
Java web application testing
Tokuhiro Matsuno
 
PDF
WordCamp2012 テストサーバーでWordPressを構築しよう
H2O Space. Co., Ltd.
 
PDF
WordPress 多言語化プラグインqTranslateの紹介
Takashi Uemura
 
PDF
はじめての ASP.NET MVC
jz5 MATSUE
 
PDF
脱・独自改造! GebでWebDriverをもっとシンプルに
Hiroko Tamagawa
 
PDF
Word bench7月号
西村 州平
 
PPTX
はじめてのASP.NET MVC5
Tomo Mizoe
 
PDF
ASP.NET WEB API 開発体験
miso- soup3
 
PDF
今すぐブラウザでES6を使おう
Hayashi Yuichi
 
PDF
CSS Nite in OSAKA, Vol.32:デザイナーのためのWordPressカスタマイズ
rie05
 
PPTX
20140322
小野 修司
 
PDF
Asp Net Mvc 基礎のキソ
Yoshitaka Seo
 
PPTX
JavaScriptフレームワーク入門にVue.jsはいかが?
好洋 山崎
 
WordPressの多言語プラグイン「qTranslate」で、あなたのサイトも世界にデビュー♪
Chieko Aihara
 
【B-1】kintoneでお手軽コールセンター!
Sakae Saito
 
先取り!PHP 7 と WordPress
Masashi Shinbara
 
【Camphor ×サイボウズ】selenium勉強会
Yuki Okada
 
Aspnet mvc 6の今を紹介
Makoto Nishimura
 
ASP.NET MVCはNullReferenceExceptionを潰している件
Joni
 
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
松田 千尋
 
Java web application testing
Tokuhiro Matsuno
 
WordCamp2012 テストサーバーでWordPressを構築しよう
H2O Space. Co., Ltd.
 
WordPress 多言語化プラグインqTranslateの紹介
Takashi Uemura
 
はじめての ASP.NET MVC
jz5 MATSUE
 
脱・独自改造! GebでWebDriverをもっとシンプルに
Hiroko Tamagawa
 
Word bench7月号
西村 州平
 
はじめてのASP.NET MVC5
Tomo Mizoe
 
ASP.NET WEB API 開発体験
miso- soup3
 
今すぐブラウザでES6を使おう
Hayashi Yuichi
 
CSS Nite in OSAKA, Vol.32:デザイナーのためのWordPressカスタマイズ
rie05
 
20140322
小野 修司
 
Asp Net Mvc 基礎のキソ
Yoshitaka Seo
 
JavaScriptフレームワーク入門にVue.jsはいかが?
好洋 山崎
 
Ad

Viewers also liked (20)

PPTX
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
Kitani Kimiya
 
PDF
WordCamp Kansai 2015 はじめの一歩テーマ作成ハンズオン「今あるテーマを有効活用!子テーマではじめるお手軽テーマ作成法」
Akari Doi
 
PPTX
WordCamp Kansai 2015 ハンズオン - 踏み出してみよう!翻訳の第一歩 #wck2015
Kitani Kimiya
 
PDF
Learning from theme review requirements
Shinichi Nishikawa
 
PDF
Word pressはじめの一歩 テーマ作成ハンズオン
Hidetaka Okamoto
 
PDF
WordPressで行う継続的インテグレーションのススメ
horike37
 
PDF
オープンデータとWordPress
Kouji Kozaki
 
PDF
WordPress はどこへ向かう?〜コミュニティが支える未来〜
Naoko Takano
 
PDF
WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜
Ayaka Sumida
 
PDF
WordCampKansai 2015 公式ディレクトリへの􏰀 テーマ掲載とビジネスモデル
Hidekazu Ishikawa
 
PPTX
2015年 失敗しない! WordPress多言語サイト制作で 絶対に知っておきたいこと
Katz Ueno
 
PPTX
WordCamp Kansai 2015 発表資料
Masahito Muratake
 
PDF
組長サイトの作り方
Yuriko IKEDA
 
PDF
Fonts around the WordPress
Djiro
 
PDF
WordCamp Kansai 2015 実行委員向け GPL勉強会 | GPL study sessions for WordCamp Kansai 2...
Junko Nukaga
 
PDF
WorcCamp Kansai 2015 LT大会
Koji Asaga
 
PDF
WordCamp Kansai GPL study
YAT blog
 
PDF
WordCamp Kansai 2015 - WordPress.org フォーラム参加のススメ
Kojiro Fukazawa
 
PDF
Heroku で作る
スケーラブルな 
PHP アプリケーション
Masashi Shinbara
 
PDF
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
Masashi Shinbara
 
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
Kitani Kimiya
 
WordCamp Kansai 2015 はじめの一歩テーマ作成ハンズオン「今あるテーマを有効活用!子テーマではじめるお手軽テーマ作成法」
Akari Doi
 
WordCamp Kansai 2015 ハンズオン - 踏み出してみよう!翻訳の第一歩 #wck2015
Kitani Kimiya
 
Learning from theme review requirements
Shinichi Nishikawa
 
Word pressはじめの一歩 テーマ作成ハンズオン
Hidetaka Okamoto
 
WordPressで行う継続的インテグレーションのススメ
horike37
 
オープンデータとWordPress
Kouji Kozaki
 
WordPress はどこへ向かう?〜コミュニティが支える未来〜
Naoko Takano
 
WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜
Ayaka Sumida
 
WordCampKansai 2015 公式ディレクトリへの􏰀 テーマ掲載とビジネスモデル
Hidekazu Ishikawa
 
2015年 失敗しない! WordPress多言語サイト制作で 絶対に知っておきたいこと
Katz Ueno
 
WordCamp Kansai 2015 発表資料
Masahito Muratake
 
組長サイトの作り方
Yuriko IKEDA
 
Fonts around the WordPress
Djiro
 
WordCamp Kansai 2015 実行委員向け GPL勉強会 | GPL study sessions for WordCamp Kansai 2...
Junko Nukaga
 
WorcCamp Kansai 2015 LT大会
Koji Asaga
 
WordCamp Kansai GPL study
YAT blog
 
WordCamp Kansai 2015 - WordPress.org フォーラム参加のススメ
Kojiro Fukazawa
 
Heroku で作る
スケーラブルな 
PHP アプリケーション
Masashi Shinbara
 
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
Masashi Shinbara
 
Ad

Similar to WordCamp Kansai 2015 CI ハンズオン (20)

PDF
WordPressで行う継続的インテグレーション入門編
Hiroshi Urabe
 
PDF
CIBC workshop by imagire
Takashi Imagire
 
PDF
Testing PHP extension on Travis CI
Yoshio Hanawa
 
PDF
Code igniterでテスト駆動開発 資料作成中
Takako Miyagawa
 
PPTX
Cibc lecture imagire
Takashi Imagire
 
PDF
GitHubとTravisCIで回す社内ライブラリの継続的インテグレーション事例
Ryuji Egashira
 
PDF
Php勉強会資料20090629
Takako Miyagawa
 
PDF
Getting Started with Testing using PHPUnit
Atsuhiro Kubo
 
KEY
Aizu.LT16 社会人1年目の失敗とContinuous Integration
Tomoaki Tamura
 
PDF
ビルドプロセスとCI #STAC2014
Koji Hasegawa
 
PDF
Travis CIですぐに始める継続的インテグレーション
Yusuke Ando
 
PDF
Introduction to Continuous Test Runner MakeGood
Atsuhiro Kubo
 
PDF
継続的デリバリー読書会 第 7 章 コミットステージ
Yasutomo Arai
 
PDF
VCS - Version Control System at Security and Programming camp 2011
Hiro Yoshioka
 
PDF
Ciを試してみる
健治 高橋
 
PPTX
GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる
Atsushi Suzuki
 
PDF
CodeIgniter東京勉強会 2011.05.14
Takako Miyagawa
 
PDF
WordPressプラグイン開発で学ぶ継続インテグレーション(CI)
Seto Takahiro
 
PDF
MakeGoodで快適なテスト駆動開発を
Atsuhiro Kubo
 
KEY
継続的インテグレーションとテストの話
Preferred Networks
 
WordPressで行う継続的インテグレーション入門編
Hiroshi Urabe
 
CIBC workshop by imagire
Takashi Imagire
 
Testing PHP extension on Travis CI
Yoshio Hanawa
 
Code igniterでテスト駆動開発 資料作成中
Takako Miyagawa
 
Cibc lecture imagire
Takashi Imagire
 
GitHubとTravisCIで回す社内ライブラリの継続的インテグレーション事例
Ryuji Egashira
 
Php勉強会資料20090629
Takako Miyagawa
 
Getting Started with Testing using PHPUnit
Atsuhiro Kubo
 
Aizu.LT16 社会人1年目の失敗とContinuous Integration
Tomoaki Tamura
 
ビルドプロセスとCI #STAC2014
Koji Hasegawa
 
Travis CIですぐに始める継続的インテグレーション
Yusuke Ando
 
Introduction to Continuous Test Runner MakeGood
Atsuhiro Kubo
 
継続的デリバリー読書会 第 7 章 コミットステージ
Yasutomo Arai
 
VCS - Version Control System at Security and Programming camp 2011
Hiro Yoshioka
 
Ciを試してみる
健治 高橋
 
GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる
Atsushi Suzuki
 
CodeIgniter東京勉強会 2011.05.14
Takako Miyagawa
 
WordPressプラグイン開発で学ぶ継続インテグレーション(CI)
Seto Takahiro
 
MakeGoodで快適なテスト駆動開発を
Atsuhiro Kubo
 
継続的インテグレーションとテストの話
Preferred Networks
 

More from タカシ キタジマ (8)

PDF
Habakiri advent calendar 2015 総まとめ!
タカシ キタジマ
 
PDF
WP-CLIとWordPress公式ディレクトリを活用した爆速サイト構築術 ーインストールからデザイン、ページ作成までを10分でー
タカシ キタジマ
 
PDF
WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
タカシ キタジマ
 
PDF
2014年の振り返り WordPress関連の動向・コミュニティ活動など - WordBench長崎 08
タカシ キタジマ
 
PDF
Advanced Custom Fields が重すぎると感じるあなたへ
タカシ キタジマ
 
PDF
これが長崎生まれ長崎育ち!スーパーお問い合わせフォーム MW WP Form だ!+ α
タカシ キタジマ
 
PDF
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
タカシ キタジマ
 
PDF
Mw wp formについてss
タカシ キタジマ
 
Habakiri advent calendar 2015 総まとめ!
タカシ キタジマ
 
WP-CLIとWordPress公式ディレクトリを活用した爆速サイト構築術 ーインストールからデザイン、ページ作成までを10分でー
タカシ キタジマ
 
WordPress テーマ Habakiri と公式ディレクトリへのテーマ登録
タカシ キタジマ
 
2014年の振り返り WordPress関連の動向・コミュニティ活動など - WordBench長崎 08
タカシ キタジマ
 
Advanced Custom Fields が重すぎると感じるあなたへ
タカシ キタジマ
 
これが長崎生まれ長崎育ち!スーパーお問い合わせフォーム MW WP Form だ!+ α
タカシ キタジマ
 
Word bench長崎01「オリジナルテーマで学ぶwordpressの基本」
タカシ キタジマ
 
Mw wp formについてss
タカシ キタジマ
 

WordCamp Kansai 2015 CI ハンズオン