Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Macͷ։ൃڥߏஙΛ AnsibleͰࣗಈԽ͢Δ #phpstudy 2015.08.25 @qckanemoto
Slide 2
Slide 2 text
• ໊ݹ͔Βདྷ·ͨ͠ • (ג)ΧϧςοτίϛϡχέʔγϣϯζCTO • PHPྺ3.5 • #nagoyaphp, #symfony-meetup @qckanemoto
Slide 3
Slide 3 text
Χϧςοτίϛϡχέʔγϣϯζ • PHPerืूதʂ • ໊ݹʢϦϞʔτՄʣ • PHPϝϯλʔζ@hidenorigoto͞ΜJoined • ϦεςΟϯάࠂӡ༻πʔϧʮLisketʯ
Slide 4
Slide 4 text
ΤϯδχΞͷಇ͖͢͞େࣄʹͯ͠·͢ Χϧςοτίϛϡχέʔγϣϯζ
Slide 5
Slide 5 text
SNS͔ϝʔϧͰ͓ؾܰʹ͝࿈བྷ͍ͩ͘͞✨ Χϧςοτίϛϡχέʔγϣϯζ
Slide 6
Slide 6 text
ຊ
Slide 7
Slide 7 text
͡Ίʹ • PHPͷ΄΅ग़͖ͯ·ͤΜস • WindowsϢʔβͷํ͝ΊΜͳ͍͞ • ৄࡉϒϩάهࣄʹ·ͱΊͯ͋Γ·͢ http://tech.quartetcom.co.jp/2015/07/24/ mac-osx-ansible/
Slide 8
Slide 8 text
Macͷ։ൃڥߏஙΛ AnsibleͰࣗಈԽ͢Δ
Slide 9
Slide 9 text
MacΛങ͍͑ͨͱ͖ • brew install ͋Ε͜Ε • GUIΞϓϦ͋Ε͜ΕΠϯετʔϧ • dotfiles (~/.xxx) ೖΕΔ • httpd.conf ฤू • php.ini ฤू
Slide 10
Slide 10 text
• brew install ͋Ε͜Ε • GUIΞϓϦ͋Ε͜ΕΠϯετʔϧ • dotfiles (~/.xxx) ೖΕΔ • httpd.conf ฤू • php.ini ฤू MacΛങ͍͑ͨͱ͖ ίϚϯυҰൃͰ ͯ͢ऴΘΒ͍ͤͨʂ
Slide 11
Slide 11 text
Ansible
Slide 12
Slide 12 text
Ansible • ߏཧπʔϧʢChef, Puppet, etcʣ • ߏ͍ͨ͠ঢ়ଶΛymlͰఆٛ • ରϗετΛɺఆٛͨ͠ঢ়ଶʹͯ͘͠ΕΔ • ႈੑʢఆٛͨ͠ঢ়ଶʹऩଋ͢Δʣ
Slide 13
Slide 13 text
४උ $ brew install python ansible
Slide 14
Slide 14 text
$ cat localhost.yml - hosts: localhost connection: local gather_facts: no sudo: no tasks: - homebrew: name={パッケージ名1} - homebrew: name={パッケージ名2} ؆୯ͳྫʢbrew installʣ $ cat hosts localhost
Slide 15
Slide 15 text
؆୯ͳྫʢbrew installʣ $ ansible-playbook localhost.yml -i hosts
Slide 16
Slide 16 text
؆୯ͳྫʢbrew installʣ $ ansible-playbook localhost.yml -i hosts
Slide 17
Slide 17 text
Homebrew Cask
Slide 18
Slide 18 text
Homebrew Cask • ίϚϯυͰGUIΞϓϦΠϯετʔϧͰ͖ΔΑ ͏ʹͳΔHomebrewͷ֦ு • ී௨ʹ͏߹ˣΈ͍ͨʹ͢Δ $ brew tap caskroom/cask $ brew install brew-cask $ brew cask install {パッケージ名}
Slide 19
Slide 19 text
tasks: - homebrew_tap: tap=caskroom/cask - homebrew: name=brew-cask - homebrew_cask: name={パッケージ名1} - homebrew_cask: name={パッケージ名2} via Ansible
Slide 20
Slide 20 text
httpd.conf php.ini|
Slide 21
Slide 21 text
ஔͱߦૠೖͰԿͱ͔ͳΔ • ྫɿ’Listen 8080’ Λ ‘Listen 80’ ʹஔ - replace: dest: /path/to/httpd.conf regexp: '^( *Listen) .*$' replace: '\1 80'
Slide 22
Slide 22 text
• ྫɿ’#ServerName ‘ Ͱ࢝·Δߦͷ͋ͱʹ ‘ServerName localhost:80’ Λૠೖ - lineinfile: dest: /path/to/httpd.conf insertafter: '^#ServerName ' line: 'ServerName localhost:80' ஔͱߦૠೖͰԿͱ͔ͳΔ
Slide 23
Slide 23 text
dotfiles
Slide 24
Slide 24 text
dotfiles • ~/.xxx తͳ֤छઃఆϑΝΠϧ • ࣗͷdotfiles͕ͳ͍ͱԿΔؾग़ͳ͍ • GitHubͰཧ͢Δͷ͕ओྲྀ • εΫϦϓτͰ ~/ Լʹsymlinkͯ͠ηοτ Ξοϓʢͱ͍͏ਓ͕ଟ͍ͱࢥ͏ʣ
Slide 25
Slide 25 text
via Ansible 1. ~/dotfiles ʹ git clone 2. ~/dotfiles/symlink.sh Λ࣮ߦ - git: repo:
[email protected]
:you/dotfiles.git dest: ~/dotfiles register: ret - shell: 'cd ~/dotfiles ; sh symlink.sh' when: ret|changed
Slide 26
Slide 26 text
via Ansible • shellλεΫΛ࣮ߦ͢ΔͷɺgitλεΫͷ݁Ռ ͕”changed”ͩͬͨ߹ͷΈʢႈੑ֬อʣ - git: repo:
[email protected]
:you/dotfiles.git dest: ~/dotfiles register: ret - shell: 'cd ~/dotfiles ; sh symlink.sh' when: ret|changed
Slide 27
Slide 27 text
·ͱΊ
Slide 28
Slide 28 text
MacΛങ͍͑ͨͱ͖ • brew install ͋Ε͜Ε • GUIΞϓϦ͋Ε͜ΕΠϯετʔϧ • dotfiles (~/.xxx) ೖΕΔ • httpd.conf ฤू • php.ini ฤू
Slide 29
Slide 29 text
• brew install ͋Ε͜Ε • GUIΞϓϦ͋Ε͜ΕΠϯετʔϧ • dotfiles (~/.xxx) ೖΕΔ • httpd.conf ฤू • php.ini ฤू MacΛങ͍͑ͨͱ͖ ίϚϯυҰൃͰ ͯ͢ऴΘΒͤͨͬͨʂ
Slide 30
Slide 30 text
ࡶײ • ύοέʔδͷΠϯετʔϧ͙Β͍ͳΒ؆୯ • ϑΝΠϧͷฤूͱ͔·ͰΔͱͪΐͬͱෳࡶ • MacΛ2Ҏ্࣋ͬͯΔਓͱ͔ʹ͓͢͢Ί • ձࣾͷࢧڅϚγϯͷηοτΞοϓͱ͔ʹ༗ޮ • ৽͍͠ϚγϯʹίϚϯυҰൃͰڥߏஙͰ͖ͨͱ ͖ͷײ
Slide 31
Slide 31 text
Thanks ;)