ããã«ã¡ã¯ï¼ããã¹ã¯ããã¾ãããå°å±±ã§ããéçºé¨éã§ã¦ã¨ãã£ã³ã°ã°ã«ã¼ãã®ãªã¼ãã¼ããã£ã¦ãã¾ãã
ä»åã¯ç§ãèããæ°ããGitã®ãã©ã³ãã¢ãã«ãGitFeatureFlowãã«ã¤ãã¦ãä¼ããããã¨æãã¾ãã
GitFeatureFlowã¨ã¯
Gitã使ã£ãéçºãããå¿«é©ã«ãããããGitFlow,GitHubFlow,GitLabFlowã§ã¯ãªããæ°ããGitã®ãã©ã³ãã¢ãã«ãGitFeatureFlowããèãã¾ããã
Gitãå©ç¨ãã¦éçºãè¡ãå ´åãGitã®ãã©ã³ãã¢ãã«ãã©ããã¹ããæ©ããã¨ãå¤ããã¨æãã¾ããç§èªèº«ããã®æ©ã¿ã«ç´é¢ãã¾ãããæ¢åã®ãã©ã³ãã¢ãã«ã§ã¯åé¡ã解決ã§ããªãã£ãã®ã§ãGitFeatureFlowã¨ããæ°ãããã©ã³ãã¢ãã«ãèããã¦ã§ãã£ã³ã°ã°ã«ã¼ãã«å°å ¥ãä»ã§ã¯å¿«é©ã«Gitéçºãè¡ã£ã¦ãã¾ãã
GitFeatureFlowã§ä½¿ã主ãªãã©ã³ãã¯ãã®3ã¤ã§ãã
masterï¼æ¬çªç°å¢ã«ãªãªã¼ã¹ãããã©ã³ã
featureï¼æ¡ä»¶ãã¨ã«masterããåã£ããã©ã³ã
test-envï¼ãããã¯stg-envï¼ï¼ãã¹ãç°å¢ã¨ï¼stg-envã¯ã¹ãã¼ã¸ã³ã°ç°å¢ã¨ï¼åæããã¦ãããã©ã³ã
ãã®ãã©ã³ãã¢ãã«ã®ç¹å¾´ã¯ä¸è¨ã®éãã§ãã
æ¹ä¿®æ¡ä»¶ãã¨ã«featureãã©ã³ããã²ã¨ã¤å²ãå½ã¦ããã¹ãç°å¢ã¨åæããã¦ãããã©ã³ãã«å¯¾ãã¦åå¥ã«featureãã©ã³ãããã¼ã¸ãã (GitFlowã¯è¤æ°ã®featureãã©ã³ããå«ãã§ããdevelopãã©ã³ãããã¼ã¸ãã)
åfeatureãã©ã³ãã¯ç¬ç«ãã¦ãããããæ¥ãªãªãªã¼ã¹ã®çºçããªãªã¼ã¹æ¥å¤æ´ã«ã対å¿ãããã
ããããã£ãããå 容ãã¾ã¨ããSlideShareãè¦ã¦ã¿ã¦ãã ããã
ã¾ã ãããããããªãæ¹ãå¤ãã¨æãã¾ãã®ã§ãããããå ã¯ç§èªèº«ã®ä½é¨ããç´¹ä»ããªãããGitFeatureFlowã®ãã¨ããä¼ããã¦ããã¾ãã
GitFeatureFlowèªçã®èæ¯
ç§ããããªã³ã«å ¥ç¤¾ãã2014å¹´æç¹ãã¦ã¨ãã£ã³ã°ã°ã«ã¼ãã§ã¯Gitã§ã¯ãªãSVNã使ã£ã¦ãã¾ããã
ããã§SVNããGitã¸ã®ç§»è¡æã«ãã©ã®ãã©ã³ãã¢ãã«ãé¸ã¼ããèãã¾ããã
ã¦ã¨ãã£ã³ã°ã°ã«ã¼ãã®æ¹ä¿®æ¡ä»¶ã®è¦æ¨¡ã¯å¤§å°ãã¾ãã¾ãHTMLä¸ã®è¡¨ç¤ºæè¨ãå¤æ´ããã¨ããå°ãããã®ãããåå¹´ããã¦æ©è½ä¿®æ£ãè¡ããããªå¤§è¦æ¨¡ãªãã®ã¾ã§ããã¾ãããããè¤æ°ã®æ¡ä»¶ãåæã«èµ°ã£ã¦ãããåºæ¬çã«æ¯æ¥ãªãªã¼ã¹ãè¡ããã¦ããç¶æ³ã§ãã
ãã®ãããæ¯æ¥ãªãªã¼ã¹ããã¹ã¿ã¤ã«ã«åãã¦ããªãGitFlowã¯ããããè«å¤ï¼æ¯æ¥featureãã©ã³ããä½æããmasterãã©ã³ãã¨developãã©ã³ãã¸ã®ãã¼ã¸å¾ã«åé¤ãããã®ã¯éª¨ã®æããä½æ¥ã§ãï¼ãç§èªèº«ã¯ã¯ã¼ã¯ããã¼ãã·ã³ãã«ãªGitHubFlowãå¸æãã¦ãã¾ããã ãã ããããªã³ã§ã¯å質åä¸ã®ããã«ãéçºå¾ã«ãå質管ç室ãã¨ããéçºã¨ã¯å¥ãã¼ã ããã¹ããå®æ½ãã¦ããæ¬çªç°å¢ã¸ã®ãªãªã¼ã¹ããã¦ãã¾ãããã®ãããéçºè¦æ¨¡ã«ãããã¾ãããã¹ãå®æ½ããã³ã¼ãä¿®æ£ã¾ã§ã«ãããæéã¯2ã3é±éãçæéã§ã®ãã¹ãã¨ãªãªã¼ã¹ãæ³å®ãã¦ããGitHubFlowã®ã¹ãã¼ãæã§ã¯å¯¾å¿ã§ãããæ念ãã¾ããã
GitFlowã§ããã¡ãGitHubFlowã§ããã¡ã
ãªããèªåã§ä½ãã°ãããããªãï¼ï¼â¦â¦ã¨ããæµãã§GitFeatureFlowãèªçãã¾ããã
GitFeatureFlowã¨ä»ã®gitãã©ã³ãã¢ãã«ã¨ã®éã
GitFeatureFlowã¯åè¿°ã®éããfeatureãã©ã³ããä¸å¿ã¨ãªã£ã¦ãåæ ããããç°å¢ç¨ã®ãã©ã³ãã«ãã¼ã¸ãã¦ããã ãã®ã·ã³ãã«ãªãã©ã³ãã¢ãã«ã«ãªã£ã¦ãã¾ãã
ã¾ãã大å°ã©ããªè¦æ¨¡ã®æ¡ä»¶ãç·æ¥ãªãªã¼ã¹ãæ··å¨ãã¦ãã¦ããfeatureãã©ã³ããç¬ç«ãã¦ãããããä»ã®ãã©ã³ãã¨ã®ãªãªã¼ã¹æ¥ãæ°ã«ããå¿ è¦ããªãããã«èãã¦ããã¾ãã
ããã¾ã§ç§è¦ã§ãããågitãã©ã³ãã¢ãã«ãæ¯è¼ãã¦ã¿ã¾ããã
GitFeatureFlowã¯ãç¾å¨GitFlowã使ã£ã¦ãã人ããGitHubFlowã§éçºãè¡ããããã©ãä¿®æ£ããæ¬çªãªãªã¼ã¹ã¾ã§ã®éã«æéãæãã£ã¦ãã¾ããããªãã¼ã ã®æ¹ã«ããããããªã®ã§ãä¸åº¦ã試ããã ããã
å®éã«éç¨ãã¦ã¿ãææ³
ã¦ã¨ãã£ã³ã°ã°ã«ã¼ãã§ã¯ãã®ããã¼ãå°å ¥ãã¦ããã3å¹´å¼±ã2500å以ä¸ãªãªã¼ã¹ãè¡ã£ã¦ãã¾ãããããã®ããã¼ãåå ã§ã®ãã°ã¯ä¸åº¦ãåºã¦ãã¾ããã1å¹´ãããã®ããã¸ã§ã¯ããã1æéã»ã©ã§ä»ä¸ããç·æ¥ãªãªã¼ã¹ã¾ã§ãåé¡ãªãè¡ãã¦ãã¾ãã
è¤æ°æ¡ä»¶ãåæã«éçºãã¦ãã¦ããä»ã®æ¡ä»¶ãæ°ã«ããäºãªãããªãªã¼ã¹æ¥ãå¤æ´ã§ããå¿«é©ãããã¾ãã¾ããã
GitFeatureFlowå°å ¥å¾ã¯ä¼ç»æ å½è ã¨ã®ã³ãã¥ãã±ã¼ã·ã§ã³ãã¹ã ã¼ãºã«ãªã£ã
1çªããã£ãç¹ã¯æå¤ã«ã!?ãæ¡ä»¶ãèãããã£ã¬ã¯ã¿ã¼ã¨ã®ä»²ããããªã£ããã¨ã§ãã ä»ã¾ã§ã®SVNãGitFlowãæ¡ç¨ããå ´åãè¤æ°æ¡ä»¶ãåæã«éçºããã®ããªãªã¼ã¹æ¥ã®å¤æ´ãããã®ã容æã§ã¯ããã¾ããã§ããããã®ããããã£ã¬ã¯ã¿ã¼ã¯1ã¤ã®æ¡ä»¶ã§è¦ä»¶ãæºããå¿ è¦ããããåªå 度ã®ä½ãæ©è½ãçãè¾¼ã¾ãããå¾ãªããªã£ã¦ãã¾ããã ãã¡ããéçºã¨ãã¦ã¯åªå 度ã®é«ãæ©è½ããéçºãããã®ã§ãè¨è«ã«ãªããã¨ãããã¾ããã
ä¸æ¹ãGitFeatureFlowã¯ãè¤æ°æ¡ä»¶ãåæã«éçºããã®ã容æãªã®ã§ãè¤æ°ãã§ã¼ãºã«åãã¦ãªãªã¼ã¹ããã®ãå¯è½ã«ãªãã¾ããããã®ãããåªå 度ã®é«ãæ©è½ã ãããªãªã¼ã¹ããåªå 度ã®ä½ãæ©è½ã¯æ¤è¨ããã¨ãããã¨ãã§ãããã£ã¬ã¯ã¿ã¼ã¨éçºã®åæ¹ãç´å¾ããç¶æ ã§ãªãªã¼ã¹ã§ããããã«ãªãã¾ããã
ãããã«
ä»åã¯æ°ããªGitã®ãã©ã³ãã¢ãã«ãç´¹ä»ããã¦é ãã¾ããããçåã質åãªã©ããã°SlideShareã«ã³ã¡ã³ãé ããã°ã¨æãã¾ãã
ã¾ããç§éã®ãã¼ã ã¯DevOpsãå®ç¾ããããã«åµæ工夫ãè¡ããéçºã»éç¨å¹çåãè¡ã£ã¦ããã¾ããDevOpsã¯è²»ç¨å¯¾å¹æãé«ããã ãã§ã¯ãªããéçºèªä½ã楽ããå¿«é©ãªãã®ã«å¤ãã¦ããã¾ãããããããå°ãã§ã誰ãã®å½¹ã«ç«ã¦ããããªæ å ±ãæä¾ãã¦ããããã¨æãã¾ãã
ãç¥ãã
ãããªã³ã§ã¯ä¸ç·ã«åã仲éãåéãã¦ãã¾ãã