ä¼ç¤¾ã§åè¨éçºãã¦ãã¦ãgitã使ã£ãéçºããã¼ãèãããã¨ã«ãªã£ãã
ãã¢ã·ã§ã¢ã«éçºããé¡ããã¦ãã¦ããã¢ã·ã§ã¢ããã®åãå
¥ãã¿ã¤ãã³ã°ãä½åããããããããã«ãããã¦ãã©ã³ããããã¦ããã
ã©ãããããã¼ã§é²ãã¦ãããã¨ãä¸çªæå¾ã«ãã£ã¦ã¿ã¦æã£ããã¨ãæ¸ããã
ã©ãããããã¼ã§ãã£ã¦ããã
ãªãã¸ããªã®æ§æ
ä¸è¨ã¢ã¸ã¥ã¼ã«ãç¨æããã
- parent
- core
- entity
- common
- web
- batch
- tools
ãã¢ã·ã§ã¢ã«ã¦éçºããã¢ã¸ã¥ã¼ã«ã¯ãcommonãããwebãããbatchãã§ã
ã¢ã¼ãã«ã¦éçºããã¢ã¸ã¥ã¼ã«ã¯ãparentãããcoreãããentityãã
ãã©ã³ã
ãã©ã³ãã¯ãããªæãã§åãã¦ããã
ã¡ãªã¿ã«ãã½ã¼ã¹ç®¡çã¯gitBucketã使ã£ãã
- masterãã©ã³ããâ¦ããªãªã¼ã¹å¯è½ãªç¶æ ã®è³æºã®ã¿ã管çãããçµåãã¹ãå®æ½æã¯ãæ¬ãã©ã³ãããè³æºããªãªã¼ã¹ããã
- mainãã©ã³ããâ¦ãmasterãã©ã³ãã«å¯¾ãã¦ãã¼ã¸ãã¦ãåé¡ããªããã¨ãæ¤è¨¼ãããåãå ¥ããã¹ãæã«æéµãã¹ããå®æ½ããã
- developãã©ã³ããâ¦ãéçºä¸ã«ä½¿ç¨ãããååãã¬ãã¥ã¼ãæ¸ãã§ãããã®ã管çããã
- featureãã©ã³ããâ¦ã1æ©è½åä½ã§åãåºããã¬ãã¥ã¼åã®è³æºã管çããã
developãã©ã³ãã¯ç´ååä½ãã¨ã«âãããªæãã§åãã¦ãã
- develop-groupAãâ¦ã1åç®ç´ååã®æ©è½ã管ç
- develop-groupBãâ¦ã2åç®ç´ååã®æ©è½ã管ç
- develop-groupCãâ¦ã3åç®ç´ååã®æ©è½ã管ç
- develop-archãâ¦ãã¢ã¼ããã¼ã æä¾ã®æ©è½ã管ç
featureãã©ã³ãã¯åæ¥åæ©è½ä½æè ã«ä½ã£ã¦ãããã
ãã©ã³ãã®æµã
ãã©ã³ãã¯âãããªæãã§ãã£ã¦ã£ã¦ãããã
åãå
¥ãã¯developãã©ã³ãããmainãã©ã³ãã¸PullRequestæããå½¢ã§ãã£ã¦ããã£ã¦ãã¦ãåãå
¥ããã¹ããPullRequestãã¦ããdevelopãã©ã³ãã§å®æ½ãã¦ããã
ããããã®å½¹å²ã®äººãå®éã«ãããã¨
ãã¢ã·ã§ã¢ç®¡çè
æ°ããdevelopãã©ã³ããå¿
è¦ã¨ãªãã¿ã¤ãã³ã°ã§ããã©ã³ã追å ä¾é ¼ãåºãã
ï¼ã¢ã¼ããã¼ã ã«ã¦Jenkinsã¸ã®ã¸ã§ã追å ããã³coreçã®ã¢ã¸ã¥ã¼ã«ã®ãã¼ã¸ã§ã³ã¢ãããè¡ããï¼
ææç©ãåãå
¥ãå¾ããã©ã³ãä½æããåãå
¥ãã¾ã§ã«ãã£ãè³æºã®å¤æ´ããç¾å¨ä½æ¥ä¸ã®developãã©ã³ãã¸ãã¼ã¸ããã
developãã©ã³ãã®è³æºã®å質ã確ä¿ãããï¼Jenkinsã®ã¸ã§ããè½ã¡ã¦ããªããã¨ãã³ã¼ãã£ã³ã°è¦ç´éåããªããã¨ããªã©ãï¼
ç´åæã«ã¯ãmainãã©ã³ãã«å¯¾ãã¦pull Requestãåºãã
ãã¢ã·ã§ã¢éçºè
æ©è½åä½ã§featureãã©ã³ããä½æããè³æºãfeatureãã©ã³ãã¸pushããã
å
±éã³ã³ãã¼ãã³ãã¯åæ©è½ã¨ã¯ç°ãªãfeatureãã©ã³ããä½æããã
æ©è½ä½æåã«ã¯å
±éã³ã³ãã¼ãã³ãã®ã¬ãã¥ã¼ãå®äºããdevelopãã©ã³ãã«é©ç¨ãã¦ããç¶æ
ã«ãã¦ããã
æ©è½ä½æå®äºå¾ãdevelopãã©ã³ãã¸pull Requestãåºãã
ãã¢ã·ã§ã¢ã¬ãã¥ã¢ã¼
ãã¢ã·ã§ã¢éçºè
ããã®pull Requestã«ããã¬ãã¥ã¼ä¾é ¼ãåããã¬ãã¥ã¼ããã
ã¬ãã¥ã¼ææã¯pull Requestã®ã³ã¡ã³ãæ©è½ã使ç¨ããã
ææç©ã«åé¡ããªããã¨ã確èªå¾ãpull Requestãæ¿èªããdevelopãã©ã³ãã¸å¤æ´ãé©ç¨ããã
対象æ©è½ããµã³ããªã³ã°ã¬ãã¥ã¼å¯¾è±¡ã¨ãªã£ã¦ããå ´åã¯ãpull Requestãæ¿èªããããµã³ããªã³ã°ã¬ãã¥ã¼ä¾é ¼ãåºãã
åãå ¥ãå´ã½ã¼ã¹ã¬ãã¥ã¼
ãã¢ã·ã§ã¢ã¬ãã¥ã¢ã¼ããã®ä¾é ¼ãåããã½ã¼ã¹ã³ã¼ãã¬ãã¥ã¼ãè¡ãã
ã¬ãã¥ã¼ææã¯pull Requestã®ã³ã¡ã³ãæ©è½ã使ç¨ããã
ææç©ã«åé¡ããªããã¨ã確èªå¾ãpull Requestãæ¿èªããdevelopãã©ã³ãã¸å¤æ´ãé©ç¨ããã
åãå ¥ãæ å½è
- mainã¸ã®pull Requestãåããè³æºã®å 容ã確èªããã
- ææãããå ´åã¯ãpull Requestã®ã³ã¡ã³ãæ©è½ã使ç¨ãã¦ææãã ãã
- ææç©ã«åé¡ããªããã¨ã確èªå¾ãpull Requestãæ¿èªããmainãã©ã³ãã¸å¤æ´ãé©ç¨ããã
- mainãã©ã³ãã«ã¦ãã¼ã¸ã«ããåé¡ãçºçããªããã¨ã確èªããã
- mainãã©ã³ãã«ã¦åãå ¥ããã¹ããå®æ½ããã
- ä¸å ·åãçºçãããã ä¸å ·åã»ä»æ§å¤æ´ãçºçããã¨ãã¯å¥ã§ãã±ããã起票ããã
- masterã¸å¤æ´ããã¼ã¸ããããã¼ã¸å¾ãmasterãã©ã³ãã®ã¿ã°ãåãã
ã¢ã¼ããã¯ã
ã°ã«ã¼ãåãæ¿ãã®ã¿ã¤ãã³ã°ã§ãparentãcoreã®ãã¼ã¸ã§ã³ãä¸ããã
åãå
¥ãå®äºå¾ãä¸è¦ã¨ãªã£ãJenkinsã¿ã¹ã¯ã¯åé¤ããã
åã¢ã¸ã¥ã¼ã«ã®ãã¼ã¸ã§ã³ã«ã¤ãã¦
1ï¼develop-groupAä½æããåãå ¥ãã¾ã§
- parentã»coreã»entityï¼0.1.0ã使ç¨ãããç·æ¥ãªãªã¼ã¹ãããã°ã0.1.1ã0.1.2ã¨ãã¼ã¸ã§ã³ã¢ãããè¡ãã
- commonï¼ã0.1.0-SNAPSHOTããæå®ããã
- webã»batchï¼ã0.1.0-SNAPSHOTããæå®ããã
develop-groupAåãå ¥ãå®äºæ
- parentã»coreã»entityï¼åãå ¥ãæã®ãã¼ã¸ã§ã³ããã®ã¾ã¾ä½¿ç¨ããã
- commonï¼ã0.1.0ããæå®ããã
- webã»batchï¼ã0.1.0ããæå®ããã
3ï¼develop-groupBä½æããåãå ¥ãã¾ã§
- parentã»coreã»entityï¼0.2.0ã使ç¨ãããç·æ¥ãªãªã¼ã¹ãããã°ã0.2.1ã0.2.2ã¨ãã¼ã¸ã§ã³ã¢ãããè¡ãã
- commonï¼ã0.2.0-SNAPSHOTããæå®ããã
- webã»batchï¼ã0.2.0-SNAPSHOTããæå®ããã
4ï¼develop-groupBåãå ¥ãå®äºæ
- parentã»coreã»entityï¼åãå ¥ãæã®ãã¼ã¸ã§ã³ããã®ã¾ã¾ä½¿ç¨ããã
- commonï¼ã0.2.0ããæå®ããã
- webã»batchï¼ã0.2.0ããæå®ããã
5ï¼develop-groupCä½æããåãå ¥ãã¾ã§
- parentã»coreã»entityï¼0.3.0ã使ç¨ãããç·æ¥ãªãªã¼ã¹ãããã°ã0.3.1ã0.3.2ã¨ãã¼ã¸ã§ã³ã¢ãããè¡ãã
- commonï¼ã0.3.0-SNAPSHOTããæå®ããã
- webã»batchï¼ã0.3.0-SNAPSHOTããæå®ããã
6ï¼develop-groupCåãå ¥ãå®äºæ
- parentã»coreã»entityï¼åãå ¥ãæã®ãã¼ã¸ã§ã³ããã®ã¾ã¾ä½¿ç¨ããã
- commonï¼ã0.3.0ããæå®ããã
- webã»batchï¼ã0.3.0ããæå®ããã
å®éã«ãã£ã¦ã¿ã¦
ãã¡ã ã£ããã¨
gitã®ãã¼ã¸ã§ã³ç®¡çãmavenã使ã£ããã¼ã¸ã§ãã³ã°ã§ã(ãã¢ã·ã§ã¢ã ãã§ãªããã¼ã å ¨ä½ã§)ã¡ã³ãã¼éã§ã®ç¥èã®å·®ãããããã¡ãã®æå³ããã¾ãã¤ããããªãã£ãã¨ããããããããã£ãããã®çµæãããããå ´åã¯ã©ãããã®ãã¨ãã質åãå¤ãã¦ãç§ãç¸æãä¸å¿ è¦ãªã¨ããã«æéãããã¦ãã¾ããã¨ã«ãªã£ãã
ç¹ã«ãä»åã¯éçºã¯ãã¢ã·ã§ã¢ã§ãé¡ãåãããã«ï¼éç¨ããã¼ããããã¾ãããã£ã¦ããã¥ã¡ã³ãã ãç¨æãã¦ãã¦ãï¼éçºãããããå½¢ã«ãªã£ã¦ãã¾ãããã¢ã·ã§ã¢ã«å¯¾ãã¦ããåãå
¥ããã¼ã ã«å¯¾ãã¦ãããã£ãããã¡ããã¨èª¬æããä¼ãè¨ãã¦ãã¬ãããªè³ªåãåãä»ããã°ããã£ããªã¼ã¨æãã
ï¼ãããã£ãä½è£ãéçºæºåæéã«ãªãã£ãã®ããããã©ãããï¼
ãã¨ãã¡ããã¨ããã¼ãã¾ããã¨ãã«ãéçºè
å´ã®ç«å ´ããã¿ã¦ã©ããããµãã«ããã®ããããããããã£ã¦ããã®ãã¡ããã¨èãã°ããã£ãã
ï¼gitã¨mavenãå°å
¥ãããã¼ã ã®äººããç¸è«å½¹çãªã¢ã¼ãããã¼ã ãªã¼ãã¼ãå
製ãã¼ã ã®ãªã¼ãã¼ã«ã¯éç¨ããã¼ãã¬ãã¥ã¼ãã¦ããã£ããã©ãï¼
æè¦ã伺ããã«ããã¦ããããããã§ãã£ã¦ãã ãããã¨ãªãã¨ããã£ã±ãããããªãã¨ãã«ä¸æºã®åãå
ããã¡ãã«ããã®ã§ãäºåã«ããããããï¼ãâããããã©ãããã°ããããããã§ãããï¼ãã£ã¦ããã¨ãããã¹ãã ã£ãããã¡ãã¨æè¦ãåãå
¥ããããã§ããåæã«æ±ºãããããããã«ããããã¼ããããã¡ããã¨ä¸ç·ã«èããããã¼ãã«ããã ãã§ãæèãããªãå¤ãã£ãã¨æãã
ãã®ã¸ãã¯ç§ã®ãã¥ã¼ãããã£ã¼é«ãã¦ããå¿
è¦ããã
ããã£ããã¨
ç¥èãå®éã®éçºã«é©ç¨ã§ããã®ã¯ããªãåå¼·ã«ãªã£ãã
å®éã«ãéç¨ããã¼èããã¨ããããã¡ã®ããã¸ã§ã¯ãã¯åãå
¥ãããããããåãå
¥ããã¹ãã¯ãããã£ã¦ãã£ã¦ãããã£ã¦æãã§ãåè¨ï¼ãã¢ã·ã§ã¢ã£ã¦ããç°å¢åã§ã®ããã¼ãèãããã¨ãã§ããã®ã¯ãããªãè¯ãã£ãã
ï¼ã ããã¨ãã£ã¦ãããã¸ã§ã¯ãç¹æ§åºæã®ãç¹æ®µç¹æ®ãªãã¨ããã£ãã¤ããããªããã©ãããï¼
次åã¸ã®ç¥è¦ãã¾ã£ãã®ã§ã次åã¯ç¹ã«âãã¡ããã¨ããããã
- éçºãå§ã¾ãã¾ã§ã«ãåºæ¬çãªgitã®ä½¿ãæ¹ã¨mavenã®ä½¿ãæ¹ãã¡ã³ãã¼ã«ç¥ã£ã¦ãããã
- éç¨ããã¼ã¯æåã«ãã£ãã説æããã¦ããããããã¿ã¼ã³ã§ã¯ãããã£ã対å¦ãããã¨ããã®ãç¥ã£ã¦ãããã
- éç¨ããã¼ã説æããã¨ãã«ãã¡ããã¨éçºè å´ã§ä½ã«å°ãããããã©ãããã°ãã£ã¨ãããªãã®ããèãã
2015/07/27 追è¨
ããã¤ãåå¿ããã ããã®ã§ãããã追è¨
gitãå°å ¥ãããã¨æã£ãçç±
ã²ã¨ã¤åã®ããã¸ã§ã¯ãã§svnã§éçºãã¦ã¿ã¦ãã³ããããæ°è»½ã«åºæ¥ãªãã£ãããã¬ãã¥ã¼ç¯å²ãããããããªãã£ããããã®ãçµé¨ã¨ãã¦ããã£ããããgit使ã£ã¦ã¿ã( ´'Ï'` )
ãã¨ããã¢ã·ã§ã¢ä»æ ç¹ã§åãå
¥ãã¨ããã£ãã®ã§ããããã¯ãã¦ã©ã¼ãã¼ã¯å³ããï¼ãã¼ã¸ã¨ããå³ãã¿ã ãªã¼ãã¨ããã®ããã£ãã
ãã ãåæã¨ãã¦gitçµæ§ä½¿ããã¡ã³ãã¼ãå¤ãã¨æã£ã¦ãã¨ããã®ãããã
ï¼åã®ããã¸ã§ã¯ãã§ã¯gitãã£ã¦ãã¨ããã²ã¨ãããã¨ãããï¼
developãã©ã³ãå¤ããªãï¼
ããã¯ã確ãã«ãã®éãã§ãã¡ã³ãã¼ãæ··ä¹±ãããåå ã®ã²ã¨ã¤ã«ãªã£ãã
ãã ããã¢ã·ã§ã¢ããã®åãå
¥ãæã«ãæ¤åï¼ãã¹ããããªããã°ãããªãã£ãã®ã§ããã©ã³ãããããªãã¨åãå
¥ããã¹ã対象ãããããªããªãï¼åãå
¥ããã¹ãå®è¡ç°å¢ããã¡ããã¡ãã«ãªãæãããã£ãã®ã§ããããã¦ããæãã§ãã
ããã«ããæ¡ãããã°ããã¸ã§æãã¦ããã ãããï¼ï¼
ãã¾ã
åã¡ã³ãã¼ã«ã¡ããã¨gitã¨mavenã使ãæå³ãä¼ãã£ã¦ãããã¨ããã¨ãä¼ãã£ã¦ã¾ããã§ããã
mavenã§ã¯ãªãproject.xmlã¨.classpathã§ä¾åé¢ä¿ã¨ããã¸ã§ã¯ãæ§æã管çããæ¹ãããã¨ããã²ã¨ãå¹³æ°ã§ããã
å
¬ã«ã§ã¯ãªãå人çã«æå³ã説æããã²ã¨ãä½äººããããã©ããã£ã±ããã¾ã¾ã§ã®ããæ¹ãå¤ãããã¨ã«æ¸æãï¼ï¼ï¼ãããæãã ã£ãã
ãã£ã¨äºåã«gitã¨mavenã®è¯ãã¿ãããªãã®ãä¼ãããã¦ããã°ããã£ããã ãã©ãã¨ããã®ãåçã
ï¼ä¼ãã¦ã¯ã¿ããã©ããã£ã±ãåãå
¥ãã¦ããããªãã£ãã¨ããã®ã¯ãªãã¨ä¿¡ããããã次ã¯ãããé å¼µã£ã¦ãããããï¼
ã©ããã£ã質åãå¤ãã£ãã
å人çã«ã¯ã"ããããå ´åã¯ã©ãããã®ãã¨ãã質åãå¤ãã¦ã"âãã®é¨åãã©ããªæãã ã£ãã®ãã¨ã @syobochim ãããããã«å¯¾ãã¦ã©ãããã°è¯ãã£ãã¨æã£ãã®ãã¨ããèªã¿ããã£ããªã¼ã¨æãã¾ããããã£ã¨ãã®"ããããå ´å"ã¯ã¿ããªå
±éã®æ©ã¿ãªããããªããã¨æãã®ã§ï½
— Yusuke Ikeda (@yukung) 2015, 7æ 27
ãã¨ãã°ãåºã¦ãã質åã¯ãããªãã®ãããã¾ãããã
Q. æ©è½ãã¨ã«ãã©ã³ããåãæ³å®ã ããæ¥åã½ã¼ã¹ãããªãã¦ã¦ã¼ãã£ãªãã£ã®å ´åã¯ã©ãããã°ããããã¦ã¼ãã£ãªãã£ã«é¢ãã¦ã¯ä»ã®æ¥åã½ã¼ã¹ã§ã使ãã®ã§ãæ©è½åä½ã§ãã©ã³ããåãã¨ä»ã§ä½¿ããªãã
A. ã¦ã¼ãã£ãªãã£ã¯äºåã«ãã©ã³ããåã£ã¦ãæ¥åã½ã¼ã¹ãæ¸ãå§ããåã«ã¬ãã¥ã¼å®äºããã¦developã¸ãã¼ã¸ãã¦ããã¦ãã ããã
Q. commonã«è¨è¼ãã¦ããentityã®ãã¼ã¸ã§ã³ãåéçºè
ããããã®ã¯ãããã«ããã®ã§ã¯ãªãããããããããã¼ã¸ããã¿ã¤ãã³ã°ã§ãã¾ããããªãã£ãå ´åã¯ã©ãããã®ãã
A. ãã¡ãã§ä¾åé¢ä¿ã®ãã¼ã¸ã§ã³ãä¸ãã¦ãã¾ãã¨ããªãã¸ããªã®ãã©ã³ããæ¥ã«ã³ã³ãã¤ã«ã¨ã©ã¼ã«ãªãå¯è½æ§ãããã¾ãããã¡ãã¨ãã©ã®ãã¼ã¸ã§ã³ã®ã¢ã¸ã¥ã¼ã«ãèªåããã¾ä½¿ã£ã¦ããã®ãã¨ãããã¨ãæèãã¦éçºãã¦ããã ãããã¼ã¸ããã¨ãã¯ææ°ãã¼ã¸ã§ã³ã®ã¢ã¸ã¥ã¼ã«ãæå
ã§é©ç¨ããåä½ç¢ºèªããã¦ããèªåã®ææã§Pushãã¦ãã ããã
Q. developAãã©ã³ãããdevelopBãã©ã³ãã¸ã®è³æºã®ãã¼ã¸ã¯å¤§å¤ãããªããã
A. åºæ¬çã«æ¥åæ©è½åä½ã§ç´åãã¦ãããã®ã§ã競åã¯å°ãªãæ³å®ã§ãããã©ã³ããåããã«ä½æ¥ããã¨ãç´å対象ãã©ããªã®ãããããªããªã£ã¦ãã¾ãã®ã§ãåãåãããæ¹ã大å¤ã ã¨æãã¾ãã
ãªã©ã§ãããã
ãã ãããã£ã¦ãããããæåã«wikiã«æ¸ãã¦ããå¿
è¦ãã£ãã®ãã¯ãè¬ãã¨ãããå¿
è¦ãªãæ°ããã¦ã¾ãããã
èããã¦ãããã¨ã¯ãå¥ã«ç¹æ®ãªãã¿ã¼ã³ã§ã¯ãªãã¨æãããã©ãã¾ã§æ¸ãã¦ãããã°æºè¶³ãã¦ããããã®ãã¯ãããã¾ããããã
ãã¾ããããã¼ã決ãã¦ã¾ããããã£ã¦ãããã¨ã¯ã¨ã¦ãã·ã³ãã«ã§ã
- ã½ã¼ã¹ã®å¤æ´ã¯featureãã©ã³ãã§è¡ããã¬ãã¥ã¼å®äºå¾ã«ãã¼ã¸ãã¦ãã ããã
- coreãentityã«å¤æ´ãå ããã¨ãã¯mavenãã¼ã¸ã§ã³ãä¸ãã¦æä¾ãã¦ãã ããã
- èªåã管çãã¦ããã¢ã¸ã¥ã¼ã«ã¯èªåã§ä¾åã¢ã¸ã¥ã¼ã«ã®ç®¡çããã¦ãã ãããï¼entityã¢ã¸ã¥ã¼ã«ã«å¤æ´ããã£ãã¨ãã¯commonã¢ã¸ã¥ã¼ã«ã®ãã¼ã¸ã§ã³ã¢ãããåéçºè ã®ã¿ã¤ãã³ã°ã§é©ç¨ãï¼
- ãã©ã³ãã¯çµµã®éãã«(futureã¯developããã)ãã£ã¦ãã ããã
ãã¡ããã¨ç解ãã¦ããã°ãã¾ããã£ãããããªãããªãã¨æã£ã¦ã¾ãã
ãã ããã£ã±ãæåã«ãã¡ãã¨èª¬æãã¦ãã¡ããã¨åéçºè
ã«ç解ãã¦ãããå¿
è¦ã¯ãã£ããªãã¨ããæãã§ãããã