ãŸããäžè¬çã«ãããžã§ã¯ãã«ã€ããŠãç§ãã¡ã¯ãITéšéã«å·šå€§ãªã¹ã¿ãããããŠãçžäºã«æå°éã®çžé¢é¢ä¿ã«ããå€ãã®é åã«åå²ãããŠãã倧èŠæš¡ãªå瀟ã§å®å šãªéçºããã»ã¹ãæ§ç¯ããŸãããåŸæ¥ããããã®é åã¯3ã€ã®äž»èŠãªã°ã«ãŒãã«åããããšãã§ããŸããæåã®éåžžã«å€§ããªã°ã«ãŒãã¯ãäž»ã«JavaïŒãããžã§ã¯ãã®90ïŒ ïŒã§äœæããããã£ãã·ã¥ã¬ãžã¹ã¿ãœãããŠã§ã¢ã§ããã³ãŒãéã®èŠ³ç¹ãã2çªç®ã«åºç¯ãªã·ã¹ãã ã°ã«ãŒãã¯SAPã¢ããªã±ãŒã·ã§ã³ã§ãããããŠæåŸã«ã3çªç®ã®ãããã¯ã¯ãããŒã¿ã«ãšã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®ãå¯ãéããã§ãããäŒç€Ÿã®ã¯ã©ã€ã¢ã³ãåãã®ããŸããŸãªå€éšãµã€ãããããã®ãµã€ãåãã®ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãããã³å éšãªãœãŒã¹ïŒå°å£²æ¥è ã®ã¹ã¿ããåãã®ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãšWebããŒã¿ã«ïŒã§ãã
ãããžã§ã¯ãã®ã¯ã©ã€ã¢ã³ãã§ããæ å ±ã»ãã¥ãªãã£éšéã¯ã3ã€ã®ã°ã«ãŒããã¹ãŠã«ã€ããŠãããªãæšæºçãªæ¹æ³ã§äžè¬çãªã¿ã¹ã¯ãçå®ããŸããããè匱æ§ãæžããã瀟å ã§äœæããããã¹ãŠã®ã·ã¹ãã ã®å®å šãªéçºãå®çŸããããããããå®éã«ã¯ãç¹å®ã®éšéããšã«ããã¹ãŠãä»ã®ååã®ãããšã¯éåžžã«ç°ãªã£ãŠèŠããŸãããå®å šãªéçºãå®è£ ãããã¹ãŠã®ã¹ãããã§ã100äžã®ç°ãªã劥åãããªããã°ãªããªãã£ãããã§ããããã€ãã®ãã¥ã¢ã³ã¹ã¯ããã»ã¹ãæ§ç¯ããã®ã«åœ¹ç«ã¡ãŸããããéã«ä»ã®ãã¥ã¢ã³ã¹ã¯å¹²æžããŸãããçµå±ãã»ãšãã©ã®ãããžã§ã¯ãã§å€ããå°ãªããäžè¬çãªã¢ãããŒããäœæããããšãã§ããŸããã
ãã®ã¢ãããŒãã¯å¯èœãªéãåçŽã«çå®ããŸããããã¹ãŠã®éçºè ã«ãšã£ãŠæãé¢é£æ§ã®é«ãã³ãŒããã¹ãã£ã³ããŸãã Gitflowã®èŠ³ç¹ããèšãã°ãSAPãé€ããã¹ãŠã®ãããžã§ã¯ãã°ã«ãŒããGitflowã«éçºã®ãã©ã³ããæã£ãŠããå Žåãã¡ã€ã³ã®éçºãã©ã³ãã¯ã¹ã±ãžã¥ãŒã«ã«åŸã£ãŠã¹ãã£ã³ãããŸãã
ãã ãããã€ãã®ããã«ãã©ã®ã«ãŒã«ã«ãäŸå€ããããŸããããŸããŸãªçç±ãããäžè¬çãªã¢ãããŒãããçŸç¶ã®ãŸãŸãã©ãã«ã§ãé©çšããããšã¯ã§ããŸããã§ããããŸããå¿ èŠã«å¿ããŠãããã€ãã®ããã°ã©ãã³ã°èšèªã®æã詳现ãªåæãå®è¡ã§ããããã«ããããšããäºå®ã®ããã«ãããŒã«ïŒã³ãŒãã¢ãã©ã€ã¶ãŒïŒã«ã¯ããã€ãã®å¶éããããŸãããããã£ãŠãJavaã®å Žåãåæãã€ãã³ãŒãã¯ãœãŒã¹ã³ãŒãã®ãã€ãã³ãŒããããã¯ããã«æ·±ããªããŸãããããã£ãŠãJavaãããžã§ã¯ããã¹ãã£ã³ããã«ã¯ããã€ãã³ãŒããäºåã«çµã¿ç«ãŠãŠãããåæã®ããã«éä¿¡ããå¿ èŠããããŸãããC ++ãObjective Cãããã³iOSã¢ããªã±ãŒã·ã§ã³ã®å Žåãã¢ãã©ã€ã¶ãŒã¯ãã«ã段éã§ããã»ã¹ã«çµã¿èŸŒãŸããŸããããŸãããã¹ãŠã®ãããžã§ã¯ãã®éçºè ããã®ããŸããŸãªåå¥ã®èŠä»¶ãèæ ®ã«å ¥ããå¿ èŠããããŸããã以äžã§ã¯ãããŒã¿ã«ãšã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®ããã»ã¹ãã©ã®ããã«æ§ç¯ãããã«ã€ããŠèª¬æããŸãã
ããŒã¿ã«ãšã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³
ãããã®ã¢ããªã±ãŒã·ã§ã³ã¯ãã¹ãŠ1ã€ã®è«çã°ã«ãŒãã«ãŸãšããããŠããããã«èŠããŸãããå®éã«ã¯ã²ã©ãæ··ä¹±ã§ããã 120以äžã®ããŒã¿ã«ããããŸããïŒïŒïŒãäŒç€Ÿã¯éåžžã«å€§ãããå€ãã®ããžãã¹ã管çãæè¡éšéãããããããããèªåã®ããŒã¿ã«ãšã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãå¿ èŠã§ãããšå€æããããšããããŸãããã®ããŒã¿ã«ãšã¢ããªã±ãŒã·ã§ã³ã¯äœæããããã°ããã®é䜿çšãããåŸãå®å šã«ç Žæ£ãããŸãããã®çµæããããã®ã¢ããªã±ãŒã·ã§ã³ã®éçºè ã§ããã³ãŒãããŒã¹ã®åäžã®ãªã¹ããæã£ãŠããªãã£ããããåæ段éã§ã¯ã顧客ã®ã€ã³ãã³ããªãå®è¡ããå¿ èŠããããŸãããããšãã°ããã®ã°ã«ãŒãã®ãªããžããªã管çããããã«ãéçºè ã¯ç°ãªã管çè ãæã€2ã€ã®GitLabã䜿çšããŸãããããã«ãããŒã¿ã«ãšã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®äžã§ããããžã§ã¯ãã®å€§éšåã¯å€éšéçºã䜿çšããŠå®è£ ãããŸããããã®ããããªãªãŒã¹ææãè¿ã¥ããšãè«è² æ¥è ã¯æ°ããããŒãžã§ã³ã®ãœãŒã¹ã³ãŒããã»ãŒUSBãã©ãã·ã¥ãã©ã€ãã§äŒç€Ÿã«è»¢éããããšããããããŸããããã®çµæãå瀟ã¯ããŸããŸãªã¢ããªã±ãŒã·ã§ã³ã®åç©åãæã¡ãã³ãŒããå®å šã«æ··ä¹±ããŠããŸããããã¹ãŠã®ãããžã§ã¯ãã®ãªã¹ããäœæãããããã®è²¬ä»»è ïŒæè¡ææè ãããŒã ãªãŒããŒïŒããã¹ãŠèŠã€ããŠãäž»èŠãªé¡§å®¢ã§ããæ å ±ã»ãã¥ãªãã£éšéã«åæããå¿ èŠããããŸããããããã®ãã¡ãåæããŸãã
ãã®çµæãåæçšã«æ¬çªã·ã¹ãã ãšãµããŒããããŠãããœãããŠã§ã¢ãéžæããã¢ãŒã«ã€ãã·ã¹ãã ã«ã¯ãŸã£ãã觊ããŸããã§ãããå€ãã®å éšã¢ããªã±ãŒã·ã§ã³ã¯ãäŒç€Ÿã«ééçãªæ害ãäžããå¯èœæ§ããªããåæ察象ãšããŠéžæãããªãã£ããããéèŠã§ã¯ãªããšèŠãªãããŸãããããšãã°ã1ã€ã®å庫ãŸãã¯ããŒããŒå ã®ããã«ãŒã®ç®¡çã·ã¹ãã ã瀟å ã®å€éšã¯ã©ã€ã¢ã³ãã«å¯ŸããŠè匱ãªãã®ã¯ãªãã瀟å åŸæ¥å¡ã®1人ã«ãããããã³ã°ã¯ãå€ãã®éšéã«ããããªç€Ÿå ã®äžäŸ¿ãããããã ãã§ãã
ISãµãŒãã¹ã¯ããã®ãœãããŠã§ã¢ã°ã«ãŒããšéçºè ã®åªå ã¿ã¹ã¯ãšããŠãè匱æ§ã®ã³ãŒãåæã®å°å ¥ãçå®ããéçºãµã€ã¯ã«ã«çµ±åããã䟿å©ãªæ€èšŒããã»ã¹ãæ§ç¯ããŸããã
æšæºã¹ããŒã ã«åŸã£ãçµ±å
2ã€ã®ç°ãªãããŒãžã§ã³ã®GitLabããããŒã¿ã«ããã³ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®ã°ã«ãŒãã®ããŒãžã§ã³å¶åŸ¡ã·ã¹ãã ãšããŠäœ¿çšãããŸããã
GitLabãšã®çµ±åã®ã»ããã¢ãã
ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ãCI / CDã䜿çšããŠããããã§ã¯ãªãã䜿çšãããŠããªãå Žåã¯ãããã䜿çšããããšã䞻匵ããå¿ èŠããããŸãããã³ãŒãã®è匱æ§ããã§ãã¯ããããã»ã¹ãçã«èªååããŠïŒåæã®ããã«ãªã³ã¯ãæåã§ã¢ããããŒãããã ãã§ãªãïŒãã·ã¹ãã èªäœãã³ãŒãããªããžããªã«ããŠã³ããŒãããŠå¿ èŠãªã¹ãã·ã£ãªã¹ãèªèº«ã«çµæãæäŸããããã«ãããå Žåã¯ãã©ã³ããŒãã€ã³ã¹ããŒã«ããªããšå®è¡ã§ããŸããããã®å Žåã®ã©ã³ããŒã¯ãããŒãžã§ã³å¶åŸ¡ã·ã¹ãã ã«èªåçã«æ¥ç¶ãããœãŒã¹ã³ãŒããããŠã³ããŒãããŠãåæã®ããã«SolarappScreenerã«éä¿¡ãããšãŒãžã§ã³ãã§ãã
ããŒã¿ã«ããã³ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã°ã«ãŒãã®éçºè ã¯ãå®å šãªéçºãåèªååãããããã»ã¹ãšããŠç·šæããã³ãŒããèªåãã¡ã®é¢äžãªãã«è匱æ§ã«ã€ããŠã¹ãã£ã³ãããããã«ããããšèããŠããŸãããã»ãã¥ãªãã£æ åœè ãè匱æ§ã®åæçµæãæ€èšŒããè匱æ§ãé倧ã§ãããšèããå Žåã¯Jiraã®éçºè ã«ã¿ã¹ã¯ãå²ãåœãŠãããæ確ã«ããããã«éçºè ã«éä¿¡ããŸããéçºè ã¯ãè匱æ§ãç·æ¥ã«ä¿®æ£ããå¿ èŠããããã©ãããå€æããŸãããŸããå¿ èŠã«å¿ããŠãä¿®æ£ãå«ããããšãã§ãããªãªãŒã¹ãèšç»ããŸãã
Jiraã¯äž»ã«ãã°ãã©ãã«ãŒãšããŠäœ¿çšãããã³ãŒãã¢ãã©ã€ã¶ãŒãæ€åºãããè匱æ§ã«é¢ããæ å ±ãèªåçã«æäŸããŸããã
Jiraçµ±åã»ããã¢ãã
ãŸãã«ãããŒã ãªãŒããŒãã¯ããŒã«ã®çµæãèªåã§ç¢ºèªããJiraã§æåã§ã¿ã¹ã¯ãéå§ããŸããã
Jiraã§ã®ã¿ã¹ã¯ã®äœæ
ãã®ãããªã±ãŒã¹ããå¥ã®æ©èœãšããŠèŠåã«ç»é²ããŸãããäžéšã®ãããžã§ã¯ãã§ã¯ãäžè¬ã«ããã¹ãŠã®ä¿®æ£ã¯SlackãŸãã¯Telegramã§è°è«ãããã¿ã¹ã¯ã¯ãªã¢ã«ã¿ã€ã ã§èšå®ãããŸããã
ãã®çµæãSolar appScreenerã®å®è£ åŸã®å®å šãªéçºã®ããã»ã¹ã¯ã次ã®ããã«ãªãå§ããŸãããããŒã¿ã«ã¯ãã¡ã€ã³ã®éçºãã©ã³ãã®ã³ãŒãã®å€æŽã«ã€ããŠæ¯æ¥ãã§ãã¯ãããŸããã¡ã€ã³ã®æãé¢é£æ§ã®é«ããã©ã³ãã24æé以å ã«æŽæ°ãããŠããªãå Žåãäœãèµ·ãããŸãããæŽæ°ãããŠããå Žåããã®ãã©ã³ãã¯åæã®ããã«ãã®ãªããžããªã®å¯Ÿå¿ãããããžã§ã¯ãã«éä¿¡ãããŸãã GitLabã®ãªããžããªã¯ãã³ãŒãã¢ãã©ã€ã¶ã®ç¹å®ã®ãããžã§ã¯ãã«é¢é£ä»ããããŠãããããã§ã¡ã€ã³ãã©ã³ããã¹ãã£ã³ãããŸããããã®åŸãã»ãã¥ãªãã£æ åœè ãåæçµæã確èªããŠæ€èšŒããJiraã§ä¿®æ£äœæ¥ãéå§ããŸããã
Jiraã§äœæãããåæçµæãšè匱æ§ä¿®æ£ã¿ã¹ã¯
ååãšããŠãç·æ¥ã«æé€ããå¿ èŠã®ããé倧ãªè匱æ§ããè匱æ§ãä¿®æ£ãå§ããŸããããã®ãããªè匱æ§ãçµäºãããšãããŒã ã¯ã³ãŒãã§èŠã€ãã£ãæ°ãããšã©ãŒã®ä¿®æ£ã«é²ã¿ãŸããããããŠããã§ã«ç¬¬3段éã§ãããšãã°ãããã€ãã®æè¡çåµåãã¯ããŒãºãããšããæ çµã¿ã®äžã§ãå€ãæ®ãã®è匱æ§ãæé€ãããŸããã
æšæºãšããŠéæšæº
ããã¯ãäžèŠãããã»ã©è€éã§ã¯ãªãããã»ã¹ã«ã¯ã2ã€ã®é倧ãªå¶éããããŸããããŸããAndroidã¢ããªã±ãŒã·ã§ã³ïŒã€ãŸããJavaã§èšè¿°ããããã®ïŒãåæããã«ã¯ãã¢ã»ã³ããªãå¿ èŠã§ããã次ã«ãiOSã«ã¯ããšãŒãžã§ã³ããã€ã³ã¹ããŒã«ããmacOSãã·ã³ãå¿ èŠã§ãããã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããç°å¢ããããŸããç§ãã¡ã¯Androidã¢ããªã±ãŒã·ã§ã³ãéåžžã«ç°¡åã«æ±ããŸãããéçºè ããã§ã«å©çšã§ããã¹ã¯ãªããã«ããŒããæžã蟌ã¿ãã¹ã±ãžã¥ãŒã«ã«åŸã£ãŠèµ·åããŸãããã¹ã¯ãªããã®ç§ãã¡ã®éšåã¯ãæãåºãæ§æã§ãããžã§ã¯ãã®ãã«ããäºåã«èµ·åããåæã®ããã«ãœãŒã©ãŒappScreenerã«éä¿¡ãããŸããã iOSã¢ããªã±ãŒã·ã§ã³ããã§ãã¯ããããã«ãMacãã·ã³ã«MacOSãšãŒãžã§ã³ããã€ã³ã¹ããŒã«ããŸãããMacãã·ã³ã¯ã³ãŒããã¢ã»ã³ãã«ããGitLabCIãä»ããŠã¹ãã£ã³ããããã«ã³ãŒããã¢ãã©ã€ã¶ãŒã«éä¿¡ããŸãããããã«ãä»ã®ã¿ã€ãã®ãœãããŠã§ã¢ã®å Žåãšåæ§ã«ãã»ãã¥ãªãã£æ åœè ã¯åæçµæã確èªããŠæ€èšŒããä¿®æ£ã®åé¡ãJiraã«æåºããŸããã
ãŸããããŒã¿ã«ãšã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãJavaã§èšè¿°ããããããžã§ã¯ããšåŒã³ãåæ§ã®æ¹æ³ã§ããããåéããŠåæããŸããã
ç§ãã¡ã®åææ¡ä»¶ã§ããCI / CDããªãã£ããããžã§ã¯ãã§ã¯ã次ã®ããã«è¿°ã¹ãŠããŸãããåæãããå Žåã¯ãæåã§åéããŠãèªåã§ã¹ãã£ããŒã«ããŒãããŸããJavaãJVMã®ãããªèšèªïŒScalaãKotlinãªã©ïŒããªãå Žåã¯ããªã³ã¯ãããªããžããªã«ã³ãŒããã¢ããããŒãããã ãã§ããã¹ãŠåé¡ãããŸãããã
ãããžã§ã¯ãã®è€éã
äžèšãããããããã«ããã®ã¢ããªã±ãŒã·ã§ã³ã¹ã¿ãã¯ã§ã¯ãäž»ãªåé¡ã¯å€ãã®ãããžã§ã¯ãã§CI / CDãäžè¶³ããŠããããšã§ãããéçºè ã¯ãã°ãã°æäœæ¥ã§ãã«ããè¡ããŸãããã¢ãã©ã€ã¶ãŒãCïŒã®SharepointããŒã¿ã«ãšçµ±åãå§ããŸãããçŸåšãCïŒã¯å€ããå°ãªããLinuxã·ã¹ãã ã«åãæ¿ããããŠããŸãããæ¬æ Œçã§ã¯ãããŸããããããžã§ã¯ããæ¬æ Œåãããšãããã®èšèªã¯ãŸã Windowsã§æ©èœããŠãããããGitLabçšã®ãšãŒãžã§ã³ããWindowsã«ã€ã³ã¹ããŒã«ããå¿ èŠããããŸãããç§ãã¡ã®ã¹ãã·ã£ãªã¹ãã¯Linuxã³ãã³ãã®äœ¿çšã«æ £ããŠãããããããã¯å®éã®èª²é¡ã§ãããç¹å¥ãªè§£æ±ºçãå¿ èŠã§ãããããšãã°ãexeãã¡ã€ã«ãžã®ãã«ãã¹ãæå®ããå¿ èŠãããå Žåãããã§ãªãå Žåãäœãããšã¹ã±ãŒãããå¿ èŠããããªã©ã§ãããããŠãSharepointãšã®çµ±åã®å®è£ åŸãPHPã®ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãããžã§ã¯ãã®ããŒã ã¯æ¬¡ã®ããã«è¿°ã¹ãŠããŸããã©ã³ããŒãããªãã®ã§ãCïŒã䜿ããããšæã£ãŠããŸããç§ã圌ãã®ããã«æäœãç¹°ãè¿ããªããã°ãªããŸããã§ããã
æŠèŠ
ãã®çµæããã¯ãããžãŒãããŒã ãããã»ã¹ã®ãã®ãããªç°çš®ã®ããŒã¯ã«ããããããããã®ã±ãŒã¹ã®äž»ãªã±ãŒã¹ãããã€ãã®ãã€ãã©ã€ã³ã«ã°ã«ãŒãåããå¿ èŠã«å¿ããŠãããã®å®è¡ãèªååããå®è£ ããããšãã§ããŸããããã®äŸã§ã¯ã次ã®ããšã確èªã§ããŸããã
- ç§ãã¡ãå®è£ ããŠãããœãªã¥ãŒã·ã§ã³ã¯ãæ ¹æ¬çã«ç°ãªãå±éç°å¢ã§DevSecOpsããã»ã¹ãæ§ç¯ããããã«å¿ èŠãªæè»æ§ãæäŸããã®ã«ååå€ããã®ã§ããæè»æ§ã¯ãçµã¿èŸŒã¿ããã³ã«ã¹ã¿ã çµ±åã®å€§èŠæš¡ãªã»ããã«ãã£ãŠå®çŸãããŸããããããªããšãå®è£ ã®äººä»¶è²»ãå€§å¹ ã«å¢å ããããäžå¯èœã«ãªããŸãã
- . 3-4 ;
- DevSecOps DevOps , , . win-win - .
æãåºããŠãã ãããããã¯ã倧èŠæš¡å°å£²æ¥è ã§ã®å®å šãªéçºããã»ã¹ã®æ§ç¯ã«é¢ããäžé£ã®èšäºã®æåã®éšåã§ãã次ã®æçš¿ã§ã¯ãSAPãã¡ããªãŒã®ã¢ããªã±ãŒã·ã§ã³ã°ã«ãŒãã§ã®ãã®ãããžã§ã¯ãã®å®è£ ã®è©³çŽ°ãæããã«ããŸãã
åæ§ã®ãããžã§ã¯ããå®æœããçµéšã¯ãããŸããïŒå®å šãªéçºæ £è¡ãå®æœããäºäŸãã³ã¡ã³ãæ¬ã§å ±æããŠããã ããã°å¹žãã§ãã
èè ïŒIvan Staroselskyãæ å ±ã·ã¹ãã éçšããã³èªååéšéã®è²¬ä»»è