æµ·å¤äºæ¥é¨ã®æ¾å°¾(@Kazu_cocoa)ã§ãããã¡ãã¯ãç§ãã¡ã® x3 Speed Up Android CI at Cookpad ã«å ¬éããè¨äºã®æ¥æ¬èªè¨³ã§ããè±èªã§ã覧ã«ãªãããæ¹ã¯åæãä¸èªãã ããã 以ä¸ã«ç»å ´ããAndroidã¢ããªã¯æµ·å¤çã®ã¯ãã¯ãããã¢ããªã¨ããã«ã¾ã¤ããç°å¢ãæãã¾ããå½å ã®ãã®ã¨æ§æãç°ãªãã¨ãããããã¾ãã®ã§ããã®ããããé ã«å ¥ãã¤ã¤èªãã§ããã ããã°ã¨æãã¾ãã ãã®è¨äºã§ã¯ãç¾å¨ã®Androidã¢ããªéçºåãCIç°å¢ã®ç´¹ä»ã¨ãã®ç°å¢æ§ç¯ã®æµããç´¹ä»ãã¾ããç¾å¨ã®ç°å¢ã§ã¯ãGitHubä¸ã«ä½æããããã«ãªã¯ã¨ã¹ãã¸ã®ããã·ã¥æ¯ã«ãã«ãã»ãã¹ãã®å®è¡å«ãã¦å¦çã 7åç¨åº¦ ã§å®äºãã¾ãããããã®å¦çã«ã¯APKã®ä½æãå種ãã¹ãã®å®è¡ãå«ã¾ãã¾ãã 以åã¯ãç§ãã¡ã®CIã¯ããã·ã¥æ¯ã« åè¨ã§25åç¨åº¦ ããã£ã¦ãã¾ããããã®ããã¯ã2ã¤ã®å½¹å²ã®ç°ãªãJ
ããã«ã¡ã¯ãã¡ã«ã«ãªã®èªååï¼å質ä¿è¨¼ã°ã«ã¼ãï¼Automation & QA Groupï¼éç§°AQAï¼ã§ãèªååãã¶ãã¶ããã¦ãã tadashi0713 ã§ãã ç§ã¯æ®æ®µããã¹ãèªååã»CI(ç¶ç¶çã¤ã³ãã°ã¬ã¼ã·ã§ã³) / CD(ç¶ç¶çããªããªã¼)æ¹åã»ãã®ä»ç¤¾å ã®çç£æ§ãä¸ããããã®èªååãè¡ã£ã¦ãã¾ãã ä»åã¯ãæè¿è¡ãªã£ã¦ãã Android CIã®é«éåã»æ¹å ã«ã¤ãã¦ãç´¹ä»ãããã¨æãã¾ãã â ããã¾ã§ã®Android CI / CD å»å¹´ãç§ã¯JPçã¡ã«ã«ãªAndroidã®CI / CDãµã¼ãã¹ãCircleCI1.0ããBitriseã«ç§»è¡ãã¾ããã Bitrise â Mobile Continuous Integration and Delivery Android Test Night #1 ã¨ããã¤ãã³ãã§ãLTããã¾ããã®ã§ããã¡ãã®ã¹ã©ã¤ããåèã«ãã¦ããã
An evolution of Continuous IntegrationContinuous Integration (CI) is ubiquitous. Virtually all software industries today use the practice to automate their integration processes, helping to ensure that software development has the required quality standards through the various processes, using a Version Control System (VCS) and Automated Tests. Typically, CI uses a build server to implement the co
ããã«ã¡ã¯ãæè¡é¨ã¢ãã¤ã«åºç¤ã°ã«ã¼ãã®éç°(@_litmon_)ã§ãã ã¢ãã¤ã«åºç¤ã°ã«ã¼ãã§ã¯ãã¨ã³ã¸ãã¢ã®æ¹ã ãå¿«é©ã«éçºã§ããç°å¢ãæ´ãããããæ¥ã ã¢ããªã®ãã«ãæéãCIã®å®è¡æéãªã©ãçãããæ¹æ³ã模索ãã¦ãã¾ãã ä»åã¯ãGenymotion On Demandã使ã£ã¦ã¿ãçµæãCIä¸ã§ã®Androidã¢ããªã®instrumentation testã®å®è¡æéã1åçããªã£ã話ããããã¨æãã¾ãã ååã®ãããã ä»åã®è¨äºã¯ãOpenSTFã§Androidã®CIã2åæ©ããã ã®ç¶ç·¨ã®ãããªè¨äºã§ãAndroidã®CIç°å¢ãæ´ãã¦ãã話ã§ãã ã¾ã èªãã§ããªãæ¹ã¯ãã²ä¸ã®è¨äºããèªããã¨ããªã¹ã¹ã¡ãã¾ãã ååã¯ãJenkinsä¸ã§Androidã®ã¨ãã¥ã¬ã¼ã¿ãèµ·åãã¦ä½¿ç¨ããæ¹æ³ãããOpenSTFã¨ãããªã¢ã¼ãã§å®æ©ç«¯æ«ãæä½ãããã¨ãåºæ¥ããªã¼ãã³ã½ã¼ã¹ãã¼ã«ã使ç¨ã
ã¢ãã¤ã«éçºã§å©ç¨ãã¦ããã³ã¼ãã¬ãã¥ã¼botãæè¿ä¹ãæãã話ããã¾ãã ã³ã¼ãã¬ãã¥ã¼botã¨ã¯ ã³ã¼ãã¬ãã¥ã¼botã¯Pull Request(以ä¸PR)ã«å¯¾ãã¦ãéçè§£æããçµæãªã©ãã³ã¡ã³ãããæ©è½ãæã¤ããã°ã©ã ã®äºãæãã¾ãã ã³ã¼ãã¬ãã¥ã¼botãå°å ¥ããã¨ãäºæ«ãªå 容ã¯botãåæã«ææãã¦ããããããã¬ãã¥ã¼ã¯ã¼ãããéè¦ãªå 容ã®ã¬ãã¥ã¼ã«æéã使ããã¨ãæå¾ ã§ãã¾ãã æåãªãµã¼ãã¹ã«HoundãSideCIãªã©ãããã¾ãã Androidéçºã§ã®ã¬ãã¥ã¼botã®å½¹å² Cookpadã®Androidéçºã§ã¯ãä¸è¨ã®é ç®ãPRæ¯ã«å®è¡ãã¦ãã¾ãã PRã®ãã¤ã«ã¹ãã¼ã³ãã§ã㯠FindBugsãå©ç¨ããéçè§£æ AndroidLintãå©ç¨ããéçè§£æ license-tools-pluginãå©ç¨ããOSSã©ã¤ã»ã³ã¹æ å ±ã®ãã§ã㯠ã¢ããªã®ãã«ã deploygate
ã¯ããã« è¿å¹´ãiOSãAndroidåãã®ã¢ããªã±ã¼ã·ã§ã³éçºãçãã«è¡ãããããã¾ã§Webãä¸å¿ã§ãã£ãã½ã¼ã·ã£ã«ã¢ããªéçºããå¾ã ã«ãã©ã¦ã¶ã®æ ãè¶ ããã¨ããã«æã伸ã°ãã¤ã¤ããã¾ããã½ã¼ã·ã£ã«ã¢ããªéçºã®ããã¸ã§ã¯ãã¯ãå¤ãã®å ´åãã¹ã¢ã¼ã«ã¹ã¿ã¼ãã§å§ã¾ãã¾ãããéçºãç¶ãã¦ããã«ã¤ãã¦ãã³ã¼ããå¢ãã端æ«ãå¢ãã人ãå¢ããæ°ãã¤ãã°ãæ©è½ãå®ç¾ããããã®å®è£ ã¨é¢ä¿ãªãé¨åã§ã®ã¿ã¹ã¯ãè¨ãããã£ã¦ããã¾ãããããªã³ã¹ããæè¡çã«è§£æ±ºããããã®ããã¿ãããã°ããã£ã¨æ¬è³ªçãªé¨åã«æéãå²ããã¨ãã§ããã¯ãã§ãã ä»åã¯ãCIï¼ç¶ç¶çã¤ã³ãã°ã¬ã¼ã·ã§ã³ï¼ãã¼ã«ã®Jenkinsã¨å 製ã®QAåããã¦ã³ãã¼ããã¼ã«ãã³ã¼ãã¬ãã¥ã¼ãã¼ã«ã®Gerritãçµã¿åããããç¶ç¶çãªéçºããµãã¼ãããããã¿ä½ãã«ã¤ãã¦ããã¯ã·ã£ã§ã®Androidã¢ããªã±ã¼ã·ã§ã³éçºã®äºä¾ãåãä¸ãã¦ãç´¹ä»ãã¾ãã 1
ã¡ã³ããã³ã¹
ã©ã³ãã³ã°
ãç¥ãã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}