ãã¹ãã¨ã³ã¸ãã¢ãªã³ã°ãDevOps ã®ãããã #testingcasual
ä¸æ¨æ¥ Testing Casual Talks #1 ã«åå ãããååã®éããã½ããã¦ã§ã¢ãã¹ãã«é¢ããã«ã¸ã¥ã¢ã«ãªã«ã³ãã¡ã¬ã³ã¹ãã¨ã¦ãé¢ç½ãã£ãããããæã£ãã¨ãããæ¸ãã¦ãããã
ãã¹ãã®ã¨ã³ã¸ãã¢ãªã³ã°
ãããããã¿ã¼ã® @ikasam_a ããã®çºè¡¨ã§ã¯ Software Engineer in Test at DeNA ã¨ãããã¨ã§ãæ°ãå¤åå ã§ãã¹ãã¨ã³ã¸ãã¢ãªã³ã°é¨éãç«ã¡ä¸ãã¦ããã«ããã£ã¦ã®ãããã¤ãèæ¯ã¨ãã£ãã¨ãããè¿°ã¹ããã¦ããã
ãã¹ãã¯éçºè ã®çç£æ§ãåä¸ããããã«ãããçç£æ§åä¸ã®ããã«ãã¹ããæ¸ããã¹ãã¨ã³ã¸ãã¢ãè¿å¹´è¤éåãããã¹ãã®å®è¡ç°å¢ãæ§ç¯ããã®ããã¹ãã¨ã³ã¸ãã¢ã®å½¹ç®ã"Testing Activities SHOULD be in Developments" â ãã¹ãæ´»å㯠(å¾æ¥åã®QAã®ããã«éçºã®å¤ã§ã¯ãªã) éçºã®ä¸ã§è¡ãããã¹ãã ・・・ ãªã©ãªã©ãæ·¡ã ã¨çºè¡¨ããã¦ããããå 容ããã¯è²ã ã¨ç±ããã®ãä¼ãã£ã¦æ¥ã¦ãã¡ããé«æãããããªè©±ã ã£ãã
Googleã®ãã¹ã
ã¨ããã§ãåããããªè¶£æ¨ã®è©±ãæè¿ã©ããã§ç®ã«ããã・・・ã¨ããæ°ããã¦ããã
æ¥çµBP社
売ãä¸ãã©ã³ãã³ã°: 4,612
ããã ã£ãã
Web ã§ã¯è©±é¡ã«ãªã£ã¦ãããããªããªããããªæãã ãããã®æ¬ã¯ãªããªãç´ æ´ãããæ¬ã§ãGoogle ãä»ã®ãã¹ãã¨ã³ã¸ãã¢ãªã³ã°ä½å¶ï½¥ï½¥ï½¥ãããä½è³ªã¨ãã£ãã»ãããããããããªãããããããªãããããã©ããã£ã¦æ§ç¯ãã¦ãã£ãããã¾ããæ§ç¯ã§ããç¾å¨ã«ããã¦ã©ãããå½¹å²åæ ã§ãããæ¥ã è¡ã£ã¦ãããã¨ãããã¨ãæ¸ããã¦ããã
@ikasam_a ããã®çºè¡¨ã«ã¯ãã® Google ãã¹ãæ¬ã®ä¸»å¼µã¨å ±éãã¦ããé ç®ãå¤ãã£ããã¤ã¾ããä»æã®ã¨ã³ã¸ãã¢ãªã³ã°ã«ããã¦ãã¹ãã®ãã¨ãçå£ã«èãããããããåã°å¿ ç¶çã«ããããçµè«ã»å®è·µã«éããã¨ãããã¨ã ã¨æãã
Productivity
çºè¡¨ã¹ã©ã¤ãã«ã¯ "Productivity" ã¨ããåèªãä½åº¦ãåºã¦ããã
ãã¹ãã¯éçºè ã® Productivity ãåä¸ããããã®ã§ãããéçºè ãç¸ã£ã¦ Productivity ãä½ä¸ããããã®ã§ãã£ã¦ã¯ãããªãã
æ£ãããã¹ãèªååãè¡ã£ããã¨ãããã¨ã³ã¸ãã¢ã¯ããã¹ããèªåã®ã½ããã¦ã§ã¢éçºãã©ãã ãå©ãã¦ããããããããã©ãã ãã®çç£æ§åä¸ã«ç¹ããããããç¥ã£ã¦ããããã¹ãã QA ã¯æ¬æ¥ãéçºãå©ããããã®æ段ã§ããããããããªãããããå転ãã¦ãã・・・ã¨ããã±ã¼ã¹ã¯å¤ãã
Google ã®ãã¹ãæ¬ã§é¢ç½ãã£ãã®ã "ãã¼ã ã®ååããDeveloper Productivityãã«ãããã¿ããªãååãã«ãã¹ãã«ã¤ãã¦è°è«ããããã«ãªã£ã" ã¨ãããã ãã ã£ãããã¹ããã¼ã ã®ããã·ã§ã³ã¯ãã¹ããå®è·µããããã¨ã§ã¯ãªããéçºè ã®çç£æ§ãåä¸ããã延ãã¦ã¯ãã¸ãã¹ã®ã¹ãã¼ããé«ãã¦æ¥ç¸¾ã«è²¢ç®ããããã®æ段ã¨ãã¦ãã¹ãèªååã®å®è·µãè¡ããDeveloper Productivity ã¨ããååã«ãã£ã¦èª°ãããã®ã´ã¼ã«ãæ³åãããããªã£ãã
Googleæ¬ã«ãã@ikasam_a ããã®çºè¡¨ã«ãããã¨ãããè¿å¹´ã¾ããã«ãã¹ãèªååãæ¨ãé²ãããã¨ããã¨ããã®ããã«ã³ã¼ããæ¸ãããæ¤è¨¼ãè¡ã£ããããããã¯ãã¹ãå°ç¨ã®ã¤ã³ãã©ãæ§æãããã¨ãã£ãå¿ è¦ãåºã¦ããããã¹ãã¨ã³ã¸ãã¢ãã¡ã¯ã¢ããªã±ã¼ã·ã§ã³éçºè ã¨ä¸ç·ã«ãªã£ã¦ãã©ããããã¹ãã¤ã³ãã©ãããã°éçºè ãããå©ããããã©ããããã¹ããæ¸ãã°éçºã®è² æ ãæ¸ãããã¨ãã§ãããã¨ãããã¨ã«éé²ããProductivity ãåºä¸ãããã
åã«ãã¹ãããã¨ããã ãã«çã¾ãã®ã§ã¯ãªããã¢ããªã±ã¼ã·ã§ã³éçºè (Dev) ã¸ããã¹ãã¨ããæèã§ä»å 価å¤ãæä¾ããã®ããã¹ãã¨ã³ã¸ãã¢ãªã³ã°ãã¼ã ã®ããã·ã§ã³ã«ãªãã
Dev ã¸ã®ä»å 価å¤åä¸ ï½¥ï½¥ï½¥ ããããã® DevOps
ãæ»ããã§ããéçºé¨éã¨ãå®ããã§ããå質ä¿è¨¼é¨éããã®æ»ãã¨å®ãã®å§¿å¢ã®éãã§ãã¾ãæ¯è»ãåã¿åããªãããããåãã¨ã³ã¸ãã¢ãªã°ã®æèã§èãç´ãã¦åé¡ã解決ãã¾ããã・・・ ãããã©ããã§èãã話ããããããDevOpsãDev vs Ops ãããOps ã« Dev çã¢ããã¼ããåãå ¥ãããã¨ã§ Dev and Ops ã«ã
å æ¥ããããã§è¡ããã ã¯ããã DevOps ã¨ããå¥ã®åå¼·ä¼ã§ DevOps ã«ã¤ãã¦è©±ãã¦ãããã¹ã©ã¤ãã¯ä»¥ä¸ã«ä¸ãã¦ããã
æ¨ä» DevOps çéã§ã¯ãAWS ãªã©ã®ã¯ã©ã¦ããChef ã Ansible ã¨ãã£ããããã¸ã§ãã³ã°ãã¬ã¼ã ã¯ã¼ã¯ããããã serverspec ã®ãããªã¤ã³ãã©ãã¹ãèªååã¨ãã£ããã¼ããçãã«è°è«ããã¦ããã大ãã«çµæ§ããã ãDevOps ãå ã®ãã¹ãã®è©±ã«åããã´ã¼ã«ã¯ãã ã®èªååã§ã¯ãªããã¤ã³ãã©ãã¼ã ãèªåãã¡ã®ä»äºãèªååãã¦æ¥½ã«ãªããã¨ããã®ããã¡ãã大åã ãã©ãããã¯ç¬¬ä¸æ®µéã§ãããªããã®å ã«ã¯ãã®èªååãããã¤ã³ãã©ã«ãã£ã¦ Dev ãä¸æ¯ãããä¾ãã° Dev ãã¤ã³ãã©ã欲ããã¨æã£ããã®ç´å¾ã«ãªã³ããã³ãã§ãããæä¾ããã¨ãããããããã¨ã«ãã£ã¦ãã Dev ã¸ã®ä»å 価å¤ãåä¸ãã¦ããã¨ããã®ãããã·ã§ã³ã«ãªã£ã¦ããã¹ãã ã
ã¹ã©ã¤ãã®å¾åã§ã¯ãDevOps ã®ãããããå£éè¦ããå®è£ ã¨ã㦠Docker ã Strider CD ãç´¹ä»ãããDocker ã Strider CD ã¯ããVagrant + Chef + serverspec ã§ã¤ã³ãã©æ§æãèªååãã¾ããããããæ´ã«ä¸ã®ä¾¡å¤æä¾ãè¡ããããã³ã·ã£ã«ããããStrider CD ã¯å ¸åçã§ãããã¯èªåãã¡ã®ã¤ã³ãã©ã« PaaS/SaaS çãªè¦ç´ ãä»ä¸ãããéçºè ãã¡ã¯ Github ã« git push ããã ãã§ãStrider CD ãã¢ããªã±ã¼ã·ã§ã³ãã¹ããè¤æ°ãã©ãããã©ã¼ã ã§èªåã§å®è¡ãããã¹ããéã£ããªãã°ããã«ããã Heroku ã¸ã® Deploy ãã・・・ã¨ãã£ã Continuous Delivery ã®æ©æµã«é ãããã¨ãã§ããããããã¤ãè¦çãªããããèªååãã¦ãã¾ãã°ãããã¨ããã¨ãããæ´ã«ä¸æ©æ¨ãé²ãã¦ãã³ã¼ãã¬ãã¸ããªã¨ãã¹ãã¤ã³ãã©ã¨ãããã¯ã·ã§ã³ã¤ã³ãã©ãã»ããã«ãã¦ãã¾ã£ã¦ãDev ã«ãGit push ããã ãã§ãããå ¨é¨è¡ããã¾ãããã¨ããä»å 価å¤ãæä¾ãã¦ããã
Dev çã¢ããã¼ãã«ãã£ã¦ã¤ã³ãã©ãèªååãããã¨ã«ãããä»å¾ãããã¯ãããµã¼ãã¹çãªæ§è³ªã帯ã³ã¦ããã¨ããã®ã DevOps ã®ç®ççã«ãæè¡çã¢ããã¼ãã¨ãã¦ã妥å½ãªç·ã§ã¯ãªãã・・・ ãDevOps ã®ãããããã¨é¡ãã¦ãããªãã¨ãå¦æ³ããã®ã ã£ãã
whitesnake
å¾æ¥ã¤ã³ãã©çã ã£ããã®ããä»®æ³åãèªååã§ããã±ã¼ã¸ã³ã°ãç´ããã¨ã«ãã£ã¦ãµã¼ãã¹çãªæ§æ ¼ã帯ã³ããã®ã¨ãã£ã¦èªåãçã£å ã«æ³åããã®ã¯ Travis CIã
Github ã«ç½®ãããªã¼ãã³ãªã¬ãã¸ããªããgit push ãå¥æ©ã«åæã«ãã¹ããã¦ãããããã¹ãã®ããã®ä»®æ³ãµã¼ãã¼ã¯ãªã³ã¶ãã©ã¤ã§æ§ç¯ããã¦ããã¹ããçµããã¨ç ´æ£ãããããã¹ãã失æãã¦ãã¨ã¡ã¼ã«ã IRC ãã®ä»ã§éç¥ãã¦ããããããªã«ãã pull request ã§æ¥ãããããèªåã§ã¤ã³ãã°ã¬ã¼ã·ã§ã³ãã¹ããã¦ãããã®ããããpull request ããã¼ã¸ããã®ã«ãããããèªåãã¹ãããªãã¦ãã°ãªã¼ã³ã§ãããã¨ããã®ãä¿è¨¼ããããpull request ãåããå´ãéãå´åæ¹ã®è² æ ãåçã«æ¸ããã¦ããããã¾ãã« Dev ã®ããã® Ops ãµã¼ãã¹ã
ãã¹ãã¨ã³ã¸ãã¢ãªã³ã°ã DevOps ããDev ã¸ã®ä»å 価å¤åä¸ãããããã®ããã·ã§ã³ã«ãªããã¨è¿°ã¹ãããã㦠DevOps ã®ã¤ã³ãã©ã¯ãããµã¼ãã¹çæ§æ ¼ã帯ã³ã¦ãããåç´åãã¦è¨ãã°çµç¹ã®ä¸ã®ã¤ã³ãã©ããããã㯠PaaS çã«ã¢ã¬ã³ã¸ããã¦ããã¨ããããããã®ãæªæ¥ãªããããªãã ãããã¨æã£ã¦ããã
ãã㧠Testing Casual Talks #1 ã«æ»ãã
ã¯ãã¯ãããã® @mrkn ããã«ãã£ã¦çºè¡¨ããã whitesnake ã¯ã¾ãã«ããã ã£ãã
ã¯ãã¯ãããã§ã¯ 1,000 åãã®ã¢ãã«ãå«ãã巨大ã¬ãã¸ããªã®ãã¹ãã« Jenkins ã使ã£ã¦ããããããã ãã®è¦æ¨¡ã«ãªãã¨ãã® Jenkins ã®è¨å®éç¨ããããªãã®ãã®ã«ãªããã«ã¸ã¥ã¢ã«ã«æ°ãã CI ããã¸ã§ã¯ããåãã¦ãã¨ãããã®ã§ããªããªããã§ãã¨ã³ã¸ãã¢ã«ã¯ãã£ã¨ã«ã¸ã¥ã¢ã«ã«ãã¹ãããã¦æ¬²ãããã ã£ãã Jenkins ã¨é£åãã Travis CI ã®ãããªããã³ãã¨ã³ããä½ã£ã¦ãã¾ãã°ãããéçºè ã¯ç¤¾å ã® Github Enterprise ã« push ããã ãã§ãJenkins ã§ã®ãã¹ããå§ã¾ãããããã
ãããªããã§ãæªæ¥ã¨æã£ã¦ããããããã® DevOps ã¨ããã®ãããã¹ãã¨ã³ã¸ãã¢ãªã³ã°ã®æèã§ã¯ãã§ã«ç¾å¨ã«ãªã£ã¦ãããGoogle æ¬ã¨ããããã¹ãèªåå㨠DevOps ã®é¢é£ã¨ãããããæè¿è¿½ã£ã¦ãããã¨æã£ã¦ãããã¨ãè²ã ã¨ç¹ãã£ããã®ã§ãã¡ãã£ã¨ç±ããªã£ã¦ããããªããã°ãæ¸ãã¦ãã¾ãã«è³ã£ãã®ã§ããã