2. Scouter APMÀ» Á÷Á¢ ºôµåÇغ¸ÀÚ - Server Æí
À̹ø Æ÷½ºÆ®¿¡¼´Â ±âÁ¸ÀÇ ½ºÄ«¿ìÅÍ ¹èÆ÷ÆÇ(release)ÀÌ ¾Æ´Ñ github¿¡ ¿Ã·ÁÁ® ÀÖ´Â ¼Ò½ºÄڵ带 ÀÌ¿ëÇÏ¿© Á÷Á¢ ºôµåÇÏ´Â ¹æ¹ýÀ» ¼Ò°³Çϵµ·Ï ÇÏ°Ú´Ù. ±× Áß¿¡¼µµ ƯÈ÷ ¼¹ö ºôµå¿¡ ´ëÇؼ »ìÆ캸µµ·Ï ÇÏ°Ú´Ù.
ÁøÇàÀº ¾Æ·¡¿Í °°Àº ¼ø¼·Î Çϵµ·Ï ÇÏ°Ú´Ù.
1. ±âº» ȯ°æ¼³Á¤
2. ¼Ò½ºÄÚµå ´Ù¿î·Îµå ¹× import
3. ¼Ò½ºÄÚµå ¼öÁ¤ ¹× ºôµå
4. ÃÖÁ¾ °á°ú¹° È®ÀÎ
¶ÇÇÑ º» Æ÷½ºÆÿ¡¼´Â Windows 10 ȯ°æ¿¡¼ÀÇ ¼¹ö ºôµå ¹× Ubuntu 16.04LTS ȯ°æ¿¡¼ÀÇ ±¸µ¿ Å×½ºÆ®¸¦ ÁøÇàÇϵµ·Ï ÇÏ°Ú´Ù.
1. ºôµå Àü ±âº» ȯ°æ¼³Á¤
¼Ò½ºÄڵ带 ºÒ·¯¿À±â ¾Õ¼ ¼¹ö¸¦ ºôµåÇϱâ À§ÇÑ ¿ä±¸Á¶°ÇÀ» »ìÆ캸¸é ¾Æ·¡¿Í °°´Ù.
1. JDK´Â 1.7 ÀÌ»óÀÇ ¿À¶óŬ Java JDK¸¦ ±ÇÀåÇÑ´Ù. (http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
2. ¼¹öÀÇ ºôµå´Â ANT·Î ÁøÇàÇϱ⠶§¹®¿¡ ANT°¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.
±×·±µ¥ ÀÌŬ¸³½º¸¦ ±ò¸é ÀÚµ¿À¸·Î ±ò¸®±â ¶§¹®¿¡ ´ëºÎºÐÀÇ °æ¿ì ÀÌ¹Ì ÀÖÀ» °ÍÀÌ´Ù.
¾ø´Ù¸é ´Ù¿î·Îµå¸¦ ÇØÁØ´Ù(http://ant.apache.org/)
3. ÀÌ ÀÌ¿Ü¿¡µµ ¼¹ö´Â Java + Scala·Î ±¸¼ºµÇ¾î Àֱ⠶§¹®¿¡ Scalaµµ ¼³Ä¡ÇØ ÁÖ¾î¾ß Çϳª, ÃßÈÄ ¼Ò½ºÄڵ带 import ÇÑ ÀÌÈÄ¿¡ ¼³¸íÇϵµ·Ï ÇÏ°Ú´Ù.
2. ¼Ò½ºÄÚµå ´Ù¿î·Îµå & ÇÁ·ÎÁ§Æ® import
¸ÕÀú Scouter ProjectÀÇ github¿¡ Á¢¼ÓÇÏ¿© ¼Ò½ºÄڵ带 ´Ù¿î·Îµå ¹Þµµ·Ï ÇÑ´Ù.
´Ù¿î·Îµå°¡ ¿Þ·áµÇ¸é ÇØ´ç zip ÆÄÀÏÀ» ¿¾î¼ ÀÚ½ÅÀÇ ÀÌŬ¸³½º workspace¿¡ ¾ÐÃàÇ®±â¸¦ ÇÑ´Ù.
ÀÌÁ¦ ÀÌŬ¸³½º¸¦ ½ÇÇà½ÃŲ µÚ, ¾ÐÃàÇ®¾î³õÀº ¼Ò½ºÄÚµåµéÀ» import ÇÑ´Ù.
´Ü, ¿©±â¼ Áß¿äÇÑ °ÍÀº ÃÑ 3°³ÀÇ ÇÁ·ÎÁ§Æ®¸¦ ÇʼöÀûÀ¸·Î import ÇØ¾ß ÇÑ´Ù.
Áï, scouter.serverÀÇ Dependency¸¦ »ìÆ캸¸é ¾Æ·¡¿Í °°´Ù.
1. scouter.common : ¸ðµç ½ºÄ«¿ìÅÍ ¸ðµâµéÀÌ °øÅëÀûÀ¸·Î »ç¿ëÇÏ´Â util µîÀ» ´ã¾Æ³õÀº ÇÁ·ÎÁ§Æ®
2. scouter.deploy : ¸ðµç ½ºÄ«¿ìÅÍ ¸ðµâµéÀÇ ½ÇÁúÀûÀÎ ºôµå ÀÛ¾÷ÀÌ ÀÌ·ïÁö´Â ÇÁ·ÎÁ§Æ®
3. scouter.server : ½ºÄ«¿ìÅÍ ¼¹ö ¸ðµâ¿¡ ´ëÇÑ ÇÁ·ÎÁ§Æ®
¹Ýµå½Ã À§ÀÇ 3°¡Áö ÇÁ·ÎÁ§Æ®¸¦ ÀüºÎ °³º°ÀûÀ¸·Î ´Ù import¸¦ ÇÏ¿© ÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇØ ÁÖ¾î¾ß ÇÑ´Ù!
À§ÀÇ °úÁ¤À» ÅëÇØ 3°³ÀÇ ÇÁ·ÎÁ§Æ®¸¦ ¸ðµÎ import ÇÏ¿´´Ù¸é ¾Æ·¡¿Í °°ÀÌ ³ªÅ¸³ª°Ô µÈ´Ù.
¸¶Áö¸·À¸·Î Scala¸¦ ¼³Ä¡ÇØ ÁÖ¸é µÈ´Ù.
scouter.server ³»ºÎ ¼Ò½ºÄڵ忡¼ ¾Æ¹« scala ÆÄÀÏÀ̳ª ¿¸é ÀÚµ¿À¸·Î ÀÌŬ¸³½º°¡ Scala¸¦ ¼³Ä¡ÇÒ °ÍÀÌ³Ä°í ¹°¾îº»´Ù.
¸¸¾à ³ª¿ÀÁö ¾Ê´Â´Ù¸é ÀÌŬ¸³½ºÀÇ ¸¶ÄÏÇ÷¹À̽º¿¡¼ Á÷Á¢ ´Ù¿î·Îµå¸¦ ¹Þ¾ÆÁØ´Ù.
Åë»ó 3 ~ 5ºÐ Á¤µµ°¡ ¼Ò¿äµÈ´Ù.
3. ¼Ò½ºÄÚµå ¼öÁ¤ & ºôµå
2¹ø °úÁ¤À» ÅëÇØ ¸ðµç ¼³Á¤ÀÌ ¿Ï·áµÇ¾ú´Ù¸é ÀÌÁ¦ °£´ÜÈ÷ ¼Ò½ºÄڵ带 ¼öÁ¤Çغ¸ÀÚ.
»ç½Ç ¼öÁ¤À̶ö°Íµµ ¾øÀÌ, ¿ì¸®°¡ ¼³Á¤ÇÑ ¼¹öÀÇ ¼Ò½ºÄڵ尡 Á¦´ë·Î ºôµåµÇ¾ú´ÂÁö È®ÀÎÇϱâ À§ÇÑ Ãâ·Â¹® Á¤µµ¸¸ Ãß°¡ÇØ º¸´Â ¼öÁØÀ¸·Î ÇÑ´Ù.
scouter.server ÇÁ·ÎÁ§Æ® -> src Æú´õ ³»ºÎ -> scouter.server ÆÐÅ°Áö -> Main.javaÀ» ¿¾î¼ ùÁÙ¿¡ Àû´çÇÑ Ãâ·Â¹®À» ÀÛ¼ºÇØÁØ´Ù.
ÀÌÁ¦ ÁøÂ¥·Î ºôµå¸¦ ÁøÇàÇغ¸ÀÚ.
ºôµå´Â ANT¸¦ ÅëÇØ ÁøÇàµÇ¸ç, ÇØ´ç ÆÄÀÏÀº scouter.deploy ÇÁ·ÎÁ§Æ® ³»ºÎ¿¡ ÀÖ´Ù.
scouter.deploy ÇÁ·ÎÁ§Æ® ³»ºÎ´Â ´ÙÀ½°ú °°ÀÌ ±¸¼ºµÇ¾îÀÖ´Ù.
build-agent.batch.xml : ¹èÄ¡ ¿¡ÀÌÀüÆ® ºôµå
build-agent.host.xml : È£½ºÆ® ¿¡ÀÌÀüÆ® ºôµå
build-agent.java.xml : ÀÚ¹Ù ¿¡ÀÌÀüÆ® ºôµå
build-common.xml : common ÆÄÀÏ ºôµå
build-server.xml : ¼¹ö ºôµå
build.xml : ÀüºÎ ´Ù ÆÐÅ°Áö·Î ºôµå
¿©±â¼ ¿ì¸®´Â ¼¹ö¸¸ ºôµå ÇÒ °ÍÀ̱⠶§¹®¿¡ build-server.xmlÀ» ¿ìŬ¸¯ ÇÑ µÚ, Run as - ANT¸¦ Ŭ¸¯ÇÑ´Ù.
Ŭ¸¯À» ÇÏ¸é ºôµå±â ÁøÇàµÇ°í, ÄܼÖâ¿¡ ÁøÇà ³»¿ªÀÌ Ãâ·ÂµÉ °ÍÀÌ´Ù.
¼¹ö ºôµå´Â ÃÖ¼Ò 1ºÐ ~ ÃÖ´ë 5ºÐ Á¤µµ±îÁö °É¸®¹Ç·Î ¿©À¯¸¦ °®°í ±â´Ù¸®¸é µÈ´Ù.
¼º°øÀûÀ¸·Î ¿Ï·áµÇ¸é ¾Æ·¡¿Í °°ÀÌ ³ª¿Â´Ù
(WarningÀº ´Ù ¹«½ÃÇصµ µÈ´Ù. ¸¶Áö¸·¿¡ BUILD SUCCESSFUL¸¸ Ãâ·ÂµÇ¸é OK)
ºôµå µÈ ¼¹ö ÆÐÅ°Áö´Â scouter.deploy ¾Æ·¡ out À̶õ Æú´õ¿¡ ÀúÀåµÇ¾îÀÖ´Ù.
outÆú´õ ³»ºÎÀÇ ºôµåµÈ ÆÄÀϵé Áß¿¡¼ ¿ì¸®°¡ ÇÊ¿äÇÑ ÁøÂ¥ ÇÙ½É ÆÄÀÏÀº /out/package/scouter/ ³»ºÎ¿¡ ÀÖ´Â server Æú´õÀÌ´Ù.
ÀÌÁ¦ Àú server Æú´õ¸¦ ¿øÇÏ´Â À§Ä¡·Î ¿Å°Ü¼ ½ÇÇà½ÃÅ°¸é µÈ´Ù.
º»ÀÎÀº Ubuntu·Î ¿Å°Ü ½ÇÇà½ÃÅ°±â À§ÇØ tar.gz·Î ¾ÐÃàÀ» ÁøÇàÇÏ¿´´Ù.
4. ÃÖÁ¾ È®ÀÎ
ÀÌÁ¦ serverÆú´õ·Î À̵¿ÇÏ¿© ½ÇÁ¦·Î ¼¹ö¸¦ ½ÇÇà½ÃÄѺ»´Ù.
Ãâ·ÂÀ» º¸¸é ¿ì¸®°¡ ÀÌÀü¿¡ Ãß°¡½ÃÄÑÁá´ø ¹®±¸°¡ Á¤»óÀûÀ¸·Î Æ÷ÇԵǼ ³ª¿À´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù!
Áï, Á¤»óÀûÀ¸·Î ºôµå¸¦ ¼º°øÇßÀ½À» ¾Ë ¼ö ÀÖ´Ù.
5. ¸¶Ä¡¸ç
¿©±â±îÁöÇؼ Á÷Á¢ ¼¹ö¸¦ ºôµåÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¸¾Ò´Ù.
º» Æ÷½ºÆ®¿¡¼´Â ¼öÁ¤À̶ö°Íµµ ¾øÀÌ Ãâ·Â¹® Çϳª¸¸ Ãß°¡½ÃÄÑÁØ °ÍÀÌ¿´À¸³ª, ºÐ¸í ½ºÄ«¿ìÅ͸¦ ÀÌ¿ëÇØ °³¹ßÀ» ÁøÇàÇÏ´Ùº¸¸é ÇʼöÀûÀ¸·Î ¿øº» ¼Ò½ºÄڵ忡 ´ëÇØ Ãß°¡/¼öÁ¤ ÀÛ¾÷ÀÌ ÀÌ·ïÁö°Ô µÉ °ÍÀÌ°í, ±× ¶§ ÀÌ ¹æ¹ýÀ¸·Î ºôµå¸¦ ÁøÇàÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» ¾Ë¾Ò´Ù´Â °Í¿¡ ÀÇÀǸ¦ µÎµµ·Ï ÇÑ´Ù.
Ãß°¡ÀûÀ¸·Î ¼³¸íÀÌ Àß µÇ¾îÀÖ´Â ¸µÅ©¸¦ ¼Ò°³ÇÏÀÚ¸é ¾Æ·¡¿Í °°´Ù.
½ºÄ«¿ìÅÍ °³¹ßÀÚ °¡À̵å: https://github.com/scouter-project/scouter/blob/master/scouter.document/tech/Developer-Guide_kr.md#build