ãã¯ãããžãŒã®ã¹ããããã€ã¹ãããã¯ç§ãã¡ã®ä»äºãåŒãåããæã䟡å€ã®ããã¹ã¿ãã¯ãªãŒããŒãããŒããã®Ctr-Cãšãã€ãã£ãIDEã®Ctrl-Vã«å°éãããšè ããŸãã ãããã幞ããªããšã«ãããªããããåªããããã°ã©ãã³ã°ãåŠãã åäžã®ãã¥ãŒã©ã«ãããã¯ãŒã¯ã¯ãŸã ãããŸããã ä»æ¥ã¯ãDevOpsã䜿çšããŠãã¢ãã€ã«éçºè ã®ããŒã å šäœãããã«ã¯å人ã®ã«ãŒãã³ãåãé€ãæ¹æ³ã«ã€ããŠèª¬æããŸãã
æ³šïŒ Hackerèªã®èšäºã®å®å šçã®åºçç©ã·ãªãŒãºãç¶ç¶ããŸãã èè ã®ã¹ãã«ãšå¥èªç¹ãä¿åãããŸããã
ã°ããŒãã«ã«ãDevOpsã¯åççã«èªååããããã¹ãŠã®èªååã®æ倧åã®åé¡ã解決ããŸãã ç®æšã¯åçŽã§ã-補åã®ãªãªãŒã¹ãŸãã¯æŽæ°ã®æéãšã³ã¹ããåæžããããšã§ãã ããã¯ããã¯ã©ã€ã¢ã³ããžã®äŸ¡å€ã®ç¶ç¶çãªäŸçµŠããšæã èšãããããã«ãåŽåçç£æ§ãšçµç¹ã®å¢å ã®äžçš®ã®å¥ã®ã©ãŠã³ãã§ãã
çŸæç¹ã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã®æ°ããããŒãžã§ã³ã®ã¢ã»ã³ããªãé åžããã¹ãã¯ååã«èªååãããŠããŸãã ãã®èšäºã§ã¯ã Bitrise.ioãã«ããµãŒãã¹ ã Xamarin Test Cloudããã€ã¹ãã¡ãŒã ãããã³HockeyAppãã£ãŒãããã¯ã·ã¹ãã ã§æ§æãããããŠãããŒãµã«ã¢ãã€ã«DevOpsãã€ãã©ã€ã³ãæ§ç¯ããããã»ã¹ã瀺ããŸãã ãã¹ãã®å¯Ÿè±¡ãšããŠãJavaã®äžé£ã®æšæºãµã³ãã«ããAndroidã¢ããªã±ãŒã·ã§ã³ã䜿çšããŸãã
ãªã³ã©ã€ã³ãµãŒãã¹ã®çŸä»£äžçã®æ³šç®ãã¹ãç¹åŸŽã¯ãã³ãŒããé«å質ã®è£œåã«åŠçããããã®éåžžã«äŸ¿å©ãªãã€ãã©ã€ã³ãæ§ç¯ã§ãããªãŒãã³APIã®ååšã§ãã
DevOpsãã§ãŒã³ãåäœãéå§ããã«ã¯ã次ã«æ§æããå¿ èŠããããŸãã ãŸããäžè¬çãªçšèªã§ãã€ãã©ã€ã³æäœã¢ã«ãŽãªãºã ãæ€èšããŸãã
- å€éšã€ãã³ãïŒã¿ã€ããŒããªããžããªå ã®commit / pull-request /ã¿ã°ãSlackããã®ã³ãã³ãããµã€ãäžã®ãã¿ã³ãªã©ïŒããã§ãŒã³å šäœã掻æ§åããŸãã
- ãã«ãã·ã¹ãã ã¯ãèšå®ãèæ ®ããŠããªããžããªããæåŸãŸãã¯æå®ãããã³ããã/ãã©ã³ããããŠã³ããŒããããã«ãç°å¢ãèµ·åããŠãã³ã³ãã€ã«/ããã±ãŒãžåãããã¢ããªã±ãŒã·ã§ã³ãçºè¡ããŸãã ãããã®ç®çã®ããã«ãBitriseã¯æ¢ã«æ§æãããç°å¢ã§åå¥ã®ä»®æ³ãã·ã³ãå±éããåãã«ãã®åã«ãå¿ èŠãªäŸåé¢ä¿ãWebãŸãã¯ãã£ãã·ã¥ïŒGradleãCocoaPodsãNuGetïŒããããŠã³ããŒãããŸãã ã³ã³ãã€ã«äžã®åºæ¬çãªã³ãŒãæ€èšŒã«å ããŠããŠããããã¹ããå®è¡ã§ããŸããããã¯ãé·ããŠéããããžã§ã¯ãã®ã¢ãã€ã«ã«é¢é£ããŠããŸãã
- 次ã«ãã¢ããªã±ãŒã·ã§ã³ããã¡ã€ã«ã¹ãã¬ãŒãžãŸãã¯å€éšãµãŒãã¹ã«ã¢ããããŒããããŸãã Bitriseã䜿çšãããšããµãŒããŒäžã§ãã¹ããã«ãããã¹ãã§ããæºåž¯é»è©±ã«ããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããããã®ãã€ã¬ã¯ãããŒãžãæäŸãããŸãã
- ãŸããèªåUIãã¹ãã®ããã«ãã¢ã»ã³ããªãã¯ã©ãŠãããã€ã¹ãã¡ãŒã ã«ã¢ããããŒãã§ããŸãã
ã³ã³ãã¢ãäœæãã
念ã®ããããœãŒã¹ã³ãŒããä¿åããããã®ãªããžããªããå§ããŸã-ããã¹ãã§ãããããããã€ã³ãã§ãã Bitbucket ã GitHubããŸãã¯ãã®ä»ã䜿çšã§ããŸãããããæ¢è£œã®çµ±åã®ããã人æ°ã®ãããµãŒãã¹ãæãŸããã§ãã ãŸããã»ãšãã©ãã¹ãŠã®IDEã§ãµããŒããããŠãããããGitã䜿çšããããšããå§ãããŸãã ãããžã§ã¯ãïŒãã®äŸã§ã¯ãããã¯Android SDKã®ã¯ã©ã·ãã¯ããã²ãŒã·ã§ã³ããã¯ãŒã§ãïŒãæ¢ã«Bitbucketã«ããŒããããŠãããBitbucketã¯Bitriseã«æ¥ç¶ãããŠãããšèããŠããŸãã
éãã
DevOpsãã§ãŒã³ã®éå§èŠçŽ ã¯ãã«ãã·ã¹ãã ã§ãã ããã§ã¯ã管çè ã®ã¿ã³ããªã³ã®å³ãšæææš©ã®ã¬ãã«ã¯åéã§ã¯ãããŸããã ããããBitriseã¯æãåçŽã§æãæ©èœçãªãªãã·ã§ã³ã®1ã€ã§ãã å®äŸ¡ã§ãæèšã®ããã«æ©èœãããã¹ãŠã®äžè¬çãªã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³éçºã¹ã¿ãã¯ã§ãããžã§ã¯ããå®å šã«ãã«ãã§ããŸãïŒiOS + Obj-C / SwiftãAndroid + JavaãXamarinïŒiOS + AndroidïŒãWeb AppïŒPhoneGapãReact Nativeãªã©ïŒ ã ãããŠæãéèŠãªããšã¯ãããã«äœ¿çšã§ããBitriseã¯ãå€æ°ã®å€éšã·ã¹ãã ãšã®çµ±åãæ§æã§ããããšã§ãã
éå§ããã«ã¯ãBitriseã§ç¡æè©Šçšçãç»é²ãããã®äžã«æ°ããAndroidãããžã§ã¯ããäœæãããªããžããªãæ·»ä»ããŸãã ããŒã¹ãã¢ïŒããã³iPhoneçšã«éçºããŠããå Žåã¯iOS蚌ææžïŒãè¿œå ããŠãã¢ããªã±ãŒã·ã§ã³ã«çœ²åããããšããå§ãããŸãã ç¥ãåããç 究ã®ããã«ãäœæããã¯ãŒã¯ãããŒã確èªããããšããå§ãããŸãã
次ã«ãéå§ãã¿ã³ãã¯ãªãã¯ãããã°ããããŠå®æããã¢ã»ã³ããªãååŸããŸãã ãã°ã«é£ã³èŸŒãã§ãããã»ã¹å šäœã®è©³çŽ°ã調ã¹ãããšãã§ããŸãã
Bitriseã«ã¯ãäžè¬çãªå€éšãµãŒãã¹ïŒãæ°ã«å ¥ãã®Slackãå«ãïŒã䜿çšã§ããå€æ°ã®è¿œå æé ããããŸãã å¿ èŠã«å¿ããŠãç¬èªã®ã¹ã¯ãªãããäœæããããšãã§ããŸãïŒããšãã°ãããã±ãŒãžã®ååãå€æŽããããïŒã åæã«ãã€ã³ãã©ã¹ãã©ã¯ãã£ãšãã®æ§æãšãµããŒãã«æéãããããŸããïŒ ãã¡ããããã«ãæéã¯åªããããã°ã©ããŒãã·ã³ãããå°ãé·ããªããŸãããäžæ¹ã§ãå¥ã®ã³ãŒããŒãã¬ãŒã¯ã®ä»£ããã«äžŠè¡ããŠäœæ¥ãç¶ããããšãã§ããŸãã å¿ èŠã«å¿ããŠãBitriseã¯ãããžã§ã¯ãã®ãŠããããã¹ããå®è¡ããããšãã§ããããããã¹ãŠã®äžè¬çãªãã©ãããã©ãŒã ãšã¹ã¿ãã¯ããµããŒãããŠããŸãã
æ°ååŸïŒã¢ããªã±ãŒã·ã§ã³ã®è€éãã«å¿ããŠæ°ååïŒãã¢ã»ã³ããªã®æºåãæŽããã€ã³ã¹ããŒã«ããã±ãŒãžãã¹ããŒããã©ã³ã«ããŠã³ããŒãããããã®ããŒãžã衚瀺ãããŸãã ãªã³ã¯ã¯ãã¹ãŠã®é¢ä¿è ãšå ±æã§ããŸãã
ãã¹ãäž
ã¢ãã€ã«éçºã§æãåé¡ã®å€ãå Žæã®1ã€ã¯ãOSãç»é¢ãµã€ãºãäŸ¡æ Œãã±ãŒã¹ã®è²ã ãã§ãªããOSèªäœã®ããŒãžã§ã³ãAndroidã§ãç°ãªãã¢ãã«ã®ãã¡ãŒã ãŠã§ã¢ããŒãžã§ã³ã«ãã匷åãªæçåã§ãã ãŸãšããªã¢ãã€ã«ã¹ã¿ãžãªã§ã¯ãæè¿ãŸã§ãæ°åïŒãŸãã¯æ°çŸïŒã®ããŸããŸãªããã€ã¹ãä¿æããããªãŒããšãã¡ãŒã ãŠã§ã¢ã®æŽæ°ãåžžã«ç£èŠããå¿ èŠããããŸããã åãã¢ããªã±ãŒã·ã§ã³ã¯ãé¡èãªæŽæ°ã®ãã³ã«ããŸãã¯å ¬éåã«ãäžèŠåãããã«èŠããå€æ°ã®ããã€ã¹ã§ã¯ãã¹ãã§ãã¯ãããŸããã ç»é¢äžã«éãšçããæã®ã¬ã©ã¬ã©ãšãããŒããŒãè¿œå ããããã«æ®ã£ãŠããŸã...
幞ããªããšã«ãAppleãšGoogleã¯ãã®åŽé¢ãééãããiOSãšAndroidã®èªååã®ããã®APIãæäŸããŸããã ã€ãŸããå®éã®ããã€ã¹ã§OSãšããåããããã¹ã¿ãŒãæå®ããã¹ã¯ãªãããå®è¡ããããšã§ãŠãŒã¶ãŒã®äœæ¥ãã·ãã¥ã¬ãŒãã§ããŸãã
ããŸããŸãªäŒæ¥ããã¢ãã€ã«ãœãªã¥ãŒã·ã§ã³ã®ãã¹ãçšã«å®éã®ããã€ã¹ã®ãã¡ãŒã ãæäŸããŠããŸãã æ®éçã§äŸ¿å©ãªãµãŒãã¹Xamarin Test Cloudã«çŠç¹ãåœãŠãŸãã ããããå§ããåã«ãã³ãã³ãã©ã€ã³ãžã£ã°ãªã³ã°ãšã«ã©ããã·ã¥ã®ã¹ããªãããå®è¡ããå¿ èŠããããŸãã
RubyãRuby DevKitãè¿œå ã®gemãã€ã³ã¹ããŒã«ãã Cucumberçšã®æåã®ã¹ã¯ãªãããäœæããå¿ èŠããããŸãã 幞ããªããšã«ããã¹ãŠã®Googleãæ¢è£œã®æ®µéçãªæé ã衚瀺ããããã次ã®Gemã®ã¿ãå¿ èŠã§ããããšã«æ³šæããŠãã ããã
- ã²ãããããã ãã;
- ã²ããããã¢ã³ããã€ã;
- xamarin-test-cloudã
Navigation Drawerã®æãåçŽãªã¹ã¯ãªããã¯æ¬¡ã®ããã«ãªããŸãã
ã¯ããã¹ã¯ãªããã¯ã³ã³ãã¥ãŒã¿ãŒãžã®æ瀺ã§ã¯ãªãã人ãžã®æ瀺ã«äŒŒãŠããŸãã ããã¯ãããã°ã©ãã³ã°ã®æ¹æ³ãå®éã«ç¥ããªããã¹ã¿ãŒã«ââãšã£ãŠäŸ¿å©ã§ãã ãã ããã³ã³ãããŒã«ã®çš®é¡ïŒç»åããã¿ã³ïŒãç»é¢åº§æšã®è¡šç€ºãªã©ãããè€éãªæ§æã䜿çšããããšãã§ããŸãã ã¹ã¯ãªããã®æ°ã«å¶éã¯ãªããã¹ã¯ãªããã¯é£ç¶ããŠå®è¡ããããã®éã§ã¢ããªã±ãŒã·ã§ã³ãå®å šã«åèµ·åãããŸãã
ã€ã³ã¹ããŒã«ããã±ãŒãžãšã¹ã¯ãªãããå€éšã¯ã©ãŠãã«éä¿¡ããåã«ãããŒã«ã«ã®ã¹ããŒããã©ã³ãŸãã¯ãšãã¥ã¬ãŒã¿ãŒ/ã·ãã¥ã¬ãŒã¿ãŒã§æžããããã¹ããå®è¡ããããšããå§ãããŸãïŒããšãã°ãcalabash-android runã³ãã³ãã䜿çšïŒã
Xamarin Test Cloudã䜿çšããã«ã¯ããã©ã€ã¢ã«ãç»é²ããæåã®å®è¡ïŒãã¹ãå®è¡ïŒã®äœæã«é²ã¿ãŸãã
ãããããããã€ã¹ã°ã«ãŒãã®èå¥åïŒ--devicesããŒã®åŸã«ç€ºãããïŒãšAPIããŒïŒAPKãã¡ã€ã«ã®ååã®åŸã«ç€ºãããïŒãå¿ èŠã«ãªããŸããããã¯Bitriseã§åŒãç¶ã䜿çšããããã€ãã©ã€ã³ã«æ°ããã¹ããããè¿œå ãããŸãã
çµ±åã®ã»ããã¢ãããæ£åžžã«å®äºããããã¹ã¯ãªãããå®è¡ããæ°åã§ãã®äœæ¥ã®çµæã確èªã§ããŸãã
Xamarin Test Cloudã¯ããã¹ãèªäœã®å®è¡ã«å ããŠããã¹ãŠã®ã·ã¹ãã ãã°ãã¢ããªã±ãŒã·ã§ã³ã«ãããªãœãŒã¹æ¶è²»ãããã«ã¯ã¹ã¯ãªãŒã³ã·ã§ãããåéããŸãã ãã¹ããå®äºãããšã詳现ã¬ããŒããå©çšå¯èœã«ãªããã¡ãŒã«ã§éç¥ãåãåããŸãã
Xamarin Test Cloudã¯ãå®éã®ãã¹ã¿ãŒã«ââ代ãããã®ã§ã¯ãããŸãããäžéšã®ãšã©ãŒã¯ãã¢ããªã±ãŒã·ã§ã³ãæåã§é·æé䜿çšããå Žåã«ã®ã¿æ€åºã§ããããã§ãã ãã ããã¯ã©ãŠããã¡ãŒã ã¯ãã¹ãæéãå€§å¹ ã«ççž®ãããã¹ãŠã®ãŠãŒã¶ãŒã·ããªãªã®åºæ¬çãªãã«ã¹ãã§ãã¯ãé«éåã§ããŸãã ãŸããã¹ã¯ãªããã®å®è¡äžã«äœæãããã¹ã¯ãªãŒã³ã·ã§ããã¯ãããŸããŸãªè§£å床ãšOSããŒãžã§ã³ïŒãã¿ã³ãæµ®ããŠãããããã¹ããåããŠãããªã©ïŒã§ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãšã©ãŒãèŠã€ããã®ã«åœ¹ç«ã¡ãŸãã
倧èŠæš¡ãããžã§ã¯ãã®å žåçãªã·ããªãª-ãã€ãã©ã€ã³ã¯å€éãŸãã¯æåã§éå§ãããå¿ èŠãªã¹ããŒããã©ã³/ã¿ãã¬ããã§ã®çŸåšã®ã¢ã»ã³ããªã®èªåUIãã¹ãïŒãã¡ã³ã®å Žåã¯ãŠããããã¹ããè¿œå ã§ããŸãïŒãæ°æéåŸïŒãŸãã¯ååäžïŒã«å質管çããŒã ãå«ãŸããŸãç¹å®ã®éžæãããã¹ããŒããã©ã³ã§ã®å®è¡çµæã«é¢ãã詳现ã¬ããŒãã衚瀺ãããŸãã ãã ããæ¯èŒçå°æ°ã®ããã€ã¹ïŒçŽ2500ïŒããããå€ãã®ããã€ã¹ãå¿ èŠã§ããããšãç解ããå¿ èŠããããŸãã ãããã£ãŠã1æ¥ãããã®ãµãã¹ã¯ãªãã·ã§ã³ããšã«å©çšå¯èœãªããã€ã¹æéæ°ã«ã¯äžå®ã®å¶éããããŸãã ç¹ã«è©Šçšçã®å Žåã¯ãå ±æã§ããå¿ èŠããããŸãã
åæãã
ã³ã³ãã¢ã®æåŸã®èŠçŽ ã¯ããã£ãŒãããã¯ãµãŒãã¹ïŒããã³ããŒãã¿ã€ã é ä¿¡ã·ã¹ãã ïŒã§ãã çŸåšãã¯ã©ãã·ã¥ãçµ±èšãããã³ãŠãŒã¶ãŒã¬ãã¥ãŒãåéããããã®å€ãã®ã©ã€ãã©ãªããããŸãã HockeyAppãµãŒãã¹ã«çŠç¹ãåœãŠãŸãã
éå§ããã«ã¯ãã©ã€ãã©ãªããããžã§ã¯ãã«è¿œå ããã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã§HockeyAppãåæåããŸãã ããã§ã1åã®ã¯ã©ãã·ã¥ã§åé¡ã解決ããªãããšã確èªã§ããŸãã
HockeyAppã§ã®ã¢ã³ããŒãã¯ãUIãã¹ãã®çµæãåæããåŸã«ãŠãŒã¶ãŒãèµ·åããå¥ã®ã¹ã¯ãªãããšããŠè¡ãã®ãæé©ã§ãã å€éšã®ããªãŒã©ã³ãµãŒãç°¡åã«æ¥ç¶ããŠãHockeyAppããçŽæ¥ã¢ããªã±ãŒã·ã§ã³ããã¹ãããããšãã§ããŸãã
䜿çšãã
DevOpsã³ã³ãã¢ã䜿çšãããšãéåžžã«å€ãã®ããã€ã¹ãã«ããŒããããŸããŸãªã¡ãŒã«ãŒã®å®éã®ã¹ããŒããã©ã³ãã¿ãã¬ããã§ã®ãŠãŒã¶ãŒã·ããªãªã®çµã¿ç«ãŠãšãã¹ããèªååã§ããŸãã æè¿ããŠãããŒãµã«çµ±åãœãªã¥ãŒã·ã§ã³ïŒMicrosoft Mobile Centerãªã©ïŒãç»å Žãå§ããŠãããéžæããã¢ãã€ã«ã¹ã¿ãã¯ãšãã©ãããã©ãŒã ã«é¢ä¿ãªããèªååã®å©ç¹ã掻çšã§ããŸãã
ãããã«
ãã®èšäºã§ã¯ãBitriseãXamarin Test Cloudãããã³HockeyAppã«åºã¥ãããã€ãã©ã€ã³ã®äœæã«ã€ããŠæ€èšããŸããããä»ã®ããŒã«ãéžæããããç¬èªã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãå±éããããšãã§ããŸãã ããããããã§ã¯ã管çè ã®ã¿ã³ããªã³ãæã«ã¯ã²ãã®ããã»ãŒã¿ãŒãªãã§ã¯ã§ããŸããã
èè ã«ã€ããŠ
ãŽã£ãã§ã¹ã©ãã»ãã§ã«ãã³ã -éçºéšé·ã ãã³ãŠã§ã« éå»ã«ã¯ãNokia Championããã³Qtèªå®ã¹ãã·ã£ãªã¹ãã®1人ã§ãçŸåšã¯Xamarinããã³Azureãã©ãããã©ãŒã ã®ã¹ãã·ã£ãªã¹ãã§ãã 圌ã¯2005幎ã«ã¢ãã€ã«åéã«åå ¥ãã2008幎ããã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ãéçºããŠããŸããSymbianãMaemoãMeegoãWindows Mobileããå§ãããã®åŸiOSãAndroidãWindows Phoneã«åãæ¿ããŸããã
Mediumããã°ã§ Vyacheslavã®èšäºãèªãããšãã§ããŸãã
èè ã®ä»ã®èšäºïŒ
- Microsoft devopsãã€ãã©ã€ã³ã䜿çšããã¢ãã€ã«ãœãããŠã§ã¢ã®å±é
- èªååãããŠããªãããŸãã¯å®éã®ãããžã§ã¯ãã®Xamarinã«ã€ããŠèªååãã
- Xamarinã¢ããªã±ãŒã·ã§ã³çšã®äŸ¿å©ãªREST
- Microsoft AzureãšXamarin.Formsã«åºã¥ããMVPïŒæå°éã®å®è¡å¯èœãªè£œåïŒã®è¿ éãªäœæ
- Xamarin.Formsã®ã¯ããã³ã°ïŒç°å¢ã®ã»ããã¢ãããšæåã®ã¹ããã
- Xamarin.Formsããã©ãŒãã³ã¹ã®æ¹å
- Xamarin.Formsã§ç»é¢ç¶æ ãæäœãã
- Xamarin.Formsçšã®Facebook SDKã®æ¥ç¶
- Xamarin.Formsã®VK SDKãæ¥ç¶ããŸã
ããã¯ããã«ãŒèªã®èšäºã®å®å šããŒãžã§ã³ã§ããããšãæãåºããŸãã