ã¢ããªã±ã¼ã·ã§ã³ãã¼ã¿ããªãã£ã¨Jenkinsã®æãæ¹ã«é¢ããææ
å¼ç¤¾ã§ã¯Jenkinsãããã¡ããã«æ¥ã ãä¸è©±ã«ãªã£ã¦ããã¾ããé£ã®ãã¼ã ã® @_zoo ãããJenkinsãããã¡ããã«ã¤ãã¦ã®è¨äºãæ¸ãã¦ããã¾ããã
- å¹´ã®ç¬ã«Jenkinsã®è¨å ±ãå±ãã¦ããæ²åã«ãããªãããã« #vgadvent2013 - massã®æ¥è¨
- http://mass.hatenablog.com/entry/2013/12/10/232532
ã¨ãããã¨ã§åçæè¿ã®Jenkinséç¨ã«ã¤ãã¦æ¸ãããã¨æãã¾ããå»å¹´ã®éç¨ã¨ä»å¹´ã®éç¨ãæ¯è¼ãã¦ããã¾ãã
å»å¹´ã®Jenkinsã®ã¿ã¹ã¯
以ä¸ã®ãã¨ããã£ã¦ãã¾ãããä½ã§ãå±ã§ããã
- ãããã¤
- ãã¹ã
- éç¥: ã¡ã¼ã«
- é«åº¦ãªcrontab
å»å¹´ad:tech Tokyoã§MapReduceã¸ã§ãã®dispatchã¨monitoringããã¦ããã¨ããçºè¡¨ãããã¦ããã ãã¾ããã
- Jenkinsã¨hadoopãå©ç¨ããç¶ç¶çãã¼ã¿è§£æç°å¢ã®æ§ç¯
- http://www.slideshare.net/suzuken/jenkinshadoop
ãã®ãããããã£ã¨ãéçºã¯ github.com ã§è¡ã£ã¦ãã¾ãããåºæ¬çã«ã¯ãã«ããã¤ãã©ã¤ã³ãã©ã°ã¤ã³ãå©ç¨ãã¦ãã¦ããªãã¸ããªæ´æ°ã®ã¿ã¤ãã³ã°ã§fetchãmasterãã©ã³ãã§ããã°éçºæ©ã¸ãã«ããtopicãã©ã³ãã«ã¤ãã¦ã¯éä¸ãã¹ããå¨ãããã«ãªã£ã¦ãã¾ããã
ãã ãã®çºè¡¨ä»¥éããã¾ãJenkinsã«ã¤ãã¦æ¸ããã話ããããã¦ãã¾ããã§ããããªãã ãããèªåã®ä¸ã§ããããããªãã¨ãå½ããåã«ãªã£ã¦ãã¦ããã®ã§ãä»æ´Jenkinsã«ã¤ãã¦æ¸ããªãã¦ãã»ã»ã»ã¨æã£ããããã¾ãããã¨ãããå®éã«1å¹´éæ¯ãè¿ã£ã¦ã¿ãã¨ãJenkinsã®ä½¿ãæ¹ã«ããããªãã«å¤åãããã¾ãããã¨ããã¨ãããã¾ã¨ãã¤ã¤ç´¹ä»ãã¾ãã
Jenkinsã§ãã£ã¦ããä»äº2013
- ãããã¤
- ãã¹ã
- éç¥: ã¡ã¼ã«, idobata, GitHub status api
- ã½ããã¦ã§ã¢ã¡ããªã¯ã¹çæ
å°ãå¤ããã¾ãããã
éç¥ç³»çµ±
æè¿ã¯ãã¹ãããããã¨Pull Requestã®ã¹ãã¼ã¿ã¹ãupdateããããã«ãã¾ãããããã§å¤§åãã¹ãã®ãã§ãã¯ã楽ã«ãªãã¾ãããã¾ãã idobata.io ã«ã試é¨çã«å種éç¥ãæµãããã«ãã¦ãã¦ãJenkinsã§ã®Jobã®dispatchç¶æ³ã«ã¤ãã¦ã¯éä¸æµããããã«ãªã£ã¦ãã¾ããapié£æºã¨ããç¹ã«ããã¦idobataã¯å¤§å¤å®¹æã§ããéç¥ç³»çµ±ã«é¢ãã¦ã¯é常ã«éçºã«å©ããé¢ã大ããã£ãã§ããJenkinsèªä½ãä½ããã¦ããã®ãã¨ãããã¨ãæç³»åã§æã«åãããã«åããã¾ããã誰ãã©ãããã³ã¼ããæ¸ãã¦ãã¦ããã®çµæã©ãã®é¨åã®ã³ã¼ããè½ã¡ã¦ãã¦ãä½ãåå ã§ãã©ãä¿®æ£ãã¦ããã¤ãã¹ããéã£ã¦ããã¤ãããã¤ãããããã¨ãããã¨ãã¹ã ã¼ãºã«ææ¡ã§ããããã«ãªãã¾ãããããã¯æ³å®ãã¦ããããã大ããªå¤åã§ããã
ã½ããã¦ã§ã¢ã¡ããªã¯ã¹
ã½ããã¦ã§ã¢ã¡ããªã¯ã¹ã«ã¤ãã¦ã¯æè¿åãçµã¿å§ãã¾ãããåã®æ å½é åã§ã¯PHPã§ç®¡çç³»ã¢ããªãæ¸ããã¦ããæ©ä¼ãã»ã¨ãã©ãªã®ã§ãPMDãClover PHPãªã©ãå©ç¨ãã¦ã½ããã¦ã§ã¢ã¡ããªã¯ã¹ãåºãããã«ãã¦ãã¾ãã
- Template for Jenkins Jobs for PHP Projects
- http://jenkins-php.org/
åèªèº«ã®ã¿ã¹ã¯ã®ã¡ã¤ã³é åã¯ãã°ãå¦ä½ã«è§£æããããããããå¦ä½ã«è§£æçµæãæå¹ã«å©ç¨ããããå¦ä½ã«ææã«çµã³ã¤ãããã¨ããã¨ããã«ããã¾ããããã管çç³»ã®ã¢ããªã±ã¼ã·ã§ã³ã«ã¤ãã¦ãã³ã¼ãã¬ãã¥ã¼ã«ã¤ãã¦ã¯ç¶ç¶çã«ããããã«ãã¦ãã¾ãããã ãããã¯ãã¬ãã¥ã¼ã§ããæéã¨ããã®ã¯éããã¦ãã¾ããã¨ããããã¢ãã¿ãªã³ã°ãã¦ããç¨åº¦ã§ãããPull Requestãé·ããªã£ã¦ããã¨ãªããªãè¦ããã¤ã³ããæ´ãã®ã大å¤ã ã£ãããéä¸åãã©ãã§ä½¿ãããè¦æ¥µãã¥ããã£ããããã®ã§ããã種ã®ã¢ã©ã¼ãã¨ãã¦å©ç¨ãã¦ãã¾ãã
ããã㤠~ fabricã¨makeãããã°ãã ~
ãããã¤ã«ã¤ãã¦ã¯ç¸å¤ãããfabricãå©ç¨ãã¦ãã¾ãã
- fabric/fabric
- https://github.com/fabric/fabric
ããã¯å»å¹´ããå¤ããã¾ãããJenkinsãè½ã¡ã¦ãã¦ããfabricãå©ç¨ãã¦production / pre / developmentã®åç°å¢ã«ãããã¤ãããã¨ãã§ããããã«ãªã£ã¦ãã¾ããfabricã¯åºæ¬çã«sshã§åãµã¼ãã«å
¥ã£ã¦make
ãã¤ããããã«ä½¿ã£ã¦ãã¾ããæ¢ãã¦ssh hoge.server "make -C /path/to/app install"
ãªã©ã§ã¯ãªãfabricãå©ç¨ãã¦ããã®ã¯ãbotoã¨ã®çµã¿åããã«ãããç¹å®æ¡ä»¶ã«ãã£ã¦è¤æ°ãµã¼ãã®ååãå¼ãã¦ããã®ã«ä¾¿å©ã ããã§ãã
便å©ã«ãªãã¨ããã«Jenkinsã使ããå¿ é ã§ããã¨ããã«Jenkinsã使ããªã
éç¨ãã¦ããä¸ã§ã®ææã§ããããã¯ãã©ããJenkinsã«è²ã ãªå¦çããããããã¨ããã®ã¯ãããªãã®ã§ã¯ãªããã¨æã£ãããã§ãã
å¤åã¨ãã¦ã¯ã¢ããªã±ã¼ã·ã§ã³ãã¼ã¿ããªãã£ãå¼·ãæèãå§ããã¨ããã®ãããã¾ããåã®ã¨ããã®ã¢ããªã±ã¼ã·ã§ã³ã©ã¤ã³ã¯ããã¤ãããã¾ãããã©ã®ç°å¢ã§ãã£ã¦ããå
¨ã¦make install
ã§ã»ããã¢ãããå®äºãã¾ãããmake test
ã§ãã¹ããèµ°ãããã«ãªã£ã¦ãã¾ããå½ç¶ããã¯ãã®å
ã®ãããã¤ããããã¨ããã¨ããã«ãã¤ãªãã£ã¦ããããã®1å¹´ã§ããªãæ¹åãããé¨åã§ãã
çµå±ã®ã¨ãããJenkinsãè½ã¡ã¦ããããã¤ãã§ãããããã¹ããã§ããããããããæ£å¸¸ã«åãç°å¢ãæ´ãã¾ãããJenkinsã¯ç¢ºãã«ä¾¿å©ã§ãããã«ããã¤ãã©ã¤ã³ã§ããã¼ããããããããªãã¾ããcrontabã®ãããªã¸ã§ãè¨å®ãç°¡åã§ãããã©ã¡ã¼ã¿ãä»ãã¦ãã«ããããã¨ãæè»ã«ã§ãã¾ããrbenvãããã¦æ§ã ãªãã¼ã¸ã§ã³ã§æè»ã«ãã«ããè¡ããã¨ãã§ãã¾ããã§ãæããã¦Jenkinsããªãã¨ã§ããªããã¨ã§ããããï¼ããã¦æ¬å½ã«å¿ è¦ã§ãããããããã§ã¯ãªãã便å©ã«ãªãããããããã¿ã¼ã«ãªããããããããç¹ã«ããã¦æ´»èºã§ããã®ãJenkinsã§ããã¹ãã ã¨æã£ã¦ãã¾ãã
æ¬å½ã«æã ã«å¿ è¦ã ã£ãã®ã¯Jenkinsã ã£ãã®ã ãããã¨ããèã
æè¿ã§ã¯å°ããJenkinsãæä¾ãã¦ããã¦ãããã®ã¯åãã«ã¨ã£ã¦ãªãããããã®ã§ã¯ãªããã¨æããã®ã§ããæå°ã®ãã¼ã«ãçµã¿åããã¦ã¬ããå¹ããã¦ããã¨ã³ã¸ãã¢ãªã³ã°ã¨ã¯å°ãé¢ãã¦ãããã®ãæãã¾ãããªã®ã§æ¬å½ã«å¿ è¦ãªç©ã¯ä½ãªã®ã ãããã¨æè¿èãã¦ãã¾ããããªãã¨ãããããã£ã¨Jenkinsã¯ã«ã¸ã¥ã¢ã«ã§è¯ãã®ã§ã¯ãªããã¨æã£ã¦ãã¾ãã
ã¢ããªã±ã¼ã·ã§ã³ããã¼ã¿ãã«ã«ãªãæ¨ä»ã®ç°å¢ã«ããã¦æ±ããããã®ã¯ä»¥ä¸ã®ãã®ãªã®ã§ã¯ãªãã§ããããã
- ã¢ããªã±ã¼ã·ã§ã³ã®ãã«ãã¯ç°¡åã«ã§ããã®ã ãããä»»æã®ãã«ãã³ãã³ããç°¡åã«è¨å®ã§ããã°è¯ã
- ãããã¤ããææç©ãä»»æã®å ´æã«é ç½®ã§ããã°è¯ã
- ã¸ã§ãã®è¨å®ã¯ã·ã³ãã«ã«CLIã§ã§ããã¨è¯ãã
- ããããä»»æã®ã·ã§ã«ãå®è¡ããã ãã®è¨å®ãå¤ãã®ã§ãåç´ã«ãããã¸ã§ãã«è¨å®åºæ¥ãã ãã§å¤§åã¹ã ã¼ãºã«éç¨ã§ããã®ã§ã¯ãªãã
- ã·ã³ãã«ã«ã¸ã§ãã«ã¤ãã¦è¨è¿°ã§ããæ¸å¼ãå¿ è¦ãªã®ã§ã¯ãªãã
- ã¸ã§ãã®ã·ã¼ã±ã³ã¹ã«ã¤ãã¦ãç»é¢ããã§ã¯ãªããCLIããã¹ã ã¼ãºã«è¨å®ã§ããã°è¯ã
- ãã¹ãã¯é常éãåããã¨è¯ã
- ã¢ããªã±ã¼ã·ã§ã³ã¯ç°å¢ã«ä¾åããªããã¹ããçµã¿ç«ã¦ããã¦ãã
CircleCIãTravisCIãããã§ããããããã¤ã¡ã³ãã¨ãã¹ãã¨ããã®ã¯ç°ãªãã¿ã¹ã¯ã§ããããã¯ããããæ··ãã¦ãã¾ãã¨è¤éã«ãªã£ã¦ãã¾ãã®ã§ã¯ãªããã¨æãã¾ããä»ãDockerãã¢ããªã±ã¼ã·ã§ã³ã®ãã¹ãããéã«å©ç¨ã§ããªããã¨èãã¦ãã¦ãããããã¨å½ç¶ãããã¤ã¡ã³ããDockerã³ã³ãããã¨è¡ãªããã¨ãè¦è¶ãããã§ããããããã®èæ¯ã«ã¯å½ç¶ã¢ããªã±ã¼ã·ã§ã³ããã¼ã¿ãã«ã«ãªã£ã¦ãããã¨ã¨ããã®ãåæã«ãªã£ã¦ãã¾ããããããç°å¢ä¸ã§ã¯ããã¹ãã¨ãããã¤ã¡ã³ããå¥ã ã®ãµã¼ãã¹ã§è¡ããã¦ãã¦ããå ¨ãåé¡ãªãç¶æ ã«ãªã£ã¦ããã¨ããã®ãããããã®åæã«ãªãã¾ãããªã®ã§ãä»ããä¸åº¦ãJenkinsã®ããæ¹ãJenkinsã«ä½ãä»»ããã¹ããã¨ãããã¨ãèãã¦ããã¨ããã§ãã
Jenkinsã¯å¤æ§ãªãã¨ã«å¯¾å¿ã§ãããããã¯ãã§ã¯ããã¾ããããµã¼ãã¹ãã¢ããªã±ã¼ã·ã§ã³ã®è¨è¨ã移ãå¤ãããã¨ã«ãã£ã¦ãã¾ãCIã®ã¬ã¤ã¤ã¼ã¨ããã®ãåè¨è¨ãå¿ è¦ãªã®ã§ã¯ãªããã¨æãã¦ãã¾ãã
ã¾ã¨ã
- Jenkinsã«ã¯ç¸å¤ãããå¹ åºãä»»ãã¦ããããJenkinsæ¬ä½ã§ããã§ããªããã¨ãã»ã¨ãã©ç¡ããã¾ãã
- ã¢ããªã±ã¼ã·ã§ã³ã®ãã¼ã¿ããªãã£ãä¸ãããã¨ã«ãã£ã¦ãJenkinsã§ãã¹ããã¨ã¨ãã¹ãã§ãªããã¨ãä»ä¸åº¦åºå¥ããææã«æ¥ã¦ããã¨æãã¦ãã¾ã
ãã®è¨äºã¯Jenkins CI Advent Calendar 2013 - Qiita [ãã¼ã¿]ã®17æ¥ç®ã®è¨äºã§ããã
ææ¥ã¯morodomi - Qiita [ãã¼ã¿]ããã§ãã