Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CIハンズオン@PHPカンファレンス福岡-環境構築
Search
Kaz Watanabe
June 27, 2015
Programming
490
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CIハンズオン@PHPカンファレンス福岡-環境構築
Kaz Watanabe
June 27, 2015
More Decks by Kaz Watanabe
See All by Kaz Watanabe
開発エンジニアが取り組む DevSecOps ~ GitHub Enterprise × Azure での実践~
kaz29
0
38
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
1
200
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
490
開発エンジニアが実践するDevSecOps
kaz29
0
170
PHPCon福岡2024-Azureもなかなかいいですよ.pdf
kaz29
2
380
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
3
1.3k
20220908_フロントエンドパフォーマンス改善.pdf
kaz29
2
200
PHP製のPodCast配信用WebアプリをReact+Next.jsなSSGで作り直してみた話
kaz29
3
720
バックエンドエンジニアの私がお勧めする SPAフロントエンド開発環境
kaz29
6
6.3k
Other Decks in Programming
See All in Programming
今さら聞けない .NET CLI
htkym
0
180
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
480
仕様駆動開発の消費期限
watany
14
6.6k
FDEが実現するAI駆動経営の現在地
gonta
2
270
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
210
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
190
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
240
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
240
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
460
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
yield再入門 #phpcon
o0h
PRO
0
970
その節約、円になってますか?
isamumumu
1
700
Featured
See All Featured
Thoughts on Productivity
jonyablonski
76
5.3k
Visualization
eitanlees
152
17k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.3k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
A Tale of Four Properties
chriscoyier
163
24k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
460
Amusing Abliteration
ianozsvald
1
240
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
300
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
410
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Transcript
$",&1)1ͰֶͿ ܧଓతΠϯςάϨʔγϣϯϋϯζΦϯ ڥߏஙฤ @PHPΧϯϑΝϨϯεԬ 2015/6/27
WHO? • Θͨͳ͔ͣͻΖ(@kaz_29) • ߹ಉձࣾ decr (decr.jp) • PHP(CakePHP)ͰWebΞϓϦ։ൃ •
Πϯϑϥߏஙɾӡ༻ • iOSΞϓϦ։ൃ #beer #iosdev #cakephp #cat #camp #golf #chef #vagrant
WHO?
QUESTION?
QUESTION? VagrantΛͬͨࣄ͕͋Δਓ
QUESTION? chefΛͬͨࣄ͕͋Δਓ
ಈ࡞ڥ • VirtualBox • Vagrant • chef-solo(+knife-solo) • berkshelf
ಈ࡞ڥ ։ൃڥ EFWFMPQ $*ڥ DJ ຊ൪ڥ EFQMPZ ڥઃఆ TIBSFEGPMEFS ͖ͳΤσΟλ*%&Ͱ։ൃ
QVTI QVMM ·ͣ͜͜ͷ
http://bit.ly/1IBecmb ͜͜ͰςΩετΛڞ༗͠·͢
ඞཁͳͷ • VitrtualBox - https://www.virtualbox.org/ • Vagrant - https://www.vagrantup.com/ •
(ChefDK - https://downloads.getchef.com/chef-dk/) ग़དྷΔ͚ͩ࠷৽Λ͏
BOXFILEՃ $ vagrant box add handson_develop ~/Desktop/develop.box $ vagrant box
add handson_ci ~/Desktop/ci.box $ vagrant box add handson_deploy ~/Desktop/deploy.box ͖ͬ͞USB͔Βίϐʔͨ͠ͷΛ͍ͬͯͩ͘͞ʂ
Vagrant PluginͷΠϯετʔϧ $ vagrant plugin install vagrant-omnibus $ vagrant plugin
install vagrant-cachier
ڥઃఆϦϙδτϦΛऔಘ $ git clone https://github.com/kaz29/php_ci_env phpci_handson $ git checkout -b
handson origin/handson $ cd phpci_handson $ mkdir application $ mkdir -p application/app/webroot $ echo "<?php phpinfo();" > application/app/webroot/index.php
։ൃ༻αʔόͷىಈ $ vagrant up develop
Vagrantfileͷղઆ … config.vm.define :develop do |develop| develop.omnibus.chef_version = :latest develop.vm.hostname
= "develop" develop.vm.box = "opscode-ubuntu-14.04" develop.vm.box_url = "handson_develop.box" develop.vm.network :private_network, ip: "192.168.33.10" develop.vm.synced_folder "application", "/var/www/application/ current", id: "vagrant-root", :nfs => false, :owner => "vagrant", :group => "www-data", :mount_options => ["dmode=775,fmode=775"] …
Vagrantfileͷղઆ … develop.vm.provision :chef_solo do |chef| chef.log_level = "debug" chef.cookbooks_path
= "./cookbooks" chef.json = { nginx: { docroot: { owner: "vagrant", group: "vagrant", path: "/var/www/application/current/app/webroot", force_create: true }, default: { fastcgi_params: { CAKE_ENV: "development" } }, test: { available: true, fastcgi_params: { CAKE_ENV: "test" } } } } chef.run_list = %w[ recipe[apt] recipe[phpenv::default] recipe[phpenv::composer] recipe[phpenv::develop] recipe[capistrano] ] end …
http://192.168.33.10/
CIαʔόͷىಈ $ vagrant up ci
http://192.168.33.100:8080/
DEPLOYαʔόͷىಈ $ vagrant up deploy
http://192.168.33.200/
αϯϓϧΞϓϦڥͷߏங
։ൃڥ EFWFMPQ ಈ࡞ڥ $*ڥ DJ ຊ൪ڥ EFQMPZ ڥઃఆ TIBSFEGPMEFS ͖ͳΤσΟλ*%&Ͱ։ൃ
QVTI QVMM
ಈ࡞ڥ
BLOGAPPΛFORK͢Δ https://github.com/kaz29/blogapp
伴Λ࡞ͬͯొ $ vagrant ssh develop $ ssh-keygen Generating public/private rsa
key pair. Enter file in which to save the key (/home/vagrant/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: … $ cat ~/.ssh/id_rsa.pub ެ։伴Λίϐʔ
伴Λ࡞ͬͯొ setting -> SSH Keys ͜͜ʹެ։伴ΛೖΕΔ
GITͷઃఆ $ git config --global user.name "Your Name" $ git
config --global user.email
[email protected]
ΞϓϦέʔγϣϯΛॳظԽ $ vagrant ssh develop $ cd /var/www/application/current $ rm
-rf * $ git clone git://github.com/decr/blogapp.git . (<=υοτ) $ cd /var/www/application/current/app $ composer install --dev
None
JenkinsʹJobΛొ
JenkinsʹJobΛొ
JenkinsʹJobΛొ https://github.com/kaz29/blogapp.git
JenkinsʹJobΛొ 4$.ΛϙʔϦϯάΛνΣοΫ ) ઃఆྃͨ͠Βอଘ
JenkinsʹJobΛొ ϏϧυΛ࣮ߦ
JenkinsʹJobΛొ
JenkinsʹJobΛొ
ڥઃఆྃʂ $ vagrant halt deploy ͠Β͘Θͳ͍ͷͰམͱ͓͖ͯ͠·͢
ڥߏஙฤ Fin @kaz_29