CI-as-a-Serviceã§Goè¨èªããã¸ã§ã¯ãã®ææ°ãã«ããç¶ç¶çã«æä¾ãã Goè¨èªã§ä½æãããã¼ã«ã®ãªãªã¼ã¹æ¹æ³ã«ã¤ãã¦ï¼æè¿å®è·µãã¦ãããã¨ãæ¸ãï¼ ãªãªã¼ã¹ã¯ï¼ãã¼ã«ã«ãã人æã§è¡ã£ã¦ããï¼å ·ä½çã«ã¯ï¼èªåã®ãã¼ã«ã«ç°å¢ã§ã¯ãã¹ã³ã³ãã¤ã«ãï¼ã»ãã³ãã£ã㯠ãã¼ã¸ã§ãã³ã°ã«ããã¿ã°ãã¤ãï¼CHANGELOG.mdãä¸å¯§ã«æ¸ããä¸ã§ãªãªã¼ã¹ããã¦ããï¼ã¯ãã¹ã³ã³ãã¤ã«ã«ã¯mitchellh/goxï¼ãªãªã¼ã¹ã«ã¯èªåã§ä½æããtcnksm/ghrã使ã£ã¦ããï¼ghrã«ã¤ãã¦ã¯ï¼âé«éã«èªä½ããã±ã¼ã¸ãGithubã«ãªãªã¼ã¹ããghrã¨ãããã¼ã«ãã¤ãã£ãâãåèï¼ï¼ ãã®ä¸æ¹ã§ï¼éçºä¸ã®ææ°ã®ãã«ããæä¾ããããã«ãã¦ããï¼ä¾ãã°ï¼ãããªæãã§ï¼Pre-Releaseã¨ãã¦æä¾ãã¦ããï¼Goè¨èªã§ã®éçºãªã®ã§ï¼go getãã¦ãã ããã¨è¨ããï¼ãããï¼ç°å¢ã«ãã£ã¦ãã«ãã失æãã
å°ãåã¾ã§ã¢ããªã±ã¼ã·ã§ã³ã®ãããã¤ã¨è¨ãã° capistrano ãªã©ãã³ãã³ãã©ã¤ã³ããå©ãã¦ãããã¤ãã¿ãããªãã¨ããã£ã¦ããããæè¿ã¯å°ãæ§åãéãã®ã§ãã®ããæ¹ãKAIZEN platform Inc. ã§ã®äºä¾ãç´¹ä»ããã GitHub ã®ã¤ãã³ããå¥æ©ã« CI as a Service ã«ãããã¤ãæ å½ããã GitHub 㧠Pull Request ãéã£ã¦éçºããã®ãåæã«ãªã£ã¦ããã®ã¯ä»¥åã«ãç´¹ä»ããã æè¿ã¯ Travis CI ã CircleCI ãªã©ã«ä»£è¡¨ããã CI (Continuous Integration) as a Service ããã£ã¦ãCI ãèªåãã¡ã§ç°å¢ãæ§ç¯ããªãã¦ãã¯ã©ã¦ãã«ä»»ãããã¨ãã§ãããKAIZEN ã§ã¯ CircleCI ãç©æ¥µçã«ä½¿ã£ã¦ããã ãããã® CI as a Service ã¯åºæ¬çã« GitHub ã¨é£æºããã
Webæè¡ã«ã¤ãã¦æ¨ªæçã«èªãåãã¤ãã³ããCROSS 2014ãã1æ17æ¥ãé½å ã§è¡ããã¾ããã ãã®ã»ãã·ã§ã³ã®1ã¤ãç¾å ´ã«èãï¼ãã¹ã/CI/DevOpsãå®éã®ã¨ããã©ããªã®ãã§ã¯ãããªã¼ã©ã³ã¹ã¨ã³ã¸ãã¢ã®ä¼è¤ç´ä¹æ°ãã»ãã·ã§ã³ãªã¼ãã¼ã¨ãã¦å¸ä¼ãæ å½ããã¯ãã¯ãããã§éçºã¾ããã®ã¨ã³ã¸ãã¢ããã¦ããèéç¥ä¸æ°ãã¯ã¦ãªã§ã¢ããªã±ã¼ã·ã§ã³ã¨ã³ã¸ãã¢ããã¦ããä¼äºæ´å¹³æ°ãKAIZEN platform Inc.ã®ç³æ©å©çæ°ããã¹ãã¼ã«ã¼ã¨ãã¦ç»å£ã å é²çãªç¾å ´ã§ãã¹ããCIãã©ã®ããã«è¡ãããã¨ã³ã¸ãã¢ã®ãã¼ã ãã©ã®ããã«æ å ±å ±æããã¦ããããæ¬é³ã§èªãã¨ãã注ç®ãã¹ãå 容ã§ãããæ¬è¨äºã§ã¯ãã®ãã¤ã¸ã§ã¹ããç´¹ä»ãã¾ãããã ç¾å ´ã«èãï¼ãã¹ã/CI/DevOpsãå®éã®ã¨ããã©ããªã® ä¼è¤ãä»æ¥ã®ãã¼ãã¨ãã¦ã¯CIï¼Continuous Integrationãç¶ç¶çã¤ã³ãã°ã¬ã¼
ä»å¹´ã®3æã« å ¥éChef Solo - Infrastructure as Code ã¨ããæ¬ãæ¸ããã ãã®åã®éã Chef ã®å ¥éæ¸ãªã®ã ãã©ããã®ãµãã¿ã¤ãã«ã¯ "Configuration Management Tool (æ§æ管çãã¼ã«)" ã§ããªã "Provisioning Framework (ãããã¸ã§ãã³ã°ãã¬ã¼ã ã¯ã¼ã¯)" ã§ããªããã¯ãã¾ã "Automated Infrastructure (èªååãããã¤ã³ãã©)" ã§ããªãã"Infrastructure as Code" ã«ããã ãã®ä¸å¹´ã§ Chef ã Puppet ã«ã¯ããã¶ãã¨æ³¨ç®ãéã¾ã£ãããããããAWS ãã¯ããã¨ããã¯ã©ã¦ããµã¼ãã¹ãããåºãã¦ã¼ã¶ã¼ã«æµ¸éãããã¨ã§ä»®æ³åç°å¢ãåæã«ãªã£ã¦ã以åãããé »ç¹ã«ãµã¼ãã¼ãæ§ç¯ãç´ãããããæ©ä¼ãå¢ããã¨ããã®è¾ºãã²ã¨ã¤çç±ã¨ãã¦æããããã¨æã
å··ã§AngularJSãçãä¸ãã£ã¦ããã®ã横ç®ã«ãæè¿ã¯é»ã ã¨Karmaã触ã£ã¦ãã¾ãããKarmaã¯ããªãããã§ãã¦ãã¦ç´ æ´ãããã¨æããã§ãããå ·ä½çãªä½¿ãæ¹ã¯ãã¾ãè¦ãªãã®ã§ç´¹ä»ãããã¨æãã¾ãã Karmaã«ã¤ã㦠http://karma-runner.github.io/ Karmaã¯ãããããªã¢ã¼ããã¹ãã©ã³ãã¼ã§ãããªã¢ã¼ããã¹ãã©ã³ãã¼ã¨ããã¨ãè²ããªãã©ã¦ã¶ã§ãã¹ããèµ°ããããã¨ãç®çã®ããã«æãã¾ãããããã§ã¯ããã¾ãããKarma㯠ã¯ã¼ã¯ããã¼ã®åé¡ã解決ããã㨠ã«ä¸»ç¼ãç½®ããã¦ãã¾ãããªã®ã§ãã³ãã³ãã©ã¤ã³ã§ãã¹ããå®è¡ããã»ãã« ãã¡ã¤ã«ã®å¤æ´ç£è¦ CIãµã¼ãã¨ã®é£æº ãããã°ã®ãµãã¼ã ãã©ã°ã¤ã³ã«ããæ©è½æ¡å¼µ ã¨ãã£ãæ©è½ãæã£ã¦ãã¾ããå®éã«ä½¿ã£ã¦ã¿ãã¨ãåã«ãã¹ããå®è¡ãã¦ãããã ãã§ãªããã¯ã¼ã¯ããã¼ãåçã«å¤ãããã¨ãå®æã§ããã¨æãã¾ãã K
Node.js Advent Calendar 2013 - Adventar 9æ¥ç®ã§ãã ãã¾ããã¿ãç¨æããæéããªãã£ãã®ã§ãGitHubã«Node.jsã®ãªãã¸ããªãç½®ãããnpmã«ããã±ã¼ã¸ãå ¬éãããããã¨ãã«ä¾¿å©ãªå®çªãµã¼ãã¹ã3ã¤ç´¹ä»ãã¾ãã Travis CI Coveralls David ã¿ã¤ãã«ã¯é£ãã§ãããç¹ã«Travisã¨Coverallsã¯ä¸åº¦ä½é¨ããã¨é¢ããããªããããã»ãã¨ã«life changingãã³ã¼ããpushããããã©ã³ãã®ãã«ãçµæããã«ãªã¯ã«è¡¨ç¤ºãã¦ãããããã«ãã¬ãã¸çµæãã³ã¡ã³ãã§æ¸ãè¾¼ãã§ãããã®ã§ããããè¦ãªããã³ã¼ãã£ã³ã°ãé²ãã¦ããã¾ãããããç¡æãªã®ã¯æå³ä¸æãªãããã®ç¥ã§ã*1ã ãµã³ãã«ã³ã¼ãã¯ãã¡ãã®ããã¸ã§ã¯ãã§è¦ã¦ãã ããã Github: https://github.com/teppeis/fixclosure
æè¡é¨ã®ç¦æ£®ã§ãã ã¯ãã¯ãããã§ã¯ RSpec 㨠Jenkins ãå©ç¨ã㦠CI ã«ããèªåãã¹ããè¡ãªã£ã¦ãã¾ãã ãã¹ãã®æ°ã¯ 12000 examples ãè¶ãã¦ãã¦ããã¹ãã«ãã£ã¦ã¯ç¨ã«å¤±æããç©ãåºã¦ãã¦ãã¾ã: æé帯ä¾åã§å¤±æãã¦ãã¾ããã® ä»ã«åæã«å®è¡ããããã¹ãã«ä¾åãã¦ãããã® (並åå®è¡ã§çµåããå¤ããåç¾ãã) ã¤ã³ãã°ã¬ã¼ã·ã§ã³ãã¹ãã§ã® ajax ãªã¯ã¨ã¹ãã®å¾®å¦ãªã¿ã¤ã ã¢ã¦ã etc ã¾ããæ¬çªç°å¢ãå£ããªãããã CI ã§æåãããªãã¸ã§ã³ã®ã¿ãããã¤å¯è½ã¨ãªã£ã¦ãããéçºè ã push ããããã¤ãããã¨æã£ã¦ããæã«ç¡é¢ä¿ãªåå ã§å¤±æããäºãé¿ãããã¨ãã欲æ±ãããã¾ãã ãªããªããå度ãã«ããå®è¡ããæé (ããã 10 å) ã®éå¾ ããããäºã«ãªãããã§ãã ããã§ããã®ãããªãã¹ãèµ·å ã§ã®å¤±æãæ¸ããããã¤éçºè ã«ããããä¿®æ£ãã¦ãããã
大åæéãçµã£ã¦ãã¾ãä»æ´ã§ã¯ããã¾ãããå æ¥è¡ããã第67å PHPåå¼·ä¼ã§ãCIãåå¹´éã¾ããã¦ã¿ã¦ãã¨ãããé¡ã§LTããã¦ãã¾ããã æ¨å¹´ã®11/30ã«ãå½æã¡ããã©éçºãå§ã¾ã£ãæ¡ä»¶ã®éçºç°å¢ã«é¢ãã¦ãä»æãªCakePHPã§ã®éçºç°å¢ï¼ï¼ãã¨ããã¨ã³ããªã¼ãæ¸ãã¦ãåã®ãããã³ããªå ¥ããã¾ããã4ææ«ã§ãã®ããã¸ã§ã¯ããå§ã¾ã£ã¦åå¹´ã¨ããäºã§ãå®éã«CIãã¾ããã¦ããä¸ã§èµ·ãã£ãäºãã試è¡é¯èª¤ãã¤ã¤ã©ããã£ã¦è§£æ±ºããããªã©ãç°¡åã«ã¾ã¨ãã¦ã話ããã¾ããã LTç¨ã«ä½ã£ãè³æã§ã¯ã¡ãã£ã¨ä¼ããã«ããã®ã§ã以ä¸ã«ã¾ã¨ãç´ãã¾ããã æé·ã®è»è·¡ Jenkinsãµã¼ãã¼ãç«ã¡ä¸ããæã¯ãUnitTestã®ãã¹ãã±ã¼ã¹ã10åã ãã ã£ãã®ã§ããã4/30ç¾å¨ UnitTestã®ãã¹ãã±ã¼ã¹ã467件ãåå ¥ããã¹ãã®ã·ããªãªæ°ã292件ã¨ãã®ãããæé·ã£ã·ãã§ãã ãã®åå¹´éã«èµ·ãã£ãäº ãã¹
Jenkins ããããã¨æ¯ãããã¨åæ¥ããã¾ããã£ãã®ã§åå¿é²ãæ®ãã¦ããã ããããã£ãã®ã¯ Chef ã§æ§ç¯ãããµã¼ãã¼ã Jenkins 㧠CI ãããã¨ãããã®ããã®ã¨ããµã¼ãã¼ã¯ãã¹ããçµãã度ã«ç ´æ£ãã¦ããã¹ãéå§æã«å度çã£æ°ãªç¶æ ããç«ã¡ä¸ãããã(ãããããµã¼ãã¼ãå£ãã¦ä½ã£ã¦ã¨ãããã¹ãã¯ãªãã¨ããååã§å¼ã°ããã®ã ãã?) ä»®æ³ãµã¼ãã¼ãç ´æ£/ä½æãããã°ã©ããã«ã«ããã®ã¯ãã¡ãã Vagrant ãããã¸ã§ãã³ã°ã¯ Chef Chef ã®ç°å¢ãæ´ããã®ã« knife-solo 0.3.0.pre3 ãã¹ã㯠serverspec ã³ã¼ã㯠Github ã«ä¸ãã (https://github.com/naoya/jenkins-vagrant-test) CI 㯠Jenkins ã¨ããæ§æã«ãªã£ã¦ãããã²ã¨ã¾ã Jenkins ã Vagrant ã¯ãã¼ã«ã«
ã¢ã¸ã£ã¤ã«éçºã«åãçµããã¼ã åãã®ã³ã¼ãã³ã°ããæè¡é¡§åãèªå®ã¹ã¯ã©ã ãã¹ã¿ã¼ç ä¿®ãªã©ã®å種ãã¬ã¼ãã³ã°ãæä¾ãã¦ãã¾ãããã²ãæ°è»½ã«ãç¸è«ãã ããï¼ååç¸è«ç¡æï¼ ã¿ãªããããã«ã¡ã¯ã@ryuzeeã§ãã ã·ã¹ãã éçºã«ããã¦ä¸çªã³ã¹ããé«ããã®ã¯äººçãªã½ã¼ã¹ã§ãããã¨ãã»ã¨ãã©ã§ãã ãããã£ã¦éçºè ã®æéå¹çããããããã«ã§ãããã¨ã¯è²ã ã¨åãçµãå¿ è¦ãããã¾ãã ä¾ãã°å人ã®éçºãã·ã³ãé ãã¦ãã«ãããã¹ãã«æéããããã¨ããã£ã¦ã®ä»ã§ãã ä¸æ¥10åãã«ããã¦ä¸åã®ãã«ãã«5åãããã¨ãã¾ãã ãããé«æ§è½ãªãã·ã³ã«å¤ããã2åã«ãªã£ãã¨ããã¨ã(5-2)1020=10æéã æéå価5000åã¨ãã¦ä¸ã¶æãããåè¨50000åã®ç¯ç´ã«ãªãã¾ãã åããã¨ãCIããã¹ãèªååã«ãè¨ãã¾ãã CIãµã¼ãã®ãã¼ãã¦ã§ã¢ãé«æ§è½ãªãã®ã«å¤æ´ããä¼ç¤¾ã®ãã¾ã£ãPCã使ã£ãããã¦é ããã¹
Travis CIãå§ãã¨ããã¦ã§ããµã¼ãã¹ã¨ãã¦ä½¿ããCIã使ã£ã¦ã JavaScriptã®ãã©ã¦ã¶ãã¹ã(ãã©ã¦ã¶ä¸ã§JavaScriptãèµ°ããã¦è¡ãã¦ããããã¹ã)ãããæ¹æ³ããµã¼ãã¹ãã¨ã«ã¾ã¨ãã¦ã¿ã¾ããã ãã¹ããã¬ã¼ã ã¯ã¼ã¯ã¨ã㦠Buster.JS ã使ç¨ãã¦è¡ãã¾ãã Karma (æ§Testacular) ã§ã¯å ¬å¼ãµã¤ãã«ã Karma â Travis CI ã§CI Serviceã¨ã®é£æºæ¹æ³ãè¨è¼ããã¦ããã®ã§ãã¡ããåèã«ãã¦ä¸ããã ä»åç´¹ä»ããCI Servicesã¯ä»¥ä¸ã®ãã®ã§ãã Travis CI drone.io BuildHive Jepso CI ãã¹ãå®è¡ã®æµã Jepso CI ãé¤ãã¦ã¯ããã¹ãå®è¡ã®æµãèªä½ã¯åããªã®ã§å ã«è§£èª¬ãã¾ãã Captureç¨ã®ãã¼ã«ã«ãµã¼ããç«ã¦ã ãã¹ãããããã©ã¦ã¶ã§ capture URL ã¸ã¢ã¯ã»ã¹ãã
ç°å¢ä¾åã®æ å ±ã®ç®¡çãHudsonã®ã¸ã§ãè¨è¨ãªã© - watawataæ¥è¨ã«è§¦çºããã¦ãèªåãã¡ããã©èãã¦ããã¨ããã£ãã®ã§ããã140åã§ã¯ã¨ã¦ã足ããªãã®ã§ããã°ã«ã¾ã¨ãã¦ã¿ã¾ãã ã¡ãªã¿ã«Javaéçºã®è©±ã§ããã¯ãã åæ ããã«ãã¹ã¯ãªããã¯ãIDE/CIã«ä¾åããªããã¨ãã大äºã ã¨èãã¦ãã¾ããï¼Javaéçºã«ããã¦ã¯ï¼IDEä¸ã§éçºããæ¹ã大å¤æ°ã ã¨æãã¾ãããã³ãã³ãããã³ããã»ã·ã§ã«ã¹ã¯ãªããä¸ã§ãã«ãã§ãã¦ããã¤CIä¸ã§ãåæ§ã«å®è¡ã§ãããã¨ãããããã«ãç°å¢ãèããä¸ã§å¤§äºãªãã¨ã§ããã ããã¸ã§ã¯ãã®åé¡ ããã§ã¯ã2ã¤ã®è¦ç´ ã§ããã¸ã§ã¯ããåé¡ãã¾ãã ä¾åã©ã¤ãã©ãªç®¡çã®ä»çµã¿ãæããï¼ IDEä¸ã§ãããã¸ã§ã¯ãéã§ã®ç´æ¥åç §ãæããï¼ ä¾åã©ã¤ãã©ãªã®ç®¡çã¨ããã®ã¯ãå¹³ããè¨ãã°Maven/Ivyãå°å ¥ãã¦ãããï¼ã¨ãããã¨ã§ããIvyã¯Antãã¼ã¹ã§ãMa
ããã«ã¡ã¯ããã¼ããã¼ãµã¼ãã¹é¨ã®å è¤åè¯ã§ãã ååãmixi ã«ãããéçºè ãã¹ã ã«ã¤ãã¦èª¬æãã¾ãããã ãã¶éãããã¦ãã¾ãã¾ããããä»åã¯ããã®ãã¹ããå®æçã«å®è¡ãã ç¶ç¶çã¤ã³ãã°ã¬ã¼ã·ã§ã³ ã®ä»çµã¿ãç´¹ä»ãããã¨æãã¾ãã ãã¹ããé ã å®ã¯ãmixi ã®ãã¹ãã¯ãé ããã¨ãã大ããªåé¡ãæ±ãã¦ãã¾ãã Micheal Feathers ã¯ãã¬ã¬ã·ã¼ã³ã¼ãæ¹åã¬ã¤ããã®ãªãã§ãåä½ãã¹ããé«éã«å®è¡ã§ãããã¨ã®éè¦æ§ã解ããåä½ãã¹ãããå³ããå®ç¾©ãã¾ãã 次ã«å½ã¦ã¯ã¾ããã®ã¯åä½ãã¹ãã§ã¯ãªãã ãã¼ã¿ãã¼ã¹ã¨ããåããã ãããã¯ã¼ã¯ãä»ããéä¿¡ããã ãã¡ã¤ã«ã·ã¹ãã ã«ã¢ã¯ã»ã¹ãã å®è¡ããããã«ç¹å¥ãªç°å¢è¨å®ãå¿ è¦ã¨ãã (ç°å¢è¨å®ãã¡ã¤ã«ã®ç·¨éãªã©) ä¸è¨ã«è©²å½ãããã¹ããæªãã¨ããããã§ã¯ãªããå¤ãã®å ´åã«ããã¦ããã®ãããªãã¹ããæ¸ã価å¤ã¯ããããã°ãã°ãã¹ã
ã¡ã³ããã³ã¹
ãç¥ãã
é害
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}