{"id":33992,"date":"2020-01-03T15:49:21","date_gmt":"2020-01-03T06:49:21","guid":{"rendered":"https:\/\/blog.jetbrains.com\/kr\/?p=500"},"modified":"2020-01-03T15:49:21","modified_gmt":"2020-01-03T06:49:21","slug":"teamcity-2019-2-ec2-dsl","status":"publish","type":"post","link":"https:\/\/blog.jetbrains.com\/ko\/2020\/01\/03\/teamcity-2019-2-ec2-dsl\/","title":{"rendered":"TeamCity 2019.2\uac00 \uc0c8\ub85c\uc6b4 \uc0ad\uc81c \uaddc\uce59, EC2 \uc2e4\ud589 \ud15c\ud50c\ub9bf, \ube4c\ub4dc \uccb4\uc778 DSL \ub4f1\uc758 \uae30\ub2a5\uacfc \ud568\uaed8 \ucd9c\uc2dc\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},"content":{"rendered":"TeamCity 2019.2\ub294 \ube4c\ub4dc \uc815\ub9ac\ub97c \uad00\ub9ac\ud558\uace0 \uc11c\ubc84 \uc131\ub2a5\uc744 \ubaa8\ub2c8\ud130\ub9c1\ud558\ub294 \uc0c8\ub86d\uace0 \ud0c1\uc6d4\ud55c \ubc29\ubc95\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. EC2 \uc2e4\ud589 \ud15c\ud50c\ub9bf\uc744 \uc9c0\uc6d0\ud558\uba70 \ube4c\ub4dc \uccb4\uc778\uc744 \uc815\uc758\ud558\uae30 \uc704\ud55c \uc0c8\ub85c\uc6b4 DSL \uad6c\ubb38\uc744 \ud3ec\ud568\ud569\ub2c8\ub2e4. \ub610\ud55c Git \ud328\uce58\ub85c \uac1c\uc778 \ube4c\ub4dc\ub97c \uac04\ud3b8\ud558\uac8c \uc2e4\ud589\ud560 \uc218 \uc788\ub294 \ubc29\ubc95\uc744 \uc81c\uacf5\ud558\uace0 \uc2e4\ud5d8\uc801 UI\ub97c \ud06c\uac8c \uac1c\uc120\ud588\uc2b5\ub2c8\ub2e4.\r\n\r\n\ub354 \ud6a8\uc728\uc801\uc73c\ub85c \uc815\ub9ac\r\nTeamCity 2019.2\ub294 \ube4c\ub4dc\uc5d0\uc11c \uc0dd\uc131\ub41c \uc774\uc804 \ub370\uc774\ud130 \ubc0f \uc544\ud2f0\ud329\ud2b8\uc5d0 \ub300\ud55c \uc0c8\ub85c\uc6b4 \ucc28\uc6d0\uc758 \uc81c\uc5b4 \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \uc7ac\uc124\uacc4\ub41c \uc815\ub9ac \uc5d4\uc9c4\uc758 \ub3c4\uc6c0\uc73c\ub85c \uad11\ubc94\uc704\ud55c \ud544\ud130\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc5ec\ub7ec \uc815\ub9ac \uc815\ucc45\uc744 \uc815\uc758\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \ud2b9\uc815 \ube0c\ub79c\uce58\uc5d0 \uc18d\ud558\uac70\ub098 \ud2b9\uc815 \ud0dc\uadf8\ub97c \uac00\uc9c4 \ubaa8\ub4e0 \ube4c\ub4dc\ub97c \uc720\uc9c0\ud558\ub3c4\ub85d \uc120\ud0dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\uc0c8\ub85c\uc6b4 \uc815\ub9ac \uaddc\uce59\uc740 \uac1c\ubc1c \uc911\uc5d0 \uae30\ub2a5 \ube0c\ub79c\uce58\ub97c \uc0ac\uc6a9\ud558\ub294 \ud300\uacfc \ud504\ub85c\uc81d\ud2b8\uac00 \ub9ce\uc740 \ud68c\uc0ac\uc5d0 \ud2b9\ud788 \ub3c4\uc6c0\uc774 \ub420 \uac83\uc785\ub2c8\ub2e4.\r\n\r\nCI\ub97c \uc804\uccb4\uc801\uc73c\ub85c \ud30c\uc545\r\n\uc804\ubb38\uac00\ub294 \ub9e4\uc6b0 \uc911\uc694\ud55c \uc2dc\uc2a4\ud15c\uc758 \ub3d9\uc791 \ubc0f \uc131\ub2a5\uc744 \ubaa8\ub2c8\ud130\ub9c1\ud558\ub294 \ub370 \uc720\uc6a9\ud55c \ub3c4\uad6c\ub97c \uc120\ud638\ud569\ub2c8\ub2e4. 2019.2\ubd80\ud130 TeamCity\ub294 HTTP \uc5d4\ub4dc\ud3ec\uc778\ud2b8\ub97c \ud1b5\ud574 \uc790\uccb4 \uce21\uc815\uae30\uc900\uc744 \ub178\ucd9c\ud558\ubbc0\ub85c Prometheus\ub85c \uc2a4\ud06c\ub7a9\ud55c \ub2e4\uc74c Prometheus \uc6f9 \uc778\ud130\ud398\uc774\uc2a4 \ub610\ub294 Grafana \ub300\uc2dc\ubcf4\ub4dc\uc5d0\uc11c \uc2dc\uac01\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\uce21\uc815\uae30\uc900\uc5d0\ub294 \uc11c\ubc84 \uc131\ub2a5 \uc815\ubcf4\ub97c \ube44\ub86f\ud574 \uc5d0\uc774\uc804\ud2b8, \ud504\ub85c\uc81d\ud2b8, \ube4c\ub4dc \uad6c\uc131\uc5d0 \uad00\ud55c \ub2e4\uc591\ud55c \uc138\ubd80 \uc815\ubcf4\uac00 \ud3ec\ud568\ub429\ub2c8\ub2e4.\r\n\r\n\ub354\uc6b1 \ucee4\uc9c4 \ud655\uc7a5\uc131\r\n\ub300\uaddc\ubaa8 \uc870\uc9c1\uc758 \uacbd\uc6b0 \ub300\ubd80\ubd84 \uc6cc\ud06c\ud50c\ub85c\uc6b0\uc5d0\uc11c \uace0\uc131\ub2a5 CI\uac00 \ub9e4\uc6b0 \uc911\uc694\ud569\ub2c8\ub2e4. TeamCity\ub294 \ub2e4\uc911 \ub178\ub4dc \uc124\uc815\uc744 \ud55c \ub2e8\uacc4 \ub354 \ud5a5\uc0c1\ud558\uc5ec \uc0ac\uc6a9\uc790\uac00 \ube4c\ub4dc \ub300\uae30\uc5f4\uc5d0 \ube4c\ub4dc\ub97c \ucd94\uac00\ud558\uace0 \ube4c\ub4dc \ubb38\uc81c \ubc0f \uc870\uc0ac\ub97c \uad00\ub9ac\ud558\uba70 \uadf8 \uc678 \uc0ac\uc6a9\uc790 \uc218\uc900 \uc791\uc5c5\uc744 \ubcf4\uc870 \uc11c\ubc84\uc5d0\uc11c \uc218\ud589\ud560 \uc218 \uc788\ub3c4\ub85d \uc9c0\uc6d0\ud569\ub2c8\ub2e4.\r\n\uc2e4\ud5d8\uc801 UI\ub85c \uc0dd\uc0b0\uc131\uc744 \ub192\uc774\ub294 \ub2e4\uc591\ud55c \ubc29\ubc95\r\n\uac1c\ubc1c\uc790\ub294 \ud558\ub8e8\uc5d0 \uc5ec\ub7ec \ubc88 TeamCity\ub97c \uc5f4\uac8c \ub418\ub294 \uacbd\uc6b0\uac00 \ub9ce\uc73c\ubbc0\ub85c TeamCity\uac00 \ud504\ub85c\uc81d\ud2b8\uc758 \uaddc\ubaa8\uc640 \ubcf5\uc7a1\uc131\uc5d0 \uad00\uacc4\uc5c6\uc774 \ud544\uc694\ud55c \uac83\uc744 \ube60\ub974\uac8c \ucc3e\uc744 \uc218 \uc788\ub294 \uc7a5\uc18c\uac00 \ub418\uae30\ub97c \ubc14\ub78d\ub2c8\ub2e4. TeamCity UI \ub85c\ub4dc\ub9f5\uc744 \ub530\ub77c \uc774\ubc88\uc5d0\ub294 \uac04\ud3b8\ud558\uac8c \ube4c\ub4dc \uae30\ub85d\uc744 \ud0d0\uc0c9\ud558\uace0 \ubb38\uc81c\ub97c \uc870\uc0ac\ud558\uba70 \ube4c\ub4dc \uccb4\uc778\uc758 \uad6c\uc131 \uc624\ub958 \ub610\ub294 \ubcd1\ubaa9 \ud604\uc0c1\uc744 \ubc1c\uacac\ud560 \uc218 \uc788\ub294 \uc0c8\ub85c\uc6b4 \ube4c\ub4dc \ud398\uc774\uc9c0\ub97c \uc18c\uac1c\ud569\ub2c8\ub2e4.\r\n\uc2e4\ud5d8\uc801 UI\ub97c \ud655\uc778\ud574 \ubcf4\uc138\uc694. \ub514\uc790\uc778\ub3c4 \ub354 \uba4b\uc788\uc5b4\uc84c\uc2b5\ub2c8\ub2e4.\r\n\r\nEC2 \uc2e4\ud589 \ud15c\ud50c\ub9bf. \uc0c8\ub85c\uc6b4 \ucc28\uc6d0\uc758 \ube4c\ub4dc \uacbd\ud5d8\r\nJetBrains\ub294 \ucd5c\uc2e0 \uc6cc\ud06c\ud50c\ub85c\uc6b0\uc5d0\uc11c \uc0ac\uc6a9\uc790\uc5d0\uac8c \ud544\uc694\ud55c \ubaa8\ub4e0 \uae30\ub2a5\uc774 TeamCity\uc5d0 \uc788\uae30\ub97c \ubc14\ub78d\ub2c8\ub2e4. 2019.2 \ubc84\uc804\uc5d0\uc11c\ub294 EC2 \uc2e4\ud589 \ud15c\ud50c\ub9bf\uc774 \uc0c8\ub86d\uac8c \uc9c0\uc6d0\ub418\uc5b4 \uc0ac\uc6a9\uc790\uac00 \uc790\uc2e0\uc758 AWS \uacc4\uc815\uc758 \uc2e4\ud589 \ub9e4\uac1c\ubcc0\uc218\ub85c \ud074\ub77c\uc6b0\ub4dc \ube4c\ub4dc \uc5d0\uc774\uc804\ud2b8\ub97c \uc2e4\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc2e4\ud589 \ud15c\ud50c\ub9bf\uc744 \uc0ac\uc6a9\ud558\uba74 \ube4c\ub4dc \uc5d0\uc774\uc804\ud2b8\uc5d0\uc11c \uc0c8 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uc5c5\ub370\uc774\ud2b8\ud558\uace0 \uc124\uce58\ud558\ub294 \uc791\uc5c5\uc774 \ub9e4\uc6b0 \uac04\ub2e8\ud574\uc838 \ub354 \uc774\uc0c1 TeamCity \ud504\ub85c\uc81d\ud2b8 \uad6c\uc131\uc744 \ubcc0\uacbd\ud560 \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.\r\n\r\nDSL \uc131\ub2a5 \ud5a5\uc0c1\r\n\uac04\ud3b8\ud558\uac8c \ube4c\ub4dc\ud558\ub294 \ube4c\ub4dc \uccb4\uc778\r\n\ud074\ub9ad\uc740 \uc774\uc81c \uadf8\ub9cc. \uc2a4\ud06c\ub9bd\ud2b8\uc5d0 \ubc18\uac00\uc6b4 \uc778\uc0ac\ub97c. Kotlin DSL\uc740 \uc774\uc81c \ube4c\ub4dc \uccb4\uc778\uc744 \uc815\uc758\ud558\uae30 \uc704\ud55c \ub9e4\uc6b0 \uac04\ub2e8\ud55c \uad6c\ubb38\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc21c\ucc28\uc801 \ubcd1\ub82c \ube4c\ub4dc\ub97c \uc124\uc815\ud558\uace0 \uc2e4\ud328 \uc870\uac74 \ubc0f \uc885\uc18d \uc694\uc18c\ub97c \uad6c\uc131\ud558\uace0 \ubaa8\ub4e0 \uac83\uc744 \ucf54\ub4dc\ub85c \uc800\uc7a5\ud574 \ubcf4\uc138\uc694.\r\n\uc218\ub9ce\uc740 \ub9e4\uac1c\ubcc0\uc218. \ub2e8 \ud558\ub098\uc758 \ud15c\ud50c\ub9bf\r\n\ud504\ub85c\uc81d\ud2b8 \uad6c\uc131\uc774 \ubb34\ucc99 \uac04\ud3b8\ud574\uc84c\uc2b5\ub2c8\ub2e4. 2019.2\ubd80\ud130 \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ub9e4\uac1c\ubcc0\uc218\ub97c Kotlin DSL \uad6c\uc131\uc5d0 \ud3ec\ud568\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ub9e4\uac1c\ubcc0\uc218\ub294 \ud504\ub85c\uc81d\ud2b8\ub97c \uac00\uc838\uc624\uac70\ub098 \ud504\ub85c\uc81d\ud2b8 \uc124\uc815\uc744 \uc5c5\ub370\uc774\ud2b8\ud560 \ub54c UI\uc5d0\uc11c \uc815\uc758\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\uc2e4\ud589\uc740 \ub9ce\uc774. \ub300\uae30 \uc2dc\uac04\uc740 \uc9e7\uac8c. Git \ud328\uce58\ub85c \ube4c\ub4dc \uc2dc\uc791\r\nGit \ud328\uce58\ub97c \uc0dd\uc131\ud574 TeamCity\uc5d0 \uc5c5\ub85c\ub4dc\ud558\uace0 \uac1c\uc778 \ube4c\ub4dc\ub97c \uc2e4\ud589\ud558\uc5ec \ubcc0\uacbd \ub0b4\uc6a9\uc744 \ube60\ub974\uac8c \ud14c\uc2a4\ud2b8\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ube0c\ub79c\uce58\ub97c \uc0dd\uc131\ud558\uac70\ub098 \ucee4\ubc0b\ud560 \ud544\uc694\uac00 \uc804\ud600 \uc5c6\uc2b5\ub2c8\ub2e4.\r\n\r\n2019.2 \ubc84\uc804\uc758 \uc804\uccb4 \ubcc0\uacbd \ubaa9\ub85d\uc740 TeamCity \ubb38\uc11c\ub97c \ucc38\uc870\ud558\uc138\uc694.\r\nTeamCity 2019.2 \ub2e4\uc6b4\ub85c\ub4dc\r\n\uc0c8 \ubc84\uc804\uc744 \uc124\uce58\ud558\uae30 \uc804\uc5d0 \uc5c5\uadf8\ub808\uc774\ub4dc \ub178\ud2b8\ub97c \ud655\uc778\ud574 \uc8fc\uc138\uc694. \ubb38\uc81c\uac00 \uc788\uc744 \uacbd\uc6b0 \uc5b8\uc81c\ub4e0\uc9c0 \ud2b8\ub798\ucee4\uc5d0 \ub9ac\ud3ec\ud2b8\ud558\uac70\ub098 \ud3ec\ub7fc\uc5d0 \uc9c8\ubb38\ud574 \uc8fc\uc138\uc694.\r\n\r\n\ubcf8\ubb38\uc740 Alexander Rassokhin\uc758 TeamCity 2019.2 is here with new clean-up rules, EC2 launch templates, a build chain DSL, and more\ub97c \ubc88\uc5ed\ud55c \uae00\uc785\ub2c8\ub2e4.","protected":false},"excerpt":{"rendered":"TeamCity 2019.2\ub294 \ube4c\ub4dc \uc815\ub9ac\ub97c \uad00\ub9ac\ud558\uace0 \uc11c\ubc84 \uc131\ub2a5\uc744 \ubaa8\ub2c8\ud130\ub9c1\ud558\ub294 \uc0c8\ub86d\uace0 \ud0c1\uc6d4\ud55c \ubc29\ubc95\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. EC2 \uc2e4\ud589 \ud15c\ud50c\ub9bf\uc744 \uc9c0\uc6d0\ud558\uba70 \ube4c\ub4dc \uccb4\uc778\uc744 \uc815\uc758\ud558\uae30 \uc704\ud55c \uc0c8\ub85c\uc6b4 DSL \uad6c\ubb38\uc744 \ud3ec\ud568\ud569\ub2c8\ub2e4. \ub610\ud55c Git \ud328\uce58\ub85c \uac1c\uc778 \ube4c\ub4dc\ub97c \uac04\ud3b8\ud558\uac8c \uc2e4\ud589\ud560 \uc218 \uc788\ub294 \ubc29\ubc95\uc744 \uc81c\uacf5\ud558\uace0 \uc2e4\ud5d8\uc801 UI\ub97c \ud06c\uac8c \uac1c\uc120\ud588\uc2b5\ub2c8\ub2e4.\ub354 \ud6a8\uc728\uc801\uc73c\ub85c \uc815\ub9acTeamCity 201","protected":false},"author":{"name":"Jessie Cho","link":"https:\/\/blog.jetbrains.com\/ko\/author\/jessie-chojetbrains-com"},"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[3991],"tags":[5582,5355,5431],"cross-post-tag":[],"acf":[],"featured_image":null,"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/posts\/33992"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/users\/964"},{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/users\/964"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/comments?post=33992"}],"version-history":[{"count":0,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/posts\/33992\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media?parent=33992"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/categories?post=33992"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/tags?post=33992"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/cross-post-tag?post=33992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}