{"id":70509,"date":"2021-02-22T17:28:27","date_gmt":"2021-02-22T15:28:27","guid":{"rendered":"https:\/\/jfrog.com\/?p=70509"},"modified":"2021-02-22T17:28:27","modified_gmt":"2021-02-22T15:28:27","slug":"achieving-continuous-deployment-with-artifactory-webhooks-docker","status":"publish","type":"post","link":"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/","title":{"rendered":"Artifactory Webhook\u3068Docker\u3067\u7d99\u7d9a\u7684\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u3092\u5b9f\u73fe"},"content":{"rendered":"<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-67908\" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17160842\/Continuous-Deployment-with-Artifactory-Webhooks-Docker-863x300-1.png\" alt=\"Continuous Deployment with Artifactory Webhooks &amp; Docker\" width=\"863\" height=\"300\" srcset=\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17160842\/Continuous-Deployment-with-Artifactory-Webhooks-Docker-863x300-1.png?speedsize=w_863 863w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17160842\/Continuous-Deployment-with-Artifactory-Webhooks-Docker-863x300-1.png?speedsize=w_300 300w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17160842\/Continuous-Deployment-with-Artifactory-Webhooks-Docker-863x300-1.png?speedsize=w_768 768w\" sizes=\"(max-width: 863px) 100vw, 863px\" \/><\/p>\n<p><span style=\"font-weight: 400\">\u7d99\u7d9a\u7684\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8(CD)\u3067\u306f\u30e1\u30a4\u30f3\u30d6\u30e9\u30f3\u30c1\u304b\u3089\u6700\u65b0\u306e\u30b3\u30fc\u30c9\u5909\u66f4\u3067\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u66f4\u65b0\u3059\u308b\u305f\u3081\u306b\u3001\u30a4\u30f3\u30d5\u30e9\u30b9\u30c8\u30e9\u30af\u30c1\u30e3\u3068\u81ea\u52d5\u5316\u306b\u95a2\u3059\u308b\u8a2d\u5b9a\u3092\u884c\u3046\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u304c\u79c1\u305f\u3061\u304c<\/span><a href=\"https:\/\/jfrog.com\/whitepaper\/a-vision-of-liquid-software\/\"><span style=\"font-weight: 400\">\u201cLiquid Software\u201d<\/span><\/a><span style=\"font-weight: 400\">\u3068\u547c\u3093\u3067\u3044\u308b\u3082\u306e\u3067\u3059\u3002\u5b8c\u5168\u306a\u81ea\u52d5\u5316\u306b\u3088\u308a\u3001\u30c7\u30d7\u30ed\u30a4\u304c\u30b7\u30fc\u30e0\u30ec\u30b9\u3067\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u306b\u304f\u304f\u3001\u9ad8\u901f\u306b\u306a\u308a\u3001\u5909\u66f4\u306e\u5ea6\u306b\u30c7\u30d7\u30ed\u30a4\u3067\u304d\u308b\u305f\u3081\u3001\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u30eb\u30fc\u30d7\u304c\u77ed\u304f\u306a\u308a\u307e\u3059\u3002<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u7d99\u7d9a\u7684\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u3092\u5b9f\u73fe\u3059\u308b\u306b\u306f\u4ee5\u4e0b\u306e\u8981\u7d20\u304c\u5fc5\u8981\u3067\u3059:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Jenkins\u3084JFrog Pipelines\u306a\u3069\u306e<\/span><b>\u7d99\u7d9a\u7684\u30a4\u30f3\u30c6\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3(CI)<\/b><span style=\"font-weight: 400\">\u3067\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u691c\u8a3c\/\u69cb\u7bc9\u3092\u884c\u3046\u3002<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">JFrog Artifactory\u306e\u3088\u3046\u306a<\/span><b>\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u7ba1\u7406<\/b><span style=\"font-weight: 400\">\u3067\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3092\u4fdd\u5b58\u3057\u3001\u30c7\u30d7\u30ed\u30a4\u306e\u5bfe\u8c61\uff08\u30b5\u30fc\u30d0\u30fc\u3001\u30b9\u30de\u30fc\u30c8\u30a2\u30d7\u30e9\u30a4\u30a2\u30f3\u30b9\u3001\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\uff09\u306b\u65b0\u3057\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u63d0\u4f9b\u3059\u308b\u3002<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\u65b0\u3057\u3044\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3092\u51e6\u7406\u3057\u3066\u904b\u7528\u53ef\u80fd\u306b\u3059\u308b<\/span><b>\u30c7\u30d7\u30ed\u30a4\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8<\/b><span style=\"font-weight: 400\">\uff08\u30ab\u30ec\u30f3\u30c8\u30b5\u30fc\u30d0\u30fc\u3092\u505c\u6b62\u3057\u3001\u30d0\u30a4\u30ca\u30ea\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3001\u30b5\u30fc\u30d0\u30fc\u3092\u8d77\u52d5\u3059\u308b\uff09\u3002\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306b\u306f2\u3064\u306e\u30bf\u30a4\u30d7\u304c\u3042\u308a\u307e\u3059:<\/span>\n<ul>\n<li style=\"font-weight: 400\"><b>\u30d7\u30eb<\/b><span style=\"font-weight: 400\">: \u30bf\u30fc\u30b2\u30c3\u30c8\u4e0a\u3067\u5b9f\u884c\u3059\u308b\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8<\/span><\/li>\n<li style=\"font-weight: 400\"><b>\u30d7\u30c3\u30b7\u30e5<\/b><span style=\"font-weight: 400\">: \u30bf\u30fc\u30b2\u30c3\u30c8\u3092\u30ea\u30e2\u30fc\u30c8\u3067\u66f4\u65b0\u3059\u308b\u5358\u4e00\u306e\u5834\u6240\u3067\u5b9f\u884c\u3055\u308c\u308b\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">\u30d7\u30eb\u3068\u30d7\u30c3\u30b7\u30e5\u30e2\u30c7\u30eb\u306b\u306f\u9577\u6240\u3068\u77ed\u6240\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u4e21\u65b9\u7d44\u5408\u308f\u305b\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002 \u30d7\u30eb\u30e2\u30c7\u30eb\u306e\u6700\u3082\u5927\u304d\u306a\u6b20\u70b9\u306f\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u304c\u30d0\u30a4\u30ca\u30ea\u30b9\u30c8\u30a2\u306e\u5909\u66f4\u3092\u8a8d\u8b58\u3057\u3066\u3044\u306a\u3044\u305f\u3081\u3001\u3044\u3064\u66f4\u65b0\u3092\u30c8\u30ea\u30ac\u30fc\u3059\u308b\u304b\u5206\u304b\u3089\u306a\u3044\u3053\u3068\u3067\u3059\u3002 \u30d7\u30c3\u30b7\u30e5\u30e2\u30c7\u30eb\u306e\u6b20\u70b9\u306e\u4e00\u3064\u306f\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3067\u3001\u3053\u308c\u306f\u30bf\u30fc\u30b2\u30c3\u30c8\u304c\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u8a8d\u8a3c\u3092\u78ba\u5b9f\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u305f\u3081\u3067\u3059\u3002<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u3053\u306e\u30d6\u30ed\u30b0\u3067\u306f\u30d7\u30c3\u30b7\u30e5\/\u30d7\u30eb\u30fb\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u4f5c\u6210\u65b9\u6cd5\u3092\u3054\u8aac\u660e\u3057\u307e\u3059\u3002Docker\u30a4\u30e1\u30fc\u30b8\u3092\u30d7\u30c3\u30b7\u30e5\u3057\u3066\u691c\u8a3c\u5f8c\u3001\u672c\u756a\u74b0\u5883\u3078\u3068\u30d7\u30ed\u30e2\u30fc\u30b7\u30e7\u30f3\u3057\u3001\u6700\u5f8c\u306b<\/span><a href=\"https:\/\/www.jfrog.com\/confluence\/display\/JFROG\/Webhooks\"><span style=\"font-weight: 400\">JFrog Artifactory webhook<\/span><\/a><span style=\"font-weight: 400\">\u3092\u4f7f\u7528\u3057\u3066\u672c\u756a\u30b5\u30fc\u30d0\u30fc\u3078\u306e\u30c7\u30d7\u30ed\u30a4\u3092\u30c8\u30ea\u30ac\u30fc\u3059\u308b\u624b\u9806\u3092\u8aac\u660e\u3057\u307e\u3059\u3002<\/span><\/p>\n<h2><b>Artifactory\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7<\/b><\/h2>\n<p><span style=\"font-weight: 400\">\u307e\u305a\u3001\u7a3c\u50cd\u3057\u3066\u3044\u308bArtifactory\u30b5\u30fc\u30d0\u30fc\u304c\u5fc5\u8981\u3067\u3059\u3002\u304a\u6301\u3061\u3067\u306a\u3044\u5834\u5408\u306f<\/span><a href=\"https:\/\/jfrog.com\/ja\/start-free\/#saas\"><span style=\"font-weight: 400\">\u7121\u511f\u3067\u30af\u30e9\u30a6\u30c9\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059<\/span><\/a><span style=\"font-weight: 400\">\u3002<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u521d\u3081\u306bdocker-local-stage\u3068docker-local-prod\u306e<\/span><a href=\"https:\/\/www.jfrog.com\/confluence\/display\/JFROG\/Docker+Registry#DockerRegistry-ConfiguringDockerRepositories\"><span style=\"font-weight: 400\">2\u3064\u306eDocker\u30ea\u30dd\u30b8\u30c8\u30ea<\/span><\/a><span style=\"font-weight: 400\">\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u65b0\u3057\u3044\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u4f5c\u6210\u3057\u307e\u3059:<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-67914\" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17161954\/Creating-new-Docker-repositories.png\" alt=\"Creating new Docker repositories\" width=\"924\" height=\"309\" srcset=\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17161954\/Creating-new-Docker-repositories.png?speedsize=w_924 924w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17161954\/Creating-new-Docker-repositories.png?speedsize=w_300 300w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17161954\/Creating-new-Docker-repositories.png?speedsize=w_768 768w\" sizes=\"(max-width: 924px) 100vw, 924px\" \/><\/p>\n<p><span style=\"font-weight: 400\">\u65b0\u3057\u3044\u30ea\u30dd\u30b8\u30c8\u30ea\u30fb\u30a6\u30a3\u30f3\u30c9\u30a6\u304b\u3089:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Docker\u3092\u9078\u629e<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Repository Key\u306b\u201ddocker-local-stage\u201d\u3092\u5165\u529b<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\u201cSave and finish\u201d\u3092\u30af\u30ea\u30c3\u30af<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\u201cdocker-local-prod\u201d\u3082\u540c\u69d8\u306b\u8a2d\u5b9a<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">2\u3064\u306e\u7a7a\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u304c\u4f5c\u6210\u3055\u308c\u305f\u306e\u3067\u3001webhook\u306e\u8a2d\u5b9a\u3092\u884c\u3044\u307e\u3059\u3002<\/span><i><span style=\"font-weight: 400\">Admin<\/span><\/i><span style=\"font-weight: 400\">\u30bf\u30d6 | <\/span><i><span style=\"font-weight: 400\">General<\/span><\/i><span style=\"font-weight: 400\"> | <\/span><i><span style=\"font-weight: 400\">Webhooks<\/span><\/i><span style=\"font-weight: 400\">\u306b\u79fb\u52d5\u3057\u3001&#8221;New webhook &#8220;\u3092\u30af\u30ea\u30c3\u30af\u3057\u307e\u3059\u3002\u4ee5\u4e0b\u306e\u30d5\u30a9\u30fc\u30e0\u306b\u8a18\u5165\u3057\u307e\u3059:<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-67915\" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17162140\/Create-new-webhook.png\" alt=\"Create new webhook\" width=\"603\" height=\"540\" srcset=\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17162140\/Create-new-webhook.png?speedsize=w_1608 1608w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17162140\/Create-new-webhook.png?speedsize=w_300 300w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17162140\/Create-new-webhook.png?speedsize=w_1024 1024w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17162140\/Create-new-webhook.png?speedsize=w_768 768w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17162140\/Create-new-webhook.png?speedsize=w_1536 1536w\" sizes=\"(max-width: 603px) 100vw, 603px\" \/><\/p>\n<p><b>\u30ce\u30fc\u30c8<\/b><span style=\"font-weight: 400\">: \u3053\u306e\u4f8b\u3067\u306fURL\u306f&#8221;<\/span><a href=\"http:\/\/host.docker.internal:7979\/\"><i><span style=\"font-weight: 400\">http:\/\/host.docker.internal:7979\/<\/span><\/i><\/a><span style=\"font-weight: 400\">&#8220;\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306fwebhook\u30cf\u30f3\u30c9\u30e9\u30fc\u304c\u30ed\u30fc\u30ab\u30eb\u30db\u30b9\u30c8\u306e\u30dd\u30fc\u30c87979\u3067\u5b9f\u884c\u3055\u308c\u308b\u3066\u3044\u308b\u305f\u3081\u3067\u3059\u3002\u3053\u3053\u3067\u306e\u201dhost.docker.internal\u201d\u3068\u3044\u3046\u30db\u30b9\u30c8\u540d\u306fDocker\u30b3\u30f3\u30c6\u30ca\u304b\u3089\u30db\u30b9\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u305f\u3081\u3067\u3059\u3002\u672c\u756a\u74b0\u5883\u3067\u306f\u3053\u306e\u5024\u3092\u672c\u756a\u30b5\u30fc\u30d0\u30fc\u306eURL\u3068\u30dd\u30fc\u30c8\u306b\u5909\u66f4\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/span><\/p>\n<p><span style=\"font-weight: 400\">Secret Token\u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u306f\u4efb\u610f\u306e\u6587\u5b57\u5217\u3092\u5165\u529b\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u3001HTTP\u30d8\u30c3\u30c0 &#8220;X-jfrog-event-auth&#8221;\u3067\u9001\u4fe1\u3055\u308c\u308b\u305f\u3081\u3001\u4fe1\u983c\u3067\u304d\u308b\u30bd\u30fc\u30b9\u304b\u3089\u6765\u3066\u3044\u308b\u3053\u3068\u3092\u30af\u30a8\u30ea\u306b\u3088\u3063\u3066\u78ba\u8a8d\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-67916\" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17162300\/Docker-tag-promoted-ecent.png\" alt=\"Docker tag promoted ecent\" width=\"900\" height=\"450\" srcset=\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17162300\/Docker-tag-promoted-ecent.png?speedsize=w_1805 1805w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17162300\/Docker-tag-promoted-ecent.png?speedsize=w_300 300w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17162300\/Docker-tag-promoted-ecent.png?speedsize=w_1024 1024w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17162300\/Docker-tag-promoted-ecent.png?speedsize=w_768 768w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17162300\/Docker-tag-promoted-ecent.png?speedsize=w_1536 1536w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/p>\n<p><span style=\"font-weight: 400\">\u201c<\/span><i><span style=\"font-weight: 400\">Docker tag got promoted<\/span><\/i><span style=\"font-weight: 400\">\u201d\u30a4\u30d9\u30f3\u30c8\u3092\u9078\u629e\u3057\u307e\u3059\u3002Artifactory\u3067\u306fDocker\u30a4\u30e1\u30fc\u30b8\u3092<\/span><a href=\"https:\/\/www.jfrog.com\/confluence\/display\/JFROG\/Docker+Registry#DockerRegistry-PromotingDockerImages\"><span style=\"font-weight: 400\">\u30d7\u30ed\u30e2\u30fc\u30b7\u30e7\u30f3<\/span><\/a><span style=\"font-weight: 400\">\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u308c\u306fDocker\u30a4\u30e1\u30fc\u30b8\u3092\u3042\u308b\u30ea\u30dd\u30b8\u30c8\u30ea\u304b\u3089\u5225\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u79fb\u52d5\u3057\u307e\u3059\u304c\u5185\u5bb9\u3092\u5909\u66f4\u3059\u308b\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u3053\u308c\u306b\u3088\u308a\u30b9\u30c6\u30fc\u30b8\u30f3\u30b0\u3067\u30c6\u30b9\u30c8\u3055\u308c\u305f\u30a4\u30e1\u30fc\u30b8\u304c\u672c\u756a\u3067\u30c7\u30d7\u30ed\u30a4\u3055\u308c\u308b\u30a4\u30e1\u30fc\u30b8\u3067\u3042\u308b\u3053\u3068\u304c\u4fdd\u8a3c\u3055\u308c\u307e\u3059\u3002<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u201c<\/span><i><span style=\"font-weight: 400\">Select Repositories<\/span><\/i><span style=\"font-weight: 400\">\u201d\u3092\u30af\u30ea\u30c3\u30af\u3057\u3001\u30a4\u30e1\u30fc\u30b8\u3092\u30d7\u30ed\u30e2\u30fc\u30b7\u30e7\u30f3\u3059\u308b\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u9078\u629e\u3057\u307e\u3059\u3002\u307e\u305f\u3001&#8221;Include Patterns&#8221;\u30bb\u30af\u30b7\u30e7\u30f3\u306b\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30d6\u30e9\u30a6\u30b6\u3067Docker\u30a4\u30e1\u30fc\u30b8\u306e<\/span><i><span style=\"font-weight: 400\">manifest.json<\/span><\/i><span style=\"font-weight: 400\">\u30d1\u30b9\u3068\u4e00\u81f4\u3059\u308b\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-67917\" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17162439\/Edit-Repositories-window.png\" alt=\"Edit Repositories window\" width=\"629\" height=\"526\" srcset=\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17162439\/Edit-Repositories-window.png?speedsize=w_1737 1737w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17162439\/Edit-Repositories-window.png?speedsize=w_300 300w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17162439\/Edit-Repositories-window.png?speedsize=w_1024 1024w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17162439\/Edit-Repositories-window.png?speedsize=w_768 768w, https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17162439\/Edit-Repositories-window.png?speedsize=w_1536 1536w\" sizes=\"(max-width: 629px) 100vw, 629px\" \/><\/p>\n<p><span style=\"font-weight: 400\">\u3053\u308c\u3067Artifactory\u3067\u306e\u8a2d\u5b9a\u304c\u5b8c\u4e86\u3057\u305f\u306e\u3067\u3001\u30cf\u30f3\u30c9\u30e9\u30fc\u306e\u69cb\u7bc9\u306b\u79fb\u308a\u307e\u3059\u3002<\/span><\/p>\n<h2><b>Webhook\u30cf\u30f3\u30c9\u30e9\u30fc<\/b><\/h2>\n<p><span style=\"font-weight: 400\">webhook\u30cf\u30f3\u30c9\u30e9\u30fc\u306f\u672c\u756a\u30b5\u30fc\u30d0\u30fc\u4e0a\u3067\u5b9f\u884c\u3055\u308c\u3001\u30a4\u30d9\u30f3\u30c8\u306e\u30da\u30a4\u30ed\u30fc\u30c9\u3092\u542b\u3080HTTP\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u53d7\u3051\u53d6\u308a\u307e\u3059\u3002\u30d7\u30ed\u30e2\u30fc\u30b7\u30e7\u30f3\u306e\u5834\u5408\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059:<\/span><\/p>\n<pre><code class=\"language-yml\"><span style=\"font-weight: 400;color: #ffffff\"><span style=\"font-weight: 400\">{\r\n    \"domain\": \"docker\",\r\n    \"event_type\": \"promoted\",\r\n    \"data\": {\r\n        \"image_name\": \"helloworld\",\r\n        \"name\": \"manifest.json\",\r\n        \"path\": \"helloworld\/latest\/manifest.json\",\r\n        \"platforms\": [],\r\n        \"repo_key\": \"docker-local-staging\",\r\n        \"sha256\": \"ee34c5c94b4d7d0b319af21a84ebb0bcc16ef01be9a6ee0277329256ecee29b0\",\r\n        \"size\": 949,\r\n        \"tag\": \"latest\"\r\n    }\r\n}\r\n<\/span><\/span><\/code><\/pre>\n<p><span style=\"font-weight: 400\">webhook \u30cf\u30f3\u30c9\u30e9\u30fc\u306f\u4ee5\u4e0b\u306e\u8003\u616e\u304c\u5fc5\u8981\u3067\u3059:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">HTTP\u30e1\u30c3\u30bb\u30fc\u30b8\u30fb\u30dc\u30c7\u30a3\u30fc\u3092\u89e3\u6790\u3057\u307e\u3059\u3002<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Docker\u30a4\u30e1\u30fc\u30b8\u3068\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u691c\u8a3c\u3057\u307e\u3059\u3002Artifactory\u306ewebhook\u8a2d\u5b9a\u306b\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u8ffd\u52a0\u3057\u305f\u5834\u5408\u3067\u3082\u3001\u30b5\u30fc\u30d0\u30fc\u306f\u5e38\u306b\u691c\u8a3c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\u6700\u65b0\u306eDocker\u30a4\u30e1\u30fc\u30b8\u3092\u30d7\u30eb\u3057\u307e\u3059\u3002<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\u5b9f\u884c\u4e2d\u306e\u30b3\u30f3\u30c6\u30ca\u3092\u505c\u6b62\u3057\u307e\u3059\uff08\u30b3\u30f3\u30c6\u30ca\u304c\u5b58\u5728\u3059\u308b\u5834\u5408\uff09\u3002<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u958b\u59cb\u3057\u307e\u3059\u3002<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">\u3053\u308c\u304c\u30cf\u30f3\u30c9\u30e9\u30fc\u306e\u30b3\u30a2\u306b\u306a\u308a\u307e\u3059\u3002\u30b3\u30fc\u30c9\u306e\u30b5\u30f3\u30d7\u30eb\u306f\u3053\u3061\u3089\u306e<\/span><a href=\"https:\/\/github.com\/jfrog\/project-examples\/tree\/master\/webhook-example\"><span style=\"font-weight: 400\">Github\u30ea\u30dd\u30b8\u30c8\u30ea<\/span><\/a><span style=\"font-weight: 400\">\u306b\u3042\u308a\u307e\u3059\u3002<\/span><\/p>\n<pre><code class=\"language-yml\"><span style=\"font-weight: 400;color: #ffffff\"><span style=\"font-weight: 400\">func main() {\r\n\thttp.HandleFunc(\"\/\", func (w http.ResponseWriter, r *http.Request) {\r\n\t\tctx := context.Background()\r\n\t\tp, err := readPayload(r)\r\n\t\tif err != nil {\r\n\t\t\thttp.Error(w, err.Error(), http.StatusBadRequest)\r\n\t\t\tlog.Printf(\"Payload reading error: %+v\", err)\r\n\t\t\treturn\r\n\t\t}\r\n\t\tif !isMyServerEvent(p) {\r\n\t\t\thttp.Error(w, \"Bad event\", http.StatusBadRequest)\r\n\t\t\tlog.Printf(\"Unexpected event %+v\", p)\r\n\t\t\treturn\r\n\t\t}\r\n\t\tcli, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation())\r\n\t\tif err != nil {\r\n\t\t\tlog.Printf(\"New client error: %+v\", err)\r\n\t\t\treturn\r\n\t\t}\r\n\t\terr = pullLatestVersion(cli, ctx)\r\n\t\tif err != nil  {\r\n\t\t\tlog.Printf(\"Pull error: %+v\", err)\r\n\t\t\treturn\r\n\t\t}\r\n\t\terr = stopRunningContainer(cli, ctx)\r\n\t\tif err != nil {\r\n\t\t\tif client.IsErrNotFound(err){\r\n\t\t\t\tlog.Printf(\"Container does not exists\")\r\n\t\t\t} else {\r\n\t\t\t\tlog.Printf(\"Stop error: %+v\", err)\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t}\r\n\t\terr = startContainer(cli, ctx)\r\n\t\tif err != nil {\r\n\t\t\tlog.Printf(\"Start error: %+v\", err)\r\n\t\t} else {\r\n            log.Printf(\"Container updated \")\r\n        }\r\n\t})\r\n\thttp.ListenAndServe(\":8081\", nil)\r\n}\r\n<\/span><\/span><\/code><\/pre>\n<p><span style=\"font-weight: 400\">\u3053\u3053\u3067\u306f\u4ee5\u4e0b\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">golang\u30d3\u30eb\u30c8\u30a4\u30f3http\u30b5\u30fc\u30d0\u30fc<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">docker golang SDK<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">\u4ee5\u4e0b\u306e\u30e1\u30bd\u30c3\u30c9\u306f\u30a4\u30d9\u30f3\u30c8\u306e\u30da\u30a4\u30ed\u30fc\u30c9\u306e\u5185\u5bb9\u3092\u30c1\u30a7\u30c3\u30af\u3057\u3066\u3044\u307e\u3059\u3002\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b\u3001\u30da\u30a4\u30ed\u30fc\u30c9\u306e\u3055\u307e\u3056\u307e\u306a\u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u30c1\u30a7\u30c3\u30af\u3057\u3066\u3044\u307e\u3059\u3002\u307e\u305f\u3001webhook\u306e\u4f5c\u6210\u30d5\u30a9\u30fc\u30e0\u3067\u5165\u529b\u3057\u305fsecret\u3082\u30c1\u30a7\u30c3\u30af\u3057\u3066\u3044\u307e\u3059\u3002\u30da\u30a4\u30ed\u30fc\u30c9\u69cb\u9020\u4f53\u306e\u5b9a\u7fa9\u306f<\/span><a href=\"https:\/\/github.com\/jfrog\/project-examples\/tree\/master\/webhook-example\"><span style=\"font-weight: 400\">\u3053\u3061\u3089\u306eGithub\u30ea\u30dd\u30b8\u30c8\u30ea<\/span><\/a><span style=\"font-weight: 400\">\u306b\u3042\u308a\u307e\u3059\u3002<\/span><\/p>\n<pre><code class=\"language-yml\"><span style=\"font-weight: 400;color: #ffffff\"><span style=\"font-weight: 400\">func isMyServerEvent(r *http.Request, p DockerEventPayload) bool {\r\n\treturn p.Domain == \"docker\" &amp;&amp;\r\n\t\tp.EventType == \"promoted\" &amp;&amp;\r\n\t\tp.Data.ImageName == \"helloworld\" &amp;&amp;\r\n\t\tp.Data.RepoKey == \"docker-local-staging\" &amp;&amp;\r\n\t\tp.Data.Tag == \"latest\" &amp;&amp;\r\n\t\tr.Header.Get(\"X-JFrog-Event-Auth\") == \"mysecrets\"\r\n}\r\n<\/span><\/span><\/code><\/pre>\n<p><span style=\"font-weight: 400\">\u6b21\u306b\u4ee5\u4e0b\u306e\u65b9\u6cd5\u3067Docker SDK\u3067\u6700\u65b0\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u30d7\u30eb\u3057\u307e\u3059\u3002<\/span><span style=\"font-weight: 400\"><br \/>\n<\/span><span style=\"font-weight: 400\">\u30ce\u30fc\u30c8: \u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306b\u30e6\u30fc\u30b6\u30fc\u306e\u8a8d\u8a3c\u60c5\u5831\u3092\u30cf\u30fc\u30c9\u30b3\u30fc\u30c9\u3059\u308b\u306e\u306f\u30d0\u30c3\u30c9\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3067\u3059\u3002\u3053\u306e\u30b5\u30f3\u30d7\u30eb\u3067\u306f\u8a8d\u8a3c\u65b9\u6cd5\u3092\u793a\u3059\u305f\u3081\u306b\u30e6\u30fc\u30b6\u30fc\u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u8ffd\u52a0\u3057\u3066\u3044\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u30b5\u30fc\u30d0\u30fc\u74b0\u5883\u306f\u201ddocker login\u201d\u3067\u8a2d\u5b9a\u3057\u3066\u304a\u304f\u3079\u304d\u306a\u306e\u3067\u3001\u3053\u308c\u306f\u5fc5\u8981\u306a\u3044\u3067\u3057\u3087\u3046\u3002<\/span><\/p>\n<pre><code class=\"language-yml\"><span style=\"font-weight: 400;color: #ffffff\"><span style=\"font-weight: 400\">func pullLatestVersion(cli *client.Client, ctx context.Context) error {\r\n\tauthConfig := types.AuthConfig{\r\n\t\tUsername: \"admin\",\r\n\t\tPassword: \"password\",\r\n\t}\r\n\tencodedJSON, _ := json.Marshal(authConfig)\r\n\t_, err := cli.ImagePull(ctx, imageName, types.ImagePullOptions{RegistryAuth: base64.URLEncoding.EncodeToString(\r\n\t\tencodedJSON)})\r\n\tif err != nil {\r\n\t\tlog.Printf(\"Pull error: %+v\", err)\r\n\t\treturn err\r\n\t}\r\n\treturn nil\r\n}\r\n<\/span><\/span><\/code><\/pre>\n<p><span style=\"font-weight: 400\">\u305d\u306e\u5f8c\u3001\u5b9f\u884c\u4e2d\u306e\u30b5\u30fc\u30d0\u30fc\u3092\u505c\u6b62\u3057\u307e\u3059:<\/span><\/p>\n<pre><code class=\"language-yml\"><span style=\"font-weight: 400;color: #ffffff\"><span style=\"font-weight: 400\">func stopRunningContainer(cli *client.Client, ctx context.Context) error {\r\n\treturn cli.ContainerRemove(ctx, containerName, types.ContainerRemoveOptions{Force: true})\r\n}\r\n<\/span><\/span><\/code><\/pre>\n<p><span style=\"font-weight: 400\">\u30b3\u30f3\u30c6\u30ca\u306e\u4f5c\u6210\u5f8c\u306b\u8d77\u52d5\u3057\u307e\u3059\uff08golang Docker SDK\u306b\u306f&#8221;docker run&#8221;\u306f\u3042\u308a\u307e\u305b\u3093\uff09:<\/span><\/p>\n<pre><code class=\"language-yml\"><span style=\"font-weight: 400;color: #ffffff\"><span style=\"font-weight: 400\">func startContainer(cli *client.Client, ctx context.Context) error {\r\n\tresp, err := cli.ContainerCreate(ctx,\r\n\t\t&amp;container.Config{\r\n\t\t\tImage: imageName,\r\n\t\t},\r\n\t\t&amp;container.HostConfig{\r\n\t\t\tPortBindings: nat.PortMap{\r\n\t\t\t\t\"8080\/tcp\": []nat.PortBinding{\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tHostIP:   \"0.0.0.0\",\r\n\t\t\t\t\t\tHostPort: \"8080\",\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t}, nil, nil, containerName)\r\n\tif err != nil {\r\n\t\treturn err\r\n\t}\r\n\terr = cli.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{})\r\n\tif err != nil {\r\n\t\treturn err\r\n\t}\r\n\treturn nil\r\n}\r\n<\/span><\/span><\/code><\/pre>\n<p><span style=\"font-weight: 400\">\u3053\u308c\u3067webhook\u30cf\u30f3\u30c9\u30e9\u30fc\u304c\u5b8c\u6210\u3057\u307e\u3057\u305f\u306e\u3067\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/span><\/p>\n<h2><b>\u30a4\u30e1\u30fc\u30b8\u3092\u30d3\u30eb\u30c9\/\u30d7\u30c3\u30b7\u30e5<\/b><\/h2>\n<p><span style=\"font-weight: 400\">\u4ee5\u4e0b\u306e\u30b7\u30f3\u30d7\u30eb\u306agolang\u306eweb\u30b5\u30fc\u30d0\u30fc\u3092\u30c6\u30b9\u30c8\u306b\u5229\u7528\u3057\u307e\u3059:<\/span><\/p>\n<pre><code class=\"language-yml\"><span style=\"font-weight: 400;color: #ffffff\"><span style=\"font-weight: 400\">package main\r\n\r\nimport (\r\n    \"fmt\"\r\n    \"net\/http\"\r\n)\r\n\r\nfunc main() {\r\n    http.HandleFunc(\"\/\", func (w http.ResponseWriter, r *http.Request) \r\n      {\r\n\t\tfmt.Fprintf(w, \"Hello World, %s!\", r.URL.Path[1:])\r\n\t }\r\n    )\r\n    http.ListenAndServe(\":8080\", nil)\r\n}\r\n<\/span><\/span><\/code><\/pre>\n<p><span style=\"font-weight: 400\">\u4ee5\u4e0b\u306ego\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u3063\u3066\u5b9f\u884c\u3057\u307e\u3059:<\/span><\/p>\n<pre><code class=\"language-yml\"><span style=\"font-weight: 400;color: #ffffff\"><span style=\"font-weight: 400\">go run serve.go\r\n<\/span><\/span><\/code><\/pre>\n<p><span style=\"font-weight: 400\">\u30d6\u30e9\u30a6\u30b6\u3067\u201dhttp:\/\/localhost:8080\u201d\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3067\u201dHello world\u201d\u3068\u8868\u793a\u3055\u308c\u307e\u3059\u3002<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u3053\u306e\u30a2\u30d7\u30ea\u306eDockerfile\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\uff08\u307b\u3068\u3093\u3069\u304cVSCode\u306egolang Dockerfile\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3068\u540c\u69d8\u3067\u3059\uff09:<\/span><\/p>\n<pre><code class=\"language-yml\"><span style=\"font-weight: 400;color: #ffffff\"><span style=\"font-weight: 400\">FROM golang:alpine AS builder\r\nRUN apk add --no-cache git\r\nWORKDIR \/go\/src\/app\r\nCOPY . .\r\nRUN go install -v .\/...\r\n\r\nFROM alpine:latest\r\nRUN apk --no-cache add ca-certificates\r\nCOPY --from=builder \/go\/bin\/app \/app\r\nENTRYPOINT .\/app\r\nLABEL Name=blogpostevent Version=0.0.1\r\nEXPOSE 8080\r\n<\/span><\/span><\/code><\/pre>\n<p><span style=\"font-weight: 400\">\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067dockerfile\u3092\u30d3\u30eb\u30c9\u3057\u307e\u3059\u3002\u3053\u308c\u306fCI\u30d7\u30ed\u30bb\u30b9\u3067\u81ea\u52d5\u5316\u3055\u308c\u3066\u3044\u308b\u306f\u305a\u3067\u3059\u3002<\/span><\/p>\n<pre><code class=\"language-yml\"><span style=\"font-weight: 400;color: #ffffff\"><span style=\"font-weight: 400\">docker build . -t localhost:8082\/docker-local-staging\/helloworld\r\n<\/span><\/span><\/code><\/pre>\n<p><a href=\"https:\/\/www.jfrog.com\/confluence\/display\/CLI\/JFrog+CLI\"><span style=\"font-weight: 400\">JFrog CLI<\/span><\/a><span style=\"font-weight: 400\">\u3092\u4f7f\u7528\u3057\u3066Docker\u30a4\u30e1\u30fc\u30b8\u3092Artifactory\u306b\u30d7\u30c3\u30b7\u30e5\u3057\u307e\u3059\u3002<\/span><\/p>\n<pre><code class=\"language-yml\"><span style=\"font-weight: 400;color: #ffffff\"><span style=\"font-weight: 400\">jfrog rt docker-push localhost:8082\/docker-local-staging\/helloworld docker-local-staging --url http:\/\/localhost:8082\/artifactory --user admin --password password\r\n<\/span><\/span><\/code><\/pre>\n<p><span style=\"font-weight: 400\">\u3053\u308c\u3067QA\u30c1\u30fc\u30e0\u3067\u30b5\u30fc\u30d0\u30fc\u3092\u30c6\u30b9\u30c8\u3057\u3066\u3082\u3089\u3048\u307e\u3059\u3002\u30c6\u30b9\u30c8\u5b8c\u4e86\u5f8c\u306b\u672c\u756a\u74b0\u5883\u306b\u30ea\u30ea\u30fc\u30b9\u3059\u308b\u5834\u5408\u306f\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3060\u3051\u3067\u3059:<\/span><\/p>\n<pre><code class=\"language-yml\"><span style=\"font-weight: 400;color: #ffffff\"><span style=\"font-weight: 400\">jfrog rt docker-promote helloworld docker-local-staging docker-local-prod --copy --user admin --password password --url http:\/\/localhost:8082\/artifactory\r\n<\/span><\/span><\/code><\/pre>\n<p><span style=\"font-weight: 400\">\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306f\u4ee5\u4e0b\u306e\u30d7\u30ed\u30bb\u30b9\u3092\u8d77\u52d5\u3057\u307e\u3059:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Artifactory\u306fDocker\u30a4\u30e1\u30fc\u30b8\u3092docker-local-prod\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3059\u3002<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Artifactory\u306fHTTP\u30ea\u30af\u30a8\u30b9\u30c8\u3067Webhook\u3092\u547c\u51fa\u3057\u307e\u3059\u3002<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">webhook\u30b5\u30fc\u30d0\u30fc\u306f\u6700\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30d7\u30eb\u3057\u307e\u3059\u3002<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\u5b9f\u884c\u4e2d\u306e\u30b5\u30fc\u30d0\u304c\u5b58\u5728\u3059\u308b\u5834\u5408\u3001\u305d\u306e\u30b5\u30fc\u30d0\u3092\u7d42\u4e86\u3057\u307e\u3059\u3002<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\u6700\u65b0\u306e\u72b6\u614b\u3067\u30b5\u30fc\u30d0\u30fc\u3092\u8d77\u52d5\u3057\u307e\u3059\u3002<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">\u3053\u308c\u3067\u5b8c\u6210\u3067\u3059\u3002\u3053\u308c\u3067\u7d99\u7d9a\u7684\u306a\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u8a2d\u5b9a\u304c\u3067\u304d\u307e\u3057\u305f\u3002<\/span><\/p>\n<h2><b>\u3055\u3089\u306b<\/b><\/h2>\n<p><span style=\"font-weight: 400\">\u4e0a\u8a18\u306e\u30ac\u30a4\u30c9\u304c\u7d99\u7d9a\u7684\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u5b9f\u88c5\u3068webhook\u306e\u5229\u7528\u306b\u5f79\u7acb\u3064\u3053\u3068\u3092\u9858\u3063\u3066\u3044\u307e\u3059\u3002\u8ffd\u52a0\u3067\u304d\u308b\u6a5f\u80fd\u306f\u305f\u304f\u3055\u3093\u3042\u308a\u307e\u3059\u3002\u4ee5\u4e0b\u306b\u3044\u304f\u3064\u304b\u306e\u30a2\u30a4\u30c7\u30a2\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">CI\u74b0\u5883\u3067\u3059\u3079\u3066\u306eDocker\u3001JFrog CLI\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002\u4f8b\u3048\u3070&#8221;#prod&#8221;\u3092\u542b\u3080\u30b3\u30df\u30c3\u30c8\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u3066\u3001\u958b\u767a\u8005\u304c\u30c7\u30d7\u30ed\u30a4\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\u30ea\u30a2\u30eb\u306a\u30b3\u30f3\u30c6\u30ca\u30fb\u30aa\u30fc\u30b1\u30b9\u30c8\u30ec\u30fc\u30b7\u30e7\u30f3\u3092\u5229\u7528\u3059\u308b\u3002Docker\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u306e\u3067\u306f\u306a\u304f\u3001Kubernetes\u3084Docker swarm\u3042\u308b\u3044\u306f\u30af\u30e9\u30a6\u30c9\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u306eSDK\u3092\u4f7f\u3046\u3053\u3068\u3092\u304a\u52e7\u3081\u3057\u307e\u3059\u3002<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3092\u5411\u4e0a\u3055\u305b\u307e\u3059\u3002Artifactory\u304b\u3089\u306eHTTP\u30af\u30a8\u30ea\u306b\u30ab\u30b9\u30bf\u30e0\u30d8\u30c3\u30c0\u30fc\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u306b\u3088\u308a\u3001\u4e0d\u8981\u306a\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u304c\u30c8\u30ea\u30ac\u30fc\u3055\u308c\u306a\u3044\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\u201cdocker push\u201d\u30a4\u30d9\u30f3\u30c8\u7528\u306ewebhook\u3092\u4f5c\u6210\u3057\u3001\u30b9\u30c6\u30fc\u30b8\u30f3\u30b0\u30fb\u30c7\u30d7\u30ed\u30a4\u3092\u81ea\u52d5\u5316\u3057\u307e\u3059\u3002<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">\u30af\u30e9\u30a6\u30c9\u306eFaaS\u307e\u305f\u306fPaaS\u306b\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3092\u5c0e\u5165\u3059\u308b<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">2\u3064\u306e\u30d7\u30ed\u30e2\u30fc\u30b7\u30e7\u30f3\u30a4\u30d9\u30f3\u30c8\u304c\u540c\u6642\u306b\u767a\u751f\u3057\u305f\u5834\u5408\u306b\u96c6\u7d04\u3059\u308b\u3053\u3068\u3067\u3001\u30b3\u30f3\u30c6\u30ca\u306e\u8907\u6570\u306e\u4e26\u5217\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u3092\u9632\u6b62\u3057\u307e\u3059\u3002<\/span><\/li>\n<\/ul>\n<h2><b>\u6700\u5f8c\u306b<\/b><\/h2>\n<p><span style=\"font-weight: 400\">\u3053\u306e\u30d6\u30ed\u30b0\u3067\u306fArtifactory\u306ewebhook\u3068\u5b8c\u5168\u306b\u81ea\u52d5\u5316\u3055\u308c\u305f\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u3092\u5229\u7528\u3057\u3001CI\/CD\u30d7\u30ed\u30bb\u30b9\u306e\u6700\u5f8c\u306e1\u30de\u30a4\u30eb\u3092\u9054\u6210\u3059\u308b\u65b9\u6cd5\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3057\u305f\u3002<\/span><a href=\"https:\/\/jfrog.com\/ja\/start-free\/#saas\"><span style=\"font-weight: 400\">\u305c\u3072\u3054\u81ea\u8eab\u3067\u304a\u8a66\u3057\u9802\u304d<\/span><\/a><span style=\"font-weight: 400\">\u3001\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3092\u9802\u3051\u308c\u3070\u3068\u601d\u3044\u307e\u3059\u3002<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7d99\u7d9a\u7684\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8(CD)\u3067\u306f\u30e1\u30a4\u30f3\u30d6\u30e9\u30f3\u30c1\u304b\u3089\u6700\u65b0\u306e\u30b3\u30fc\u30c9\u5909\u66f4\u3067\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u66f4\u65b0\u3059\u308b\u305f\u3081\u306b\u3001\u30a4\u30f3\u30d5\u30e9\u30b9\u30c8 &hellip;<\/p>\n","protected":false},"author":143,"featured_media":67911,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[9189],"tags":[],"class_list":["post-70509","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-9189"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.6 (Yoast SEO v22.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Artifactory Webhook\u3068Docker\u306b\u3088\u308b\u7d99\u7d9a\u7684\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8(CD)<\/title>\n<meta name=\"description\" content=\"\u5b9f\u884c\u4e2d\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u66f4\u65b0\u3059\u308b\u305f\u3081\u306e\u81ea\u52d5\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u3092\u8a2d\u5b9a\u3059\u308b\u65b9\u6cd5\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002Webhook\u3092\u4f7f\u7528\u3057\u305f\u691c\u8a3c\u3001\u30d7\u30ed\u30e2\u30fc\u30b7\u30e7\u30f3\u304b\u3089\u672c\u756a\u30b5\u30fc\u30d0\u30fc\u3078\u306e\u30c7\u30d7\u30ed\u30a4\u306e\u30c8\u30ea\u30ac\u30fc\u307e\u3067\u306e\u30b9\u30c6\u30c3\u30d7\u30d0\u30a4\u30b9\u30c6\u30c3\u30d7\u306e\u4f8b\u306a\u3069\u3002\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jfrog.com\/ja\/wp-json\/wp\/v2\/posts\/70509\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Artifactory Webhook\u3068Docker\u3067\u7d99\u7d9a\u7684\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u3092\u5b9f\u73fe\" \/>\n<meta property=\"og:description\" content=\"\u5b9f\u884c\u4e2d\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u66f4\u65b0\u3059\u308b\u305f\u3081\u306e\u81ea\u52d5\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u3092\u8a2d\u5b9a\u3059\u308b\u65b9\u6cd5\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002Webhook\u3092\u4f7f\u7528\u3057\u305f\u691c\u8a3c\u3001\u30d7\u30ed\u30e2\u30fc\u30b7\u30e7\u30f3\u304b\u3089\u672c\u756a\u30b5\u30fc\u30d0\u30fc\u3078\u306e\u30c7\u30d7\u30ed\u30a4\u306e\u30c8\u30ea\u30ac\u30fc\u307e\u3067\u306e\u30b9\u30c6\u30c3\u30d7\u30d0\u30a4\u30b9\u30c6\u30c3\u30d7\u306e\u4f8b\u306a\u3069\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/\" \/>\n<meta property=\"og:site_name\" content=\"JFrog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/artifrog\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-22T15:28:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/speedmedia.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/http:\/\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17160940\/Continuous-Deployment-with-Artifactory-Webhooks-Docker-203x148-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"203\" \/>\n\t<meta property=\"og:image:height\" content=\"148\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"yardenr\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@jfrog\" \/>\n<meta name=\"twitter:site\" content=\"@jfrog\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"yardenr\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/\"},\"author\":{\"name\":\"yardenr\",\"@id\":\"https:\/\/jfrog.com\/ja\/#\/schema\/person\/17b5a957427ef63e29b133865fbe38b5\"},\"headline\":\"Artifactory Webhook\u3068Docker\u3067\u7d99\u7d9a\u7684\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u3092\u5b9f\u73fe\",\"datePublished\":\"2021-02-22T15:28:27+00:00\",\"dateModified\":\"2021-02-22T15:28:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/\"},\"wordCount\":140,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/jfrog.com\/ja\/#organization\"},\"image\":{\"@id\":\"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17160940\/Continuous-Deployment-with-Artifactory-Webhooks-Docker-203x148-1.png\",\"articleSection\":[\"\u30ab\u30c6\u30b4\u30ea\u30fc\u306a\u3057\"],\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/\",\"url\":\"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/\",\"name\":\"Artifactory Webhook\u3068Docker\u306b\u3088\u308b\u7d99\u7d9a\u7684\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8(CD)\",\"isPartOf\":{\"@id\":\"https:\/\/jfrog.com\/ja\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17160940\/Continuous-Deployment-with-Artifactory-Webhooks-Docker-203x148-1.png\",\"datePublished\":\"2021-02-22T15:28:27+00:00\",\"dateModified\":\"2021-02-22T15:28:27+00:00\",\"description\":\"\u5b9f\u884c\u4e2d\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u66f4\u65b0\u3059\u308b\u305f\u3081\u306e\u81ea\u52d5\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u3092\u8a2d\u5b9a\u3059\u308b\u65b9\u6cd5\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002Webhook\u3092\u4f7f\u7528\u3057\u305f\u691c\u8a3c\u3001\u30d7\u30ed\u30e2\u30fc\u30b7\u30e7\u30f3\u304b\u3089\u672c\u756a\u30b5\u30fc\u30d0\u30fc\u3078\u306e\u30c7\u30d7\u30ed\u30a4\u306e\u30c8\u30ea\u30ac\u30fc\u307e\u3067\u306e\u30b9\u30c6\u30c3\u30d7\u30d0\u30a4\u30b9\u30c6\u30c3\u30d7\u306e\u4f8b\u306a\u3069\u3002\",\"breadcrumb\":{\"@id\":\"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/#primaryimage\",\"url\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17160940\/Continuous-Deployment-with-Artifactory-Webhooks-Docker-203x148-1.png\",\"contentUrl\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17160940\/Continuous-Deployment-with-Artifactory-Webhooks-Docker-203x148-1.png\",\"width\":203,\"height\":148,\"caption\":\"Continuous Deployment with Artifactory Webhooks & Docker\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jfrog.com\/ja\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Artifactory Webhook\u3068Docker\u3067\u7d99\u7d9a\u7684\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u3092\u5b9f\u73fe\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jfrog.com\/ja\/#website\",\"url\":\"https:\/\/jfrog.com\/ja\/\",\"name\":\"JFrog\",\"description\":\"Deliver Trusted Software Releases at Speed and Scale\",\"publisher\":{\"@id\":\"https:\/\/jfrog.com\/ja\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jfrog.com\/ja\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"ja\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jfrog.com\/ja\/#organization\",\"name\":\"JFrog\",\"url\":\"https:\/\/jfrog.com\/ja\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/jfrog.com\/ja\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/05\/27095207\/Logo.svg\",\"contentUrl\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/05\/27095207\/Logo.svg\",\"width\":74,\"height\":73,\"caption\":\"JFrog\"},\"image\":{\"@id\":\"https:\/\/jfrog.com\/ja\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/artifrog\",\"https:\/\/x.com\/jfrog\",\"https:\/\/www.linkedin.com\/company\/455737\",\"https:\/\/www.youtube.com\/channel\/UCh2hNg76zo3d1qQqTWIQxDg\",\"https:\/\/www.wikidata.org\/wiki\/Q98608948\"],\"description\":\"We set out on our Liquid Software journey in 2008, with the mission to transform the way enterprises manage and release software updates. The world expects software to update continuously, securely, non-intrusively and without user intervention. This hyper-connected experience can only be enabled by automation with an end-to-end DevOps platform and a binary-centric focus. With this in mind, we\u2019ve developed the JFrog Platform, ushering in a new era of DevOps and DevSecOps standards that power continuous updates. More than a decade after our founding, with thousands of customers and millions of users globally, JFrog has become the \u201cDatabase of DevOps\u201d and the de-facto standard in release and update management.\",\"legalName\":\"Jfrog, Inc.\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"1001\",\"maxValue\":\"5000\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jfrog.com\/ja\/#\/schema\/person\/17b5a957427ef63e29b133865fbe38b5\",\"name\":\"yardenr\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/jfrog.com\/ja\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1c782d13a43e902ae08f5ebccbf815ff26e829fd4472f78abea2d7f973d2c072?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1c782d13a43e902ae08f5ebccbf815ff26e829fd4472f78abea2d7f973d2c072?s=96&d=mm&r=g\",\"caption\":\"yardenr\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Artifactory Webhook\u3068Docker\u306b\u3088\u308b\u7d99\u7d9a\u7684\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8(CD)","description":"\u5b9f\u884c\u4e2d\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u66f4\u65b0\u3059\u308b\u305f\u3081\u306e\u81ea\u52d5\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u3092\u8a2d\u5b9a\u3059\u308b\u65b9\u6cd5\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002Webhook\u3092\u4f7f\u7528\u3057\u305f\u691c\u8a3c\u3001\u30d7\u30ed\u30e2\u30fc\u30b7\u30e7\u30f3\u304b\u3089\u672c\u756a\u30b5\u30fc\u30d0\u30fc\u3078\u306e\u30c7\u30d7\u30ed\u30a4\u306e\u30c8\u30ea\u30ac\u30fc\u307e\u3067\u306e\u30b9\u30c6\u30c3\u30d7\u30d0\u30a4\u30b9\u30c6\u30c3\u30d7\u306e\u4f8b\u306a\u3069\u3002","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jfrog.com\/ja\/wp-json\/wp\/v2\/posts\/70509","og_locale":"ja_JP","og_type":"article","og_title":"Artifactory Webhook\u3068Docker\u3067\u7d99\u7d9a\u7684\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u3092\u5b9f\u73fe","og_description":"\u5b9f\u884c\u4e2d\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u66f4\u65b0\u3059\u308b\u305f\u3081\u306e\u81ea\u52d5\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u3092\u8a2d\u5b9a\u3059\u308b\u65b9\u6cd5\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002Webhook\u3092\u4f7f\u7528\u3057\u305f\u691c\u8a3c\u3001\u30d7\u30ed\u30e2\u30fc\u30b7\u30e7\u30f3\u304b\u3089\u672c\u756a\u30b5\u30fc\u30d0\u30fc\u3078\u306e\u30c7\u30d7\u30ed\u30a4\u306e\u30c8\u30ea\u30ac\u30fc\u307e\u3067\u306e\u30b9\u30c6\u30c3\u30d7\u30d0\u30a4\u30b9\u30c6\u30c3\u30d7\u306e\u4f8b\u306a\u3069\u3002","og_url":"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/","og_site_name":"JFrog","article_publisher":"https:\/\/www.facebook.com\/artifrog","article_published_time":"2021-02-22T15:28:27+00:00","og_image":[{"width":203,"height":148,"url":"https:\/\/speedmedia.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/http:\/\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17160940\/Continuous-Deployment-with-Artifactory-Webhooks-Docker-203x148-1.png","type":"image\/png"}],"author":"yardenr","twitter_card":"summary_large_image","twitter_creator":"@jfrog","twitter_site":"@jfrog","twitter_misc":{"Written by":"yardenr","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/#article","isPartOf":{"@id":"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/"},"author":{"name":"yardenr","@id":"https:\/\/jfrog.com\/ja\/#\/schema\/person\/17b5a957427ef63e29b133865fbe38b5"},"headline":"Artifactory Webhook\u3068Docker\u3067\u7d99\u7d9a\u7684\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u3092\u5b9f\u73fe","datePublished":"2021-02-22T15:28:27+00:00","dateModified":"2021-02-22T15:28:27+00:00","mainEntityOfPage":{"@id":"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/"},"wordCount":140,"commentCount":0,"publisher":{"@id":"https:\/\/jfrog.com\/ja\/#organization"},"image":{"@id":"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17160940\/Continuous-Deployment-with-Artifactory-Webhooks-Docker-203x148-1.png","articleSection":["\u30ab\u30c6\u30b4\u30ea\u30fc\u306a\u3057"],"inLanguage":"ja","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/","url":"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/","name":"Artifactory Webhook\u3068Docker\u306b\u3088\u308b\u7d99\u7d9a\u7684\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8(CD)","isPartOf":{"@id":"https:\/\/jfrog.com\/ja\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/#primaryimage"},"image":{"@id":"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17160940\/Continuous-Deployment-with-Artifactory-Webhooks-Docker-203x148-1.png","datePublished":"2021-02-22T15:28:27+00:00","dateModified":"2021-02-22T15:28:27+00:00","description":"\u5b9f\u884c\u4e2d\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u66f4\u65b0\u3059\u308b\u305f\u3081\u306e\u81ea\u52d5\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u3092\u8a2d\u5b9a\u3059\u308b\u65b9\u6cd5\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002Webhook\u3092\u4f7f\u7528\u3057\u305f\u691c\u8a3c\u3001\u30d7\u30ed\u30e2\u30fc\u30b7\u30e7\u30f3\u304b\u3089\u672c\u756a\u30b5\u30fc\u30d0\u30fc\u3078\u306e\u30c7\u30d7\u30ed\u30a4\u306e\u30c8\u30ea\u30ac\u30fc\u307e\u3067\u306e\u30b9\u30c6\u30c3\u30d7\u30d0\u30a4\u30b9\u30c6\u30c3\u30d7\u306e\u4f8b\u306a\u3069\u3002","breadcrumb":{"@id":"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/#primaryimage","url":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17160940\/Continuous-Deployment-with-Artifactory-Webhooks-Docker-203x148-1.png","contentUrl":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2020\/12\/17160940\/Continuous-Deployment-with-Artifactory-Webhooks-Docker-203x148-1.png","width":203,"height":148,"caption":"Continuous Deployment with Artifactory Webhooks & Docker"},{"@type":"BreadcrumbList","@id":"https:\/\/jfrog.com\/ja\/blog\/achieving-continuous-deployment-with-artifactory-webhooks-docker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jfrog.com\/ja\/"},{"@type":"ListItem","position":2,"name":"Artifactory Webhook\u3068Docker\u3067\u7d99\u7d9a\u7684\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u3092\u5b9f\u73fe"}]},{"@type":"WebSite","@id":"https:\/\/jfrog.com\/ja\/#website","url":"https:\/\/jfrog.com\/ja\/","name":"JFrog","description":"Deliver Trusted Software Releases at Speed and Scale","publisher":{"@id":"https:\/\/jfrog.com\/ja\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jfrog.com\/ja\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"ja"},{"@type":"Organization","@id":"https:\/\/jfrog.com\/ja\/#organization","name":"JFrog","url":"https:\/\/jfrog.com\/ja\/","logo":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/jfrog.com\/ja\/#\/schema\/logo\/image\/","url":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/05\/27095207\/Logo.svg","contentUrl":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/05\/27095207\/Logo.svg","width":74,"height":73,"caption":"JFrog"},"image":{"@id":"https:\/\/jfrog.com\/ja\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/artifrog","https:\/\/x.com\/jfrog","https:\/\/www.linkedin.com\/company\/455737","https:\/\/www.youtube.com\/channel\/UCh2hNg76zo3d1qQqTWIQxDg","https:\/\/www.wikidata.org\/wiki\/Q98608948"],"description":"We set out on our Liquid Software journey in 2008, with the mission to transform the way enterprises manage and release software updates. The world expects software to update continuously, securely, non-intrusively and without user intervention. This hyper-connected experience can only be enabled by automation with an end-to-end DevOps platform and a binary-centric focus. With this in mind, we\u2019ve developed the JFrog Platform, ushering in a new era of DevOps and DevSecOps standards that power continuous updates. More than a decade after our founding, with thousands of customers and millions of users globally, JFrog has become the \u201cDatabase of DevOps\u201d and the de-facto standard in release and update management.","legalName":"Jfrog, Inc.","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"1001","maxValue":"5000"}},{"@type":"Person","@id":"https:\/\/jfrog.com\/ja\/#\/schema\/person\/17b5a957427ef63e29b133865fbe38b5","name":"yardenr","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/jfrog.com\/ja\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1c782d13a43e902ae08f5ebccbf815ff26e829fd4472f78abea2d7f973d2c072?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1c782d13a43e902ae08f5ebccbf815ff26e829fd4472f78abea2d7f973d2c072?s=96&d=mm&r=g","caption":"yardenr"}}]}},"_links":{"self":[{"href":"https:\/\/jfrog.com\/ja\/wp-json\/wp\/v2\/posts\/70509","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jfrog.com\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jfrog.com\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jfrog.com\/ja\/wp-json\/wp\/v2\/users\/143"}],"replies":[{"embeddable":true,"href":"https:\/\/jfrog.com\/ja\/wp-json\/wp\/v2\/comments?post=70509"}],"version-history":[{"count":2,"href":"https:\/\/jfrog.com\/ja\/wp-json\/wp\/v2\/posts\/70509\/revisions"}],"predecessor-version":[{"id":70535,"href":"https:\/\/jfrog.com\/ja\/wp-json\/wp\/v2\/posts\/70509\/revisions\/70535"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jfrog.com\/ja\/wp-json\/wp\/v2\/media\/67911"}],"wp:attachment":[{"href":"https:\/\/jfrog.com\/ja\/wp-json\/wp\/v2\/media?parent=70509"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jfrog.com\/ja\/wp-json\/wp\/v2\/categories?post=70509"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jfrog.com\/ja\/wp-json\/wp\/v2\/tags?post=70509"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}