æåã®éšåã¯
ããã«ãããŸã ã
æŽæ°ãã
ã³ã¬ã¯ã¿ãŒèªäœãšãã®ãã©ã°ã€ã³ã®äž¡æ¹ãæŽæ°ããå¿
èŠããããŸãã èšå®ããŒãžã¯
127.0.0.1-00-00242 / manage ïŒèšå®ã«åãããŠèª¿æŽïŒã«ãããŸãã æ°ããããŒãžã§ã³ãããå ŽåãæŽæ°ææ¡ã®ãããã¿ã³ãããŒãžã«ãã³ã°ã¢ããããŸãã èªåã§ææ°ããŒãžã§ã³ãããŠã³ããŒãããã³ã¬ã¯ã¿ãŒãæ
éã«ãªãã«ãã
jenkins.warãã¡ã€ã«ã眮ãæããŠåèµ·åããããšããå§ãããŸãã
jenkins.warãæŽæ°ãããšãã«ãšã©ãŒãçºçããå¯èœæ§ãããããã
念ã®ããå€ããã¡ã€ã«ãããã¯ã¢ããããŸãã ãªãã§ïŒ æåã«ããã¡ã€ã«ã¯æ¥æ¬ã®ãµãŒããŒã«è¡šç€ºããïŒã³ã¬ã¯ã¿ãŒã®äœæè
ã¯éåžžã®æ¥æ¬äººãšã³ãžãã¢ã§ãã詳现ã¯
ãã¡ã ïŒã次ã«ãã©ãŒãä»ããŠé
åžãããŸãã åç
§ïŒ
ãã©ã°ã€ã³ã¯
127.0.0.1-00-00242 / pluginManager /ã§æ§æã§ããŸãã ãã©ã°ã€ã³ã«ã€ããŠã®è©³çŽ°ã¯å¯Ÿå¿ããã»ã¯ã·ã§ã³ã«ãããŸãããæ¢åã®ãã©ã°ã€ã³ãæŽæ°ããããšããå§ãããŸãã
ã³ã¬ã¯ã¿ãŒã®åæã»ããã¢ãã
Unityãããžã§ã¯ãã¯äžŠè¡ããŠåéãããŸããã
ãããYoungSkipperã¯ãããå¯èœã§ãããšæžããŠããŸãã ããã¥ã¡ã³ããèªãã åŸãè©ŠããŠã¿ãããšããèŠæããããŸããã次ã®èšäºã§å€æŽç¹ã説æãã次ã«æ®µèœãç·šéããŸãã
ã€ãŸããäžåºŠã«1ã€ã®ã³ã³ãã¥ãŒã¿ãŒã§èµ·åã§ããã¢ã»ã³ããªã¯1ã€ã ãã§ãã ããã©ã«ãã§ã¯ã
Jenkinsã¯è€æ°ã®ãšã°ãŒãã¥ãŒã¿ãŒã§åäžã®ã³ã¬ã¯ã¿ãŒãäœæããŸãããããã¯è¯ããããŸããã ã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããããèšå®ã§çŽæ¥
127.0.0.1-00-00242 / computer /ïŒmasterïŒ/ã«é²ã¿ãã
å®è¡ããã»ã¹æ° ãã1ã«å€æŽããŸãã
å¿
èŠã«å¿ããŠãä»ã®ãã·ã³ã§ã¢ã»ã³ããªãäžããããšãã§ããŸãïŒããšãã°ãã¢ããã«ã¢ã»ã³ããªãããã«æ®ããä»ã®ãã©ãããã©ãŒã çšã«ä»ã®
Windowsãã©ãããã©ãŒã ã«è»¢éããŸãïŒã ããã§ã¯ãã®å¯èœæ§ãèæ
®ããŸããã
ããã§
-127.0.0.1-00-00242 / configureã¯äžè¬èšå®ã»ã¯ã·ã§ã³ã§ãã 以äžã®ãã©ã¡ãŒã¿ãŒãå€æŽããŸãã
- ããŒã ãã£ã¬ã¯ããªãæ£ããããšã確èªããŸãã ããšãã°ã / Users / jenkins / WORK / JENKINS_HOME
- 詳现èšå®ãå±éããŸãã ã¯ãŒã¯ã¹ããŒã¹ã«ãŒããã£ã¬ã¯ããªã¯ã Unityãããžã§ã¯ãããã¹ãããå Žæã§ãã ã ã¢ã»ã³ããªã¬ã³ãŒãã®ã«ãŒããã£ã¬ã¯ã㪠ãã¯ãåéããããã«ãã®ãªããžããªã§ãã JENKINS_HOMEããäž¡æ¹ã®ãã©ã«ããŒãåé€ã㊠ãããã©ã«ãå€ãå€æŽããããšããå§ãããŸãã ããšãã°ã / Users / jenkins / WORK / JENKINS_WORKSPACE / $ {ITEM_FULL_NAME}ããã³/ Users / jenkins / WORK / JENKINS_BUILDS / $ {ITEM_FULL_NAME}ã«ãããŸãã
- åãšåæ§ã«ãã ã³ã¬ã¯ã¿ãŒã®æ° ãã1ã«èšå®ããŸãã
- ã çµç«åã®é
延 ãã¯ãããšãã°60ç§ã«èšå®ãããŸãã 誀ã£ããã«ããŸãã¯èª€ã£ãŠèµ·åããããã«ããå
ã«æ»ãã®ã«åœ¹ç«ã¡ãŸãã
- Androidåãã®ãã«ãã§ã¯ãç°ãªãJDKãå¿
èŠã«ãªãå ŽåããããŸãã 察å¿ããã»ã¯ã·ã§ã³ã§ãååãšãã¹ãèŠå®ããŸãïŒç¡äººã€ã³ã¹ããŒã«ã®ãã§ãã¯ãå€ããŸãïŒã ããšãã°ã jdk_1.8.0_60ã® JAVA_HOMEã¯/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Homeã«ãããŸã ã ãã®ã¢ã€ãã ã¯ãªãã·ã§ã³ã§ãããã¢ã»ã³ããªäžã«ç°ãªãJDKã䜿çšããããšãã匷ãèŠæããããŸãã
- [ Jenkins Location]ã»ã¯ã·ã§ã³ã§ãã³ã¬ã¯ã¿ãŒã®ã¢ãã¬ã¹ïŒããŒã«ã«ãããã¯ãŒã¯äžã®httpïŒ//192.168.3.69-00-00242/ãªã© ïŒãšç®¡çè
ã®ã¡ãŒã«ãæå®ã§ããŸãã äžéšã®ãã©ã°ã€ã³ã«å¿
èŠã§ãã
- Subversionã»ã¯ã·ã§ã³ã§ã¯ãææ°ã®ãã©ã°ã€ã³ã®æŽæ°ã«ããã SVNã®ææ°ããŒãžã§ã³ãéžæã§ããŸãã ããšãã°ã 1.8ã§ãã ããŒãžã§ã³ã¯ãã·ã¹ãã ã«ã€ã³ã¹ããŒã«ãããŠããããŒãžã§ã³ïŒæåã®2æåãŸã§ïŒãšäžèŽããå¿
èŠããããŸããäžèŽããªãå Žåãã¢ã»ã³ãã©ãŒã«ãã£ãŠèªåçã«äœæããããããžã§ã¯ããæåã§ç·šéããããšã¯ã§ããŸããã åã®èšäºã®å¿
èŠãªããŒãžã§ã³ã®ã€ã³ã¹ããŒã«ãžã®ãªã³ã¯ãåç
§ããŠãã ãã ã
Jenkins CLI
ã³ã¬ã¯ã¿ãŒã®ãªã¢ãŒãã³ãã³ãã®ãªã¹ãã«ã€ããŠãèšåããå¿
èŠããããŸãã ããã«å¿
èŠãªæ
å ±ã¯ãã¹ãŠ
http ïŒ
//127.0.0.1-00-00242/cli/ã§ãã
Jenkins-cli.jarãããŠã³ããŒããããããšãã°æ¬¡ã®ã³ãã³ããå«ãŸããŸãã
java -jar jenkins-cli.jar -s http://192.168.3.69:4242/ safe-shutdown
ããŒã«ã«ãããã¯ãŒã¯äžã®ä»»æã®ã³ã³ãã¥ãŒã¿ãŒããã³ã³ãœãŒã«ããã³ã¬ã¯ã¿ãŒãåãé¢ãããšãã§ããŸãïŒå®è¡äžã®ãã¹ãŠã®ã¢ã»ã³ããªãæåã«èªåçã«å®äºããŸãïŒã å¿
èŠã«å¿ããŠãé©åãªã¹ã¯ãªãããæºåã§ããŸããããã³ã°ããã³ã¬ã¯ã¿ãŒã§ã¯åäœããªãå ŽåããããŸãã
ãã©ã°ã€ã³
ã³ã¬ã¯ã¿ãŒã®è¿œå æ©èœã¯ããã©ã°ã€ã³ãéããŠæäŸãããŸãã 察å¿ããã»ã¯ã·ã§ã³-127.0.0.1-00-00242 / pluginManager / installedã§ããããæ§æïŒã€ã³ã¹ããŒã«ãæŽæ°ãããŒã«ããã¯ãåé€ïŒã§ããŸãã å®å
šãªãªã¹ãã¯è¿ãã«ãã
ãŸã ãå
¬åŒwikiã¯
ãã¡ãã§ãã éèŠãªãã®ã¯ä»¥äžã«ãããŸãïŒæ®ãã¯æŽæ°ããæ¹ãè¯ãã§ãããçŽæ¥äœæ¥ããããšã¯ã»ãšãã©ãããŸããïŒïŒ
- è³æ Œæ
å ±ãã©ã°ã€ã³ -ãã¹ã¯ãŒããä¿åã§ããŸãã ããšãã°ã SVNãªããžããªã®å Žåã ã³ã¬ã¯ã¿ãŒã®èšå®-127.0.0.1-00-00242 / credential -store /ã§ã ãã°ããŒãã«è³æ Œæ
å ±ããéžæããåãªããžããªãŒã®ååãšãã¹ã¯ãŒãã®ãªã³ã¯ãäœæããŸãã ãã©ã¡ãŒã¿ãŒ- ãŠãŒã¶ãŒåãšãã¹ã¯ãŒã ãããã³Global ã
- Subversionãã©ã°ã€ã³ -SVNãµããŒãã ãã§ã«èšå®ãããŠããã¯ãã§ãã
ã¢ã»ã³ããªãã©ã¡ãŒã¿ãèšå®ããããã«ããŠã³ããŒãããå¿
èŠããããã©ã°ã€ã³ïŒé¢é£ãã©ã°ã€ã³ãã€ã³ã¹ããŒã«ãããã©ã°ã€ã³ããããŸãïŒïŒ
- æ¡ä»¶ä»ããã«ãã¹ããã -ã¢ã»ã³ããªäžã«ãšã©ãŒãçºçããå Žåã®ã³ã¬ã¯ã¿ãŒã®ã¢ã¯ã·ã§ã³ãæ§æããŸãã ããšãã°ããã°ä»ãã®ã¡ãã»ãŒãžã管çè
ã«éä¿¡ããããã¹ã¯ãªãããå®è¡ãããã§ããŸãã
- description setterãã©ã°ã€ã³ -ãã«ããã©ã¡ãŒã¿ãŒã«åºã¥ããŠãã¢ã»ã³ãã«ããããã«ãã®èª¬æãäœæããŸãã
- ç°å¢ã¹ã¯ãªãããã©ã°ã€ã³ -ã¢ã»ã³ããªã®å
éšå€æ°ïŒãã©ã¡ãŒã¿ãŒïŒã®å®£èšã
- Extensible Choice Parameterãã©ã°ã€ã³ -ã¢ã»ã³ããªãã©ã¡ãŒã¿ãŒãå¥ã®ãã¡ã€ã«ãšããŠãããšãã°åãSVNã«ä¿åãããªããžããªããã®æŽæ°åŸãææ°ããŒãžã§ã³ã®èšå®ãé©çšãããŸãã
- Groovy Postbuild-ãã«ãã®æåãåŠçããç°¡åãªã¹ã¯ãªãããäœæããŸãã
ã³ã¬ã¯ã¿ãŒã®å€èŠ³ãå€æŽããã¢ã¯ã»ã¹ãç°¡çŽ åãããã©ã°ã€ã³ïŒ
- Extra Columns Plugin-ã¿ã¹ã¯ãªã¹ãã®è¿œå åã ã¿ã¹ã¯ã®åæ¢ãéå§ãªã©ã®ããã®ãã¿ã³ãå«ãŸããŠããŸãã
- Safe Restart Plugin-ã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ã€ã¹ã§ã³ã¬ã¯ã¿ãçŽæ¥åèµ·åãããã¿ã³ã
- ã«ã¹ã¿ã ãžã§ãã¢ã€ã³ã³ãã©ã°ã€ã³ -åã¿ã¹ã¯ã«ç¹å®ã®ã¢ã€ã³ã³ãå²ãåœãŠãŸãã ããšãã°ãã¢ã»ã³ããªãé
眮ããç®çã®ã¢ããªã±ãŒã·ã§ã³ãŸãã¯ãã©ãããã©ãŒã ã®ã¢ã€ã³ã³ãé
眮ã§ããŸãã èšå®ã«ã ã«ã¹ã¿ã ã¢ã€ã³ã³ã¢ã€ãã ã衚瀺ãããããã§ã¢ã€ã³ã³ãã¢ããããŒãã§ããŸãã ãããã¯/ Users / jenkins / WORK / JENKINS_HOME / userContent /ã«ä¿åãããŸã ã ããŒãæã«ãã¢ã€ã³ã³ã¯64x64ã®ãµã€ãºã«å§çž®ããããããããçŸããèŠããŸãã
Unityã§äœæ¥ããããã®ãã©ã°ã€ã³ïŒ
- Unity3dãã©ã°ã€ã³-Unityãšãã£ã¿ãŒåŒã³åºããã¢ã»ã³ããªã«çµ±åãããã©ã°ã€ã³ã 匷ã欲æ±ãããã°ããããªãã§å®è¡ã§ããŸãïŒã³ãã³ãã©ã€ã³ã§ãã¹ãŠã®ã³ãã³ããèšè¿°ããŸãïŒã ã€ã³ã¹ããŒã«åŸã Unity3dã¢ã€ãã ãã³ã¬ã¯ã¿ãŒã®èšå®ã«è¡šç€ºãããããã«ã€ã³ã¹ããŒã«æžã¿ãšãã£ã¿ãŒã®ãªã¹ããå
¥åã§ããŸãã ããšãã°ãå€ã/Applications/Unity_4_6_8_f1/Unity.appã®Unity_4_6_8_f1ãã£ãŒã«ããäœæããŸãã ããšãã°ããã¹ããã«ãã«äœ¿çšãããŸãã ã¡ã€ã³ããŒãžã§ã³ãšããŠã Unity_4_6_6_f2ãšåæ§ã«æ§æããããã¹ã䜿çšããŸãã ã³ã¬ã¯ã¿ãŒã®åã¿ã¹ã¯ã§æ°ããããŒãžã§ã³ã«åãæ¿ããåŸãçŸåšã®ããŒãžã§ã³ãžã®ãã¹ãæŽæ°ããªãããã«ãå¿
èŠãªãã©ã¡ãŒã¿ãŒã䜿çšããŠUnity_DefaultãäœæããŸãã
- Log Parser Plugin-ãã°ãžã®åºåãåæããã¡ã¢ãšãšã©ãŒã衚瀺ããŸãã ã³ã¬ã¯ã¿ãŒã®èšå®ã§ã ã³ã³ãœãŒã«åºå解æã®çµãããèŠãŠãã«ãŒã«ãã¡ã€ã«ãžã®ãã¹ã§unity_rulesãäœæããŸãã ãœãŒã¹ã¯ãããŸãã¯äžã«ãããŸãã
logpareser.rulesstart / ^ã¢ãã®åæå/
start / ^ãã«ãã«å«ãŸããMonoäŸåé¢ä¿/
éå§/ ^ãã¯ã¹ãã£/
æ
å ±/ ^å®å
šãªãµã€ãº/
start / ^ ----- CompilerOutputïŒ-stdout /
info / ^ã³ã³ãã€ã«ãæåããŸãã/
start / ^éå§çž®ãµã€ãºã§ãœãŒãããã䜿çšæžã¿ã¢ã»ãã/
æ
å ±/ ^ \ * \ * /
info / ^ä»ãããããã¢ãŒããæ£åžžã«çµäºãã/
éå§/ ^ ===ãã€ãã£ãã¿ãŒã²ãããæ§ç¯/
éå§/ ^ IPAã®ããã±ãŒãžå/
éå§/ ^ã¢ãŒãã£ãã¡ã¯ãã®ã¢ãŒã«ã€ã/
éå§/ testflightãžã®ã¢ããããŒã/
èŠå/ãšã©ãŒCS02446 /
ãšã©ãŒ/ ^ Playerã®ãã«ããšã©ãŒ/
ãšã©ãŒ/ ^ã³ã³ãã€ã«ã«å€±æããŸãã/
ãšã©ãŒ/ ^ãšã©ãŒïŒ/
ãšã©ãŒ/ ^ãšã©ãŒïŒ/
ãšã©ãŒ/ïŒãšã©ãŒCS /
èŠå/ ^èŠåïŒ/
èŠå/ ^èŠåïŒ/
ãšã©ãŒ/ ^ xcodebuildïŒãšã©ãŒïŒ/
èŠå/ãããã°ïŒLogWarning /
ãšã©ãŒ/ãšã©ãŒããããŸãã/
ãšã©ãŒ/ \ * \ * \ *ãã£ã³ã»ã«/
ãšã©ãŒ/ ^èŽåœçïŒ/
ãšã©ãŒ/ ^èŽåœçãªãšã©ãŒ/
ãšã©ãŒ/ ^ãšã©ãŒïŒ/
ãšã©ãŒ/æ§æãšã©ãŒ/
ãšã©ãŒ/^UnityEngine.Debug:LogError/
ãšã©ãŒ/^System.Exception:/
ãããžã§ã¯ãæ§é
- ãªããžããªãã»ããã¢ããããŸãã
- ãã©ã¡ãŒã¿ãŒã䜿çšããŠãã¡ã€ã«ãã«ã¹ã¿ãã€ãºããŸãã
- ãã«ããã©ãããã©ãŒã ãã»ããã¢ããããŸãã
- Unityãå®è¡ãããã©ãããæ§æããŸãã
- ãªããžããªããããŒã¿ãããŠã³ããŒãããŸãã
- Unityãå®è¡ããããã«æ§æãããŠããå Žåãæ°èŠãã«ãããã«ãããŸãã
- ã¢ã»ã³ããªçµæãã¢ãŒã«ã€ãã«ä¿åããŸãã
- ãã«ãçµæã«å¿ããŠã¹ã¯ãªãããå®è¡ããŸãïŒããšãã°ãé³å£°ã¢ã©ãŒã ïŒã
ã¿ã¹ã¯ïŒãžã§ãã¢ã€ãã ïŒã®äœæ
- ã³ã¬ã¯ã¿ãŒã®ã¡ã€ã³ããŒãžã«ã¯ã[ ã¢ã€ãã ã®äœæ ]ãã¿ã³ããããŸãã ãã©ã¡ãŒã¿ãŒã§ãç¡æã®æ§æãæã€ã¿ã¹ã¯ãéžæããŸã ã ååãšããŠã projectName_platformãªã©ãéžæããŸãã ããŸããŸãªã¿ã¹ã¯ã®2çªç®ã®éšåãå€æŽããããšã«ãããåçŽãªãããžã§ã¯ããã£ã«ã¿ãŒãæ§æã§ããŸãã èšå®ã«çŽæ¥ç§»åããŸãã
- è€æ°ã®ã¿ã¹ã¯ã«åããªãœãŒã¹ã䜿çšããããšãèšç»ãããŠããããããŸããããžã§ã¯ãã®å Žæãå€æŽããŸãã ã ãããžã§ã¯ãã®è©³çŽ°èšå® ããæ€çŽ¢ããã å¥ã®ãã£ã¬ã¯ããªãäœ¿çš ããéžæããŠã ../JENKINS_WORKSPACE/projectName_standaloneã®ãããªãã®ãå
¥åããŸãã ãã®åŸãèšå®ã®æåã«æ»ããŸãã
- ã å»æ¢ãããã¢ã»ã³ããªã®åé€ ã-å¿
èŠãªãªãã·ã§ã³ãéžæããŸãã ããšãã°ãæåŸã®æ°åã®ã¿ãä¿åããŸãã
- ã«ã¹ã¿ã ã¢ã€ã³ã³ã«ãã©ã°ã€ã³ãã€ã³ã¹ããŒã«ãããŠãããã¢ã€ã³ã³ãããŒããããŠããå Žåã¯ãå¿
èŠãªãã®ãéžæããŸãã
- ã ããã¯ãã©ã¡ãŒã¿ãŒåãããã¢ã»ã³ããªã§ã ã-ãã®ãã©ã¡ãŒã¿ãŒãæ§æããŸãã ãããè¡ãã«ã¯ã以åã«ã€ã³ã¹ããŒã«ããExtensible Choiceãã©ã°ã€ã³ãå¿
èŠã§ãã ãã³ãã¬ãŒãã¯æ¬¡ã®ãšããã§ãããã®ã¿ã€ãã®ãã©ã¡ãŒã¿ãŒãè¿œå ãããååãå
¥åãããããŒã¿ã®èªã¿åãå
ãéžæãããŸãã ããŒã¿ã¯ãå€éšãã¡ã€ã«ã«ä¿åãããïŒ System Groovy Choiceãã©ã¡ãŒã¿ãŒãéžæããŠããŒã¿èªã¿åãã¹ã¯ãªãããäœæããïŒããŸãã¯ã æ¡åŒµéžæïŒå©çšå¯èœãªéžæè¢ãããã€ããŒãã»ã¯ã·ã§ã³ã®ã³ã¬ã¯ã¿ãŒã®èšå®ã§äºåèšå®ã§ããŸã ã ããã§ã¯ãæåã®ãªãã·ã§ã³ã䜿çšããŸãã éèŠïŒ ãã¹ãŠã®ãã©ã¡ãŒã¿ãŒã§ãããã©ã«ãã®ãªãã·ã§ã³ãäºåã«éžæããå¿
èŠããããŸãã ãã ããã¹ã¯ãªãããä¿åããŠèšå®ããŒãžãå床éããåŸã«ã®ã¿äœ¿çšå¯èœã«ãªããŸãã
- ãªããžããªãæ§æããŸãã REPOSITORYãã©ã¡ãŒã¿ãŒãäœæããŸãã /Users/jenkins/WORK/repositories.txtãªã©ã®å€éšãã¡ã€ã«ã«äœ¿çšå¯èœãªãã¹ãŠãè¿œå ããŸãã 次ã«ãã¹ã¯ãªãããå®è¡ããŸãã
String _file="/Users/jenkins/WORK/repositories.txt"; ArrayList _list=[]; FileReader _reader = new FileReader(_file); String _line = null; while( ( _line = _reader.readLine() ) != null ) { _list << _line; } return _list.sort();
- ã¢ã»ã³ããªãã©ãããã©ãŒã ã®éžæã PLATFORMãäœæããŸãããã¹ã¯ãªããã¯å€éšãã¡ã€ã«ã®ååã®ã¿ãç°ãªããŸãã 以äžã¯ã4.6ããŒãžã§ã³ã®ãã©ãããã©ãŒã ã®ãªã¹ãã§ãã
unity_platforms.txtWebplayer
WebPlayerStreamed
ã¹ã¿ã³ãã¢ãã³OSXIntel
ã¹ã¿ã³ãã¢ãã³OSXIntel64
StandaloneOSXUniversal
ã¹ã¿ã³ãã¢ãã³ãŠã£ã³ããŠ
iPhone
PS3
XBOX360
Android
ã¹ã¿ã³ãã¢ãã³Linux
StandaloneLinux64
StandaloneLinuxUniversal
Flashplayer
ã¹ã¿ã³ãã¢ãã³Windows64
WP8Player
ãã£ãŒã³
PSP2
Ps4
PSM
Xboxone
SamsungTV
- èšå®ãã¡ã€ã«ã®éžæ-PRESET
import hudson.*; import hudson.model.*; ArrayList _list=[]; _list << ""; FilePath _wp = new FilePath(new FilePath(jenkins.root),project.getCustomWorkspace()); hudson.FilePath _dir = _wp.child("Assets/BuildPresets/"); if (_dir.exists() == false) return _list; hudson.FilePath[] _files = _dir.list("*.asset") for (hudson.FilePath _file : _files) { if (_file.isDirectory() == false) {
ãã®ã¹ã¯ãªããã§ã¯ããã¹ã¯ãªããã§äºåå®çŸ©ãããå€æ°ã䜿çšããããã§ãã¯ããã¯ã¹ãæå¹ã«ã㊠ãã³ã¬ã¯ã¿ãŒã«ã¢ã¯ã»ã¹ã§ããããã«ããŸãã ã³ãŒãã¯Javaã«äŒŒãŠããŸã ãããã¥ã¡ã³ãã¯http://javadoc.jenkins-ci.org/jenkins/model/Jenkins.htmlã«ãããŸãã getCustomWorkspaceé¢æ°ã¯ã以åã«æå®ããæ£ç¢ºãªå Žæãžã®ã¢ã¯ã»ã¹ãæäŸããŸãã ããã©ã«ãã®ãã³ãã¬ãŒãã䜿çšããå Žåããã¹ãæ瀺çã«é§åããå¿
èŠããããŸãã
- BUILD_UNITYãã©ã¡ãŒã¿ãŒãäœæããŸãã ãã®ããã«ã¯ã Textarea Choice Parameterãåå¥ã«éžæããŸããããã§ãå€TRUEãšFALSEã2è¡ã«åããŸã ã
- ã ãœãŒã¹ç®¡ç ããèšå®ããŸãã Subversionãéžæããã¢ãã¬ã¹ãšããŠ$ {REPOSITORY} ãç¡éã®æ·±ããå
¥åããã¢ã¯ã»ã¹çšã®ãŠãŒã¶ãŒåãšãã¹ã¯ãŒããéžæããŸãïŒãŸãã¯ããŸã è¡ã£ãŠããªãå Žåã¯äœæããŸãïŒã ã¢ã»ã³ãã«æã«ãå
¥åãããåŒã®ä»£ããã«ãã¡ã€ã«ããã®æ瀺çãªåŒã䜿çšãããŸãã æŠç¥ãšããŠãã æåã«å
ã«æ»ããŠããæŽæ° ããéžæããŸãã
- ã ã¢ã»ã³ããªããªã¬ãŒ ããèšå®ããŸãã ããšãã°ãææ°ããŒãžã§ã³ããªããžããªã«è¡šç€ºãããåŸã«ã®ã¿ãã¿ã¹ã¯ã1æ¥ã«1åå®æçã«åéã§ããŸãã ããšãã°ãã å€æŽã«ã€ããŠSCMã«å°ãã ããã£ãŒã«ãã®ãH * / 8 * * *ãã¯ãææ°ããŒãžã§ã³ã§1æ¥ã«3åã¢ã»ã³ããªãéå§ããŸãã ã¡ãã¥ãŒã®æšªã«ãæ§æã®èª¬æã«é¢ãããã«ãããããŸãã
ä»ã®ãã«ããªãã·ã§ã³ã®èšå®ã®è©³çŽ°ã¯ãã¡ã ã ã¢ã»ã³ããªããªããžããªã®ææ°ããŒãžã§ã³ã«çŠç¹ãåãããŠãããããã©ã«ãã®ãªããžããªä»¥å€ã®ãªããžããªãèšå®ã§éžæãããŠããå Žåãããã©ã«ããå€æŽãããŠãã¢ã»ã³ããªã¯å®è¡ãããªãããšã«æ³šæããŠãã ããïŒ è§£æ±ºçã¯ã次ã®ã¢ã»ã³ããªãæåã§åãæ¿ããããããªã¬ãŒãŸãã¯ã¹ã±ãžã¥ãŒã«ã«åŸã£ãŠã¢ã»ã³ããªãæ§æããããšã§ãã
- æåŸã«ã ã¢ã»ã³ããªåŸã®æäœãã»ã¯ã·ã§ã³ã«é²ã¿ã Groovy Postbuildã¹ããããè¿œå ããŸãã ã¢ã»ã³ããªã®æåãåæããæãç°¡åãªã¹ã¯ãªããã¯æ¬¡ã®ãšããã§ãã
String proc = "/bin/sh /Users/jenkins/WORK/build-failure.sh"; if (manager.build.getResult() == hudson.model.Result.SUCCESS) proc = "/bin/sh /Users/jenkins/WORK/build-success.sh"; proc.execute();
ããšãã°ããšã©ãŒã¹ã¯ãªãããšããŠã次ã䜿çšã§ããŸãã
say "Kill all humans"
- ãã®æ®µéã§ãèšå®ãä¿åããŠã¢ã»ã³ããªãéå§ããŸãã ã¿ã¹ã¯ã®æåŸã«ãã£ã¬ã¯ããªãäœæãããªããžããªãããããžã§ã¯ããããŠã³ããŒãããŠãã¹ã¯ãªããã®1ã€ãäœæããŸãã ãšã©ãŒãçºçããå Žåãã¹ã¯ãªããã§äœ¿çšãããŠãããã¹ãŠã®ãã¡ã€ã«ãäœæãããŠãããã©ãããããã³ãããã«æ£ããã¢ã¯ã»ã¹æš©ããããã©ããã確èªããŸãã
- ãã¹ãŠãæ©èœããå Žåã¯ãèšå®ã·ãŒãã®äžå€®ã«æ»ããŸãã ã ã¹ã¯ãªããããç°å¢å€æ°ãçæããã ãéžæããŠã次ã®ããã«å
¥åããŸãã
BUILD_SUBDIR=`awk -F: '/location:/ {sub(/.*location: */,""); gsub(/\\\\/,"/"); print}' Assets/BuildPresets/${PRESET}.asset` BUILD_DIR="${WORKSPACE}/${BUILD_SUBDIR}" BUILD_VERSION=`../svnversion -c . | cut -f2 -d:` APPLICATION_NAME=`awk -F: '/buildName:/ {sub(/.*buildName: */,""); gsub(/\\\\/,"/"); print}' Assets/BuildPresets/${PRESET}.asset` BUILD_ARTIFACT=${APPLICATION_NAME}-${PRESET}-${BUILD_VERSION}.zip echo BUILD_SUBDIR=${BUILD_SUBDIR} echo BUILD_DIR=${BUILD_DIR} echo BUILD_VERSION=${BUILD_VERSION} echo APPLICATION_NAME=${APPLICATION_NAME} echo BUILD_ARTIFACT=${BUILD_ARTIFACT}
ã¹ã¯ãªããã®æåã®éšåã§ã¯ãã¢ã»ã³ããªãã©ã¡ãŒã¿ãŒã䜿çšããŠè¿œå ã®å€æ°ãçæããŸãã ããšãã°ã PRESETãã¡ã€ã«ã§éžæããèšå®ããæ£ç¢ºãªã¢ã»ã³ããªãã£ã¬ã¯ããªãšã¢ããªã±ãŒã·ã§ã³åãæ€çŽ¢ããŸãã svnversionãã¡ã€ã«ã¯WORKãã©ã«ããŒã«é
眮ãããŸãããããåŒã³åºãããšã«ãããã¢ã»ã³ããªã«é¢ãã詳现æ
å ±ãååŸã§ããŸãã ãã¹ãŠã®ãã¹ã¯ãçŸåšã®ãã£ã¬ã¯ããªããã®çžå¯Ÿãã¹ã§ãã
2çªç®ã®éšåã¯ãç¹ã«ã¢ã»ã³ããªããã»ã¹çšã§ãã ãã«ãã«æžãããŠããããã«ãå€æ°ãã¢ã»ã³ããªã«çŽæ¥çµ±åããã«ã¯ããã®åœ¢åŒã§å€æ°ã/ stdoutã«éä¿¡ããå¿
èŠããããŸãã
- [ ã¢ã»ã³ããª]ã»ã¯ã·ã§ã³ã«ç§»åããã¢ã»ã³ããªã¹ãããæ¡ä»¶ä»ãã¹ãããïŒè€æ°ïŒãäœæããŸã ã éå§æ¡ä»¶ã§ãæååã®ç䟡æ¡ä»¶ãéžæãã1ã€ã®ãã£ãŒã«ãã§ç䟡ãã¹ã$ {BUILD_UNITY}ãå®è¡ããå¥ã®ãã£ãŒã«ãã§TRUEãå®è¡ããŸãã ãã®ã»ã¯ã·ã§ã³ã§ã¯ã以éã®ãã¹ãŠã®æé ãå®è¡ããŸãã ãã®é åºã«ãããããŒã¿ãæŽæ°ããããã ãã«ã¿ã¹ã¯ãå®è¡ã§ããŸãã
- ã·ã§ã«ã³ãã³ãã䜿çšããŠã¹ããããè¿œå ããŸãã ã¢ã»ã³ããªããåã«ãã¢ã»ã³ããªãã£ã¬ã¯ããªãã¯ãªãŒã³ã¢ããããå¿
èŠããããŸããç¹å®ã®å€æ°ã䜿çšããŸãã
rm -rf "$BUILD_DIR" || true mkdir -p "$BUILD_DIR" || true
- 次ã®ã¹ãããã¯ã Invoke Unity3D Editorã§ãã ãã©ã¡ãŒã¿ãŒã«Unity_DefaultãŸãã¯ç¹å®ã®ããŒãžã§ã³ãæå®ããŸãã ã¢ã»ã³ããªãã©ã¡ãŒã¿ã¯æ¬¡ã®ãšããã§ãã
-quit -batchmode -executeMethod Build.CmdBuild -buildPreset=$PRESET -switchBuildTarget=$PLATFORM
ã»ãšãã©ã®ããŒã ã¯ã ãã¡ãã®å
¬åŒãã«ãã«èšèŒãããŠããŸã ã æåŸã®2ã€ã®ãã©ã¡ãŒã¿ãŒã¯ãã«ãã¹ã¯ãªããå°çšã§ããç¹å®ã®ãªãã·ã§ã³ããªãå Žåã¯ãæšæºã®-buildOSXPlayerã䜿çšã§ããŸãã ã¹ã¯ãªãããšåŒæ°ã®äŸã¯ã Unity3dBuilderãã©ã°ã€ã³ãã©ã°ã€ã³æ
å ±ãšUnityã³ãã¥ããã£Wikiã«ãããŸã ã
- æåŸã®ãã«ãæé ã¯ãçµæãã¢ãŒã«ã€ãããããšã§ãã æšæºã³ãã³ãïŒ
cd `dirname ${BUILD_SUBDIR}` zip -qr "${BUILD_DIR}/${BUILD_ARTIFACT}" `basename ${BUILD_SUBDIR}`
- ã¢ã»ã³ããªåŸã®æäœã»ã¯ã·ã§ã³ã§ã ã¢ã»ã³ããªã®èª¬æãè¿œå ã§ããŸãã ããšãã°ã $ {BUILD_VERSION} $ {PRESET}ã§ãã ã³ã¬ã¯ã¿ãŒã®å±¥æŽã§ãã«ãã®æšªã«è¡šç€ºãããŸãã
- ã¢ã»ã³ããªçµæãã¢ãŒã«ã€ãããŸãã ãã¹ãŠã®ãã¡ã€ã«ããªã¹ãã§ããŸãããã®äŸã§ã¯ãã¢ã»ã³ãã«ãããã¢ãŒã«ã€ã$ {BUILD_SUBDIR} / $ {BUILD_ARTIFACT}ãä¿åããå¿
èŠããããŸãã ãã®æé ãã¹ããããããšãã¢ã»ã³ããªçµæãããŠã³ããŒãã§ããªããªããŸãã èšå®ã§çµæã®èªåã¯ãªãŒãã³ã°ãæå®ãããŠããå ŽåãåŸè
ã®ããã€ãã®ã¿ã䜿çšå¯èœã«ãªããŸãã
- æåŸã®ã¹ãããã¯ã Unityã®ã«ãŒã«ã§ãã°è§£æãèšå®ããããšã§ãã ãã®åŸã1ã€ã®ãã©ãããã©ãŒã ã®ã¿ã¹ã¯ã¯å®å
šã«æºåãæŽããŸãã
æ°ããã¿ã¹ã¯ãäœæãã
äžèšã®äŸã§ã¯ãã¿ã¹ã¯ã¯
Macçšã«ãã«ãããããã«æ§æãããŠããŸãã
Windowsãš
Linuxã§ã®ã¢ã»ã³ããªã¯ããªãœãŒã¹ãåã€ã³ããŒãããã«åããããžã§ã¯ãã§å®è¡ã§ãããããåãã¢ã»ã³ããªãã£ã¬ã¯ããªã䜿çšã§ããŸãã ãããè¡ãã«ã¯ãæ°ããã¿ã¹ã¯ãäœæããæ¢åã®ã¿ã¹ã¯ã®ã³ããŒãã¿ã€ããšããŠéžæããŸããèšå®ã§ã¯ãã¢ã€ã³ã³ãã¿ã¹ã¯åãããã©ã«ããã©ãããã©ãŒã ã®ã¿ãå€æŽããŸãïŒãã£ã¬ã¯ããªã¯å€ããŸãŸã§ãïŒïŒã
衚瀺èšå®ã§ã¯ãã¿ã¹ã¯ããšã«ãã£ã«ã¿ãŒãäœæããã¡ã€ã³ããŒãžã«ã¢ã»ã³ããªã«é¢ããå¿
èŠãªæ
å ±ã衚瀺ã§ããŸãã æçµçã«ã次ã®ãããªãã®ãååŸã§ããŸãã
Androidãã«ãããã«ããã
æåã®éšåã§ã¯ã
JDKãš
JREãžã®ãªã³ã¯ãæäŸãããŸãã
-here å®éãã³ã¬ã¯ã¿ãŒãæ£åžžã«æ©èœããã«ã¯
Javaãå¿
èŠã§ãã
Androidãã«ããå®å
šã«ãã«ãããã«ã¯ã
Android SDKã
ããŠã³ããŒãããŠæ§æããå¿
èŠããã
ãŸã ã
æ£ããåäœãããã«ã¯ããŠãŒã¶ãŒ
jenkinsã®äžã§
Unityãšãã£ã¿ãŒãéãã
Unity / Preferences / External Toolsã«ç§»åããŠã
Android SDKãžã®ãã¹ãæ§æããå¿
èŠããã
ãŸã ã æ°ããããŒãžã§ã³ã§ã¯ã
JDKãžã®ãã¹ãæå®ããå¿
èŠããããŸããå€ãããŒãžã§ã³ã§ã¯ããã®ãã£ãŒã«ãããããŸããã åäœããæ§æã®äŸïŒ
- OS X 10.10.5
- jdk-8u60-macosx-x64
- Android SDKïŒããŒã«24.3.4
- Android SDKïŒãã©ãããã©ãŒã ããŒã«23.0.1
- Android SDKïŒãã«ãããŒã«23.0.1
- Android SDKïŒSDKãã©ãããã©ãŒã API 23
- Unity 4.6.6f2
- Android SDKã®å ŽæïŒã/ãŠãŒã¶ãŒ/ãžã§ã³ãã³ã¹/ WORK / AndroidSDKã
- JDKã®å ŽæïŒã/ã©ã€ãã©ãª/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/ã
éèŠïŒ ãšãã£ã¿ãŒã®åããŒãžã§ã³ïŒ3.xx 4.xxãš5.xxã«ã¯ç°ãªãæ§æãã¡ã€ã«ããããŸãïŒããã³ã¢ã»ã³ããªãå®è¡ãããåãŠãŒã¶ãŒïŒ
jenkinsã«ååïŒãæ§æããå¿
èŠããããŸãã
ã³ã¬ã¯ã¿ãŒã§æ°ããã¿ã¹ã¯ãäœæããããã«ã
ã¹ã¿ã³ãã¢ãã³ã¿ã¹ã¯ãã³ããŒã§ããŸãã ãã®å Žåã
ã«ã¹ã¿ã ã¯ãŒã¯ã¹ããŒã¹ãã£ã¬ã¯ããªãå€æŽããå¿
èŠããããŸã-ãªãœãŒã¹ãå¥ã®ãã©ãããã©ãŒã ã«åã€ã³ããŒãããæéã¯éåžžã«é·ããªãå¯èœæ§ãããããã
Androidãã«ãã§ã¯ãããžã§ã¯ãçšã«åå¥ã®ãã£ã¬ã¯ããªãäœæããŸãã æ§æãã¡ã€ã«ããã«ããã©ãããã©ãŒã ãã¿ã¹ã¯ã¢ã€ã³ã³ãå€æŽããŸãã ä¿åãããã¢ã»ã³ããªãã¡ã€ã«ã«ãéãããããŸããããšãã°ãçµæãã¢ãŒã«ã€ãããããšã¯ã§ããŸãããã
$ {BUILD_SUBDIR} / *ãApkã$ {BUILD_SUBDIR} / *ãObbãã¡ã€ã«ãä¿åã§ããŸãã
ãã«ãããŒã«ãå€æŽããæ¹æ³ã¯ãããŸããã ããšãã°ã
Unityã®ç°ãªãããŒãžã§ã³ã§ã
JDKãš
AndroidSDKã®èšå®ãç°ãªã1ã€ã4ã€ç®ã®äžä»£ãæ§ç¯ããå¿
èŠããã
ãŸã ã
ãjenkins / Library / Preferences / com.unity3d.UnityEditor4.x.plistãã¡ã€ã« ïŒ
ã·ã§ã«ã® defaultsã³ãã³ãã䜿çšïŒãç·šéããã¢ã»ã³ããªã¹ããããè¿œå ã§ããŸãããŸãã
JDKãã©ã¡ãŒã¿ãŒãã©ã°ã€ã³ãã€ã³ã¹ããŒã«ãã
JDKãéžæããŠã¢ã»ã³ããªããã©ã¡ãŒã¿ãŒåã§ããŸãã
誰ãããããè¡ãå Žå-çµæã®è³Œèªãåæ¢ããŠãã ãã-ç§ã¯ãããèšäºã«å«ããŸããéèŠïŒ
Android SDKãæŽæ°ããå Žåããããžã§ã¯ãçšã«äœæããããã¹ãŠã®
Javaãã©ã°ã€ã³ãåæ§ç¯ããå¿
èŠããããŸãã
ãµã€ããèšãããã«ïŒã¢ã»ã³ããªäžã«ãã¢ã»ã³ããªã©ã€ã³ã«
-source 1.6 -target 1.6ãå«ããŸãã
ã¢ããããŒã10.13.15
- è€æ°ã®ãã«ããäžåºŠã«ãã«ãããããšã«é¢ããYoungSkipperã®æ³šæ ã æåãããå®è£
ãšç·šéãè©Šã¿ãŸãããmacminiããã«ããªãå ŽåããããŸãã
ã¢ããããŒã10.20.15
- iOSåãã®ãã«ãã«é¢ããèšäºã倧ãããããããAndroidã®æé ã¯ãã®èšäºã«ç§»åããŸããã
- ãã¶ã€ã³ã¯ãããã«ç·šéãããŠããŸãã