Slide 1

Slide 1 text

/6$0/5PNPOBSJ/",".63" ৬ਓ೚ͤʹ͠ͳ͍Πϯϑϥߏஙӡ༻ d%FW0QT࣌୅Λੜ͖͵ͨ͘Ίʹd IUUQXXXqJDLSDPNQIPUPTTUBUVFMJCSUZOQT

Slide 2

Slide 2 text

ࣗݾ঺հ wதଜ஌੒ !JLJLLP w೔ຊ+FOLJOTϢʔβձ ! wҰ൪޷͖ͳυϥΫΤɿυϥΫΤ wϑϩʔϥΑΓϏΞϯΧ೿

Slide 3

Slide 3 text

JOψʔϥϘ ! wΞϓϦدΓͷ։ൃऀ wΠϯϑϥํ໘΋ؔΘΓग़͢ ! w+FOLJOT΍Ϗϧυ؀ڥͷ੔උ

Slide 4

Slide 4 text

ΞδΣϯμ wഎܠ wΠϯϑϥߏஙӡ༻࣌ͷํ਑ wΠϯϑϥͷߏ੒ཁૉ w·ͱΊ

Slide 5

Slide 5 text

ψʔϥϘͷྺ࢙

Slide 6

Slide 6 text

ͪΐͬͱલ·ͰͷΠϯϑϥମ੍ IUUQXXXqJDLSDPNQIPUPTTUVBSU@TQJWBDL

Slide 7

Slide 7 text

ͪΐͬͱલ·ͰͷΠϯϑϥମ੍

Slide 8

Slide 8 text

wΠϯϑϥ୲౰͸গਓ਺ wπʔϧ΍ϓϥοτϑΥʔϜͷෆ଍ ͪΐͬͱલ·ͰͷΠϯϑϥମ੍ ϊ΢ϋ΢͕ڞ༗͞Εͯͳ͔ͬͨ

Slide 9

Slide 9 text

IUUQXXXqJDLSDPNQIPUPT[BONBO ࠓͷΠϯϑϥମ੍

Slide 10

Slide 10 text

ࠓͷΠϯϑϥମ੍

Slide 11

Slide 11 text

wΞϓϦ։ൃऀ΋Πϯϑϥʹλον wࠓ·ͰͷΠϯϑϥ୲౰͸ɺશମվળ΍ ۓٸ࣌ͷো֐ରԠ wπʔϧ܈͕ঃʑʹॆ࣮ ࠓͷΠϯϑϥମ੍ ϊ΢ϋ΢Λڞ༗Ͱ͖ΔΑ͏ʹ

Slide 12

Slide 12 text

υϥΫΤͰྫ͑Δͱ

Slide 13

Slide 13 text

ύʔςΟʔߏ੒

Slide 14

Slide 14 text

ͪΐͬͱલ·ͰͷΠϯϑϥମ੍

Slide 15

Slide 15 text

εΩϧస׵

Slide 16

Slide 16 text

ࠓͷΠϯϑϥମ੍

Slide 17

Slide 17 text

IUUQXXXqJDLSDPNQIPUPT!/ ϗΠϛΛ࢖͑Δਓ͕૿͑Δͱ ๯ݥ͕ਐΊ΍͘͢ͳΓ·͢

Slide 18

Slide 18 text

ΞϓϦΠϯϑϥ૒ํ͔Β ໰୊ʹରॲ͠΍͘͢ͳΓ·͢ IUUQXXXqJDLSDPNQIPUPTNIYCIE

Slide 19

Slide 19 text

wഎܠ wΠϯϑϥߏஙӡ༻࣌ͷํ਑ wΠϯϑϥͷߏ੒ཁૉ w·ͱΊ ΞδΣϯμ

Slide 20

Slide 20 text

ϊ΢ϋ΢Λڞ༗͠΍͘͢ IUUQXXXqJDLSDPNQIPUPTBMMIBOETWPMVOUFFST

Slide 21

Slide 21 text

wಈ͘࢓༷ॻ͕ཧ૝త w࡞ۀखॱΛ࢒͓ͯ͘͠ w࢖͑Δ৔໘Ͱ͸πʔϧΛੵۃతʹ ϊ΢ϋ΢Λڞ༗͠΍͘͢

Slide 22

Slide 22 text

ߏஙӡ༻࡞ۀΛݮΒ͢ IUUQXXXqJDLSDPNQIPUPT!/

Slide 23

Slide 23 text

w1BT4Λ׆༻ w"84ͳΒ3%4΍&MBTUJ$BDIFͳͲ wඅ༻΍ॊೈੑʹ͚ܽΔ৔߹΋ ߏஙӡ༻࡞ۀΛݮΒ͢

Slide 24

Slide 24 text

wഎܠ wΠϯϑϥߏஙӡ༻࣌ͷํ਑ wΠϯϑϥͷߏ੒ཁૉ w·ͱΊ ΞδΣϯμ

Slide 25

Slide 25 text

Πϯϑϥߏங࣌

Slide 26

Slide 26 text

Πϯϑϥӡ༻࣌

Slide 27

Slide 27 text

֩ͱͳΔπʔϧ IUUQXXXqJDLSDPNQIPUPTEFYYVT

Slide 28

Slide 28 text

"OTJCMF w1ZUIPO੡ͷαʔόߏ੒؅ཧπʔϧ wႈ౳ੑԿ౓࣮ߦͯ͠΋݁Ռ͸ಉ͡ wαʔόଆ͸1ZUIPOͱTTIE͚ͩ -­‐  name:  install  requirement  system  packages      action:  yum  name={{  item  }}      with_items:          -­‐  make          -­‐  gcc          -­‐  curl

Slide 29

Slide 29 text

'BCSJD w1ZUIPO੡ͷσϓϩΠπʔϧ wγΣϧίϚϯυΛྻڍ͍ͯ͘͠ɺ γϯϓϧͳهड़ @task   def  start_tomcat():      sudo('rm  -­‐f  /usr/java/tomcat/temp/*.{index,data}')      sudo('service  tomcat  start’)      print  green("Tomcat  started!!!")

Slide 30

Slide 30 text

ิॿతͳπʔϧ IUUQXXXqJDLSDPNQIPUPT!/

Slide 31

Slide 31 text

1BDLFS wΠϝʔδ ".* ࡞੒πʔϧ w"OTJCMFΛىಈ࣌ ʹ࣮ߦՄೳ wఆظ࣮ߦͯ͠".* Λఆظతʹ࠷৽ʹ {      "builders":  [{          "type":  "amazon-­‐ebs",          "region":  "us-­‐west-­‐2",          "source_ami":  "ami-­‐ccf297fc",          "instance_type":  "m1.small",          "ssh_username":  "ec2-­‐user",          "ami_name":  "base  {{isotime}}"      }],      "provisioners":  [          {              "type":  "ansible-­‐local",              "playbook_file":  "ansible/ami.yml",              "role_paths":  [                      "ansible/roles/base"              ]          }      ]   }

Slide 32

Slide 32 text

TFSWFSTQFD w34QFD෩ͷαʔ όߏ੒؅ཧς ετπʔϧ wՔಇதͷαʔ όʹ͔͚ͯɺ ઃఆΛςετ describe  "#{ENV['TARGET_HOST']}.spec"  do   !    describe  service('tomcat')  do          it  {  should  be_running      }          it  {  should_not  be_enabled  }      end   !    describe  port(8080)  do          it  {  should  be_listening  }      end   ! ...

Slide 33

Slide 33 text

5ZQFUBML w+FOLJOT΍"OTJCMFͷ࣮ߦ݁ՌΛ௨஌ ! ! ! w+FOLJOT1MVHJOɿࡢ೔ϕʔλϦϦʔεʂ w"OTJCMF.PEVMFɿ1VMM3FRVFTUத

Slide 34

Slide 34 text

IUUQXXXqJDLSDPNQIPUPT!/

Slide 35

Slide 35 text

઀ଓઌϗετͷ؅ཧΛ౷Ұ $  tree   .   ├──  ansible   │      └──  ansible.cfg   ├──  fabfile   │      └──  __init__.py   ├──  serverspec   │      └──  spec   │                └──  spec_helper.rb   └──  ssh.config RSpec.configure  do  |c|    options  =          Net::SSH::Config.for(c.host,  files=[‘../ssh.config'])   ... env.use_ssh_config  =  True   env.ssh_config_path  =  'ssh.config' [ssh_connection]   ssh_args  =  -­‐F  ../ssh.config wTTIDPOpH͸ಉҰͷ΋ͷΛྲྀ༻

Slide 36

Slide 36 text

ӡ༻࣌ͷ*'ΛҰݩԽ @task   def  hosts_update():          """          શϗετͷ  /etc/hosts  Λߋ৽͢Δ          """          with  lcd('ansible'):                  local("ansible-­‐playbook  -­‐i  all.yml  -­‐-­‐tags=hosts_setup") -­‐  name:  copy  hosts  file      copy:  src=etc/hosts  dest=/etc/hosts      tags:  hosts_setup wӡ༻खॱ͸ۃྗ'BCSJDʹدͤΔ

Slide 37

Slide 37 text

wഎܠ wΠϯϑϥߏஙӡ༻࣌ͷํ਑ wΠϯϑϥͷߏ੒ཁૉ w·ͱΊ ΞδΣϯμ

Slide 38

Slide 38 text

·ͱΊ wΞϓϦͷਓ΋Πϯϑϥ෼͔ΔΑ͏ ʹͳΔͱɺ෯͕޿͕ΔΑ wΠϯϑϥͷਓ͸ɺΑΓߴ౓ͳ࡞ۀ ʹ஫ྗͰ͖ΔΑ͏ʹͳΔΑ

Slide 39

Slide 39 text

wࣗಈϢχοτςετ wΦʔτεέʔϧ w*NNVUBCMF*OGSBTUSVDUVSF ࠓޙऔΓ૊Έ͍ͨ͜ͱ

Slide 40

Slide 40 text

͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ