{"id":522,"date":"2024-01-17T12:00:58","date_gmt":"2024-01-17T03:00:58","guid":{"rendered":"https:\/\/matomemopad.com\/?p=522"},"modified":"2026-01-25T19:53:24","modified_gmt":"2026-01-25T10:53:24","slug":"%e9%96%8b%e7%99%ba%ef%bc%88dev%ef%bc%89%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9","status":"publish","type":"post","link":"https:\/\/matomemopad.com\/?p=522","title":{"rendered":"\u958b\u767a\uff08Dev\uff09\u30b5\u30fc\u30d3\u30b9"},"content":{"rendered":"\n<a href=\"\/\/af.moshimo.com\/af\/c\/click?a_id=4440587&#038;p_id=5256&#038;pc_id=14256&#038;pl_id=68940\" rel=\"nofollow\" referrerpolicy=\"no-referrer-when-downgrade\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/image.moshimo.com\/af-img\/4162\/000000068940.png\" width=\"120\" height=\"60\" style=\"border:none;\"><\/a><img loading=\"lazy\" decoding=\"async\" src=\"\/\/i.moshimo.com\/af\/i\/impression?a_id=4440587&#038;p_id=5256&#038;pc_id=14256&#038;pl_id=68940\" width=\"1\" height=\"1\" style=\"border:none;\">\n\n\n\n<a href=\"\/\/af.moshimo.com\/af\/c\/click?a_id=4440586&#038;p_id=2011&#038;pc_id=4076&#038;pl_id=27528\" rel=\"nofollow\" referrerpolicy=\"no-referrer-when-downgrade\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/image.moshimo.com\/af-img\/1388\/000000027528.png\" width=\"728\" height=\"90\" style=\"border:none;\"><\/a><img loading=\"lazy\" decoding=\"async\" src=\"\/\/i.moshimo.com\/af\/i\/impression?a_id=4440586&#038;p_id=2011&#038;pc_id=4076&#038;pl_id=27528\" width=\"1\" height=\"1\" style=\"border:none;\">\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h1 class=\"wp-block-heading has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background has-background has-medium-font-size\">\u958b\u767a\u57fa\u790e\u77e5\u8b58<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u307e\u305a\u3001\u958b\u767a\u306e\u4e00\u822c\u7684\u306a\u6d41\u308c\u306f\u3001\u300c<span style=\"text-decoration: underline;\">Commit \u2192 Build \u2192 Test \u2192 Deploy<\/span>\u300d<\/p>\n\n\n\n<figure class=\"wp-block-table has-x-small-font-size\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Commit<\/strong><\/td><td>\u30fb\u5909\u66f4\u3092Commit\u3059\u308b<br>\u30fb\u8907\u6570\u306e\u5909\u66f4\u3092\u7d71\u5408\u3059\u308b<br>\u30fb\u5909\u66f4\u306e\u5c65\u6b74\u3092\u7d71\u5408\u3059\u308b<\/td><\/tr><tr><td><strong>Build<\/strong><\/td><td>\u30fb\u6210\u679c\u7269\u3092Build\u3059\u308b<br>\u30fb\u8907\u6570\u306e\u6210\u679c\u7269\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u89e3\u6c7a\u3059\u308b<br>\u30fb(Docker)\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u308b<\/td><\/tr><tr><td><strong>Test<\/strong><\/td><td>\u30fb\u6210\u679c\u7269\u306e\u5358\u4f53\u30c6\u30b9\u30c8\u5b9f\u884c<br>\u30fb\u6210\u679c\u7269\u306e\u7d50\u5408\u30c6\u30b9\u30c8\u5b9f\u884c<br>\u30fb\u30c6\u30b9\u30c8\u7d50\u679c\u3092\u51fa\u529b<\/td><\/tr><tr><td><strong>Deploy<\/strong><\/td><td>\u30fb\u6210\u679c\u7269\u3092\u958b\u767a\u74b0\u5883\u306b\u53cd\u6620<br>\u30fb\u6210\u679c\u7269\u3092\u672c\u756a\u74b0\u5883\u306b\u53cd\u6620<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>\u25cfWeb Hook<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u300c\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u306eHTTP\u901a\u77e5\u6a5f\u80fd\u300d\u3002\u3042\u308b\u30b5\u30fc\u30d3\u30b9\u3067\u7279\u5b9a\u306e\u30a4\u30d9\u30f3\u30c8\u304c\u767a\u751f\u3057\u305f\u3068\u304d\u3001\u4e8b\u524d\u306b\u6307\u5b9a\u3055\u308c\u305fURL\u3078\u81ea\u52d5\u7684\u306bHTTP\u30ea\u30af\u30a8\u30b9\u30c8\uff08\u901a\u5e38\u306fPOST\uff09\u3092\u9001\u4fe1\u3059\u308b\u3002\u3053\u306e\u6a5f\u80fd\u306b\u3088\u3063\u3066\u30a4\u30d9\u30f3\u30c8\u3092\u8d77\u70b9\u3068\u3057\u305f\u30d7\u30ed\u30b0\u30e9\u30e0\u3092HTTP\u901a\u4fe1\u3067\u5b9f\u884c\u3067\u304d\u308b\u305f\u3081\u3001\u30dd\u30fc\u30ea\u30f3\u30b0\u3084\u30e1\u30c3\u30bb\u30fc\u30b8\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u306e\u5229\u7528\u306f\u4e0d\u8981\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-background has-medium-font-size\" style=\"background:linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 97%,rgb(254,248,76) 100%)\"><strong>CLI<\/strong><\/h2>\n\n\n\n<div class=\"wp-block-media-text\" style=\"grid-template-columns:15% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"125\" height=\"125\" src=\"https:\/\/matomemopad.com\/wp-content\/uploads\/2024\/01\/image-5.png\" alt=\"\" class=\"wp-image-8966 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\">\u203bCLI\uff1a\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9<br>Amazon\u306e\u30af\u30e9\u30a6\u30c9\u30b5\u30fc\u30d3\u30b9\u3067\u3042\u308bAWS \u3092\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u304b\u3089\u5229\u7528\u3059\u308b\u305f\u3081\u306b\u3001\u516c\u5f0f\u306b\u63d0\u4f9b\u3055\u308c\u3066\u3044\u308b\u30c4\u30fc\u30eb\u3002\u4e00\u56de\u306ePUT\u30aa\u30da\u30ec\u30fc\u30b7\u30e7\u30f3\u3067\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3067\u304d\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u6700\u5927\u30b5\u30a4\u30ba\u306f5GB\u3002<\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u203bAWS\u64cd\u4f5c\u306f\u4e3b\u306bAWS\u30de\u30cd\u30b8\u30e1\u30f3\u30c8\u30b3\u30f3\u30bd\u30fc\u30eb\u3068AWS CLI\u3092\u5229\u7528<\/p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u30b3\u30de\u30f3\u30c9<\/strong><\/summary>\n<figure class=\"wp-block-table has-x-small-font-size\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>start-build <\/strong><\/td><td>\u4f7f\u7528\u3057\u3066\u30d3\u30eb\u30c9\u4ed5\u69d8(buildspec)\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3067\u304d\u308b\u3002<\/td><\/tr><tr><td><strong>aws configure<\/strong><\/td><td>AWS CLI \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3059\u308b\u305f\u3081\u306e\u6700\u3082\u7c21\u5358\u306a\u65b9\u6cd5\u3002\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5165\u529b\u3059\u308b\u3068\u3001AWS CLI \u306b\u3088\u3063\u3066 4 \u3064\u306e\u60c5\u5831\u306e\u5165\u529b\u304c\u6c42\u3081\u3089\u308c\u308b\u3002<br><br>\u30fb\u30a2\u30af\u30bb\u30b9\u30ad\u30fc ID<br>\u30fb\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u30a2\u30af\u30bb\u30b9\u30ad\u30fc<br>\u30fbAWS \u30ea\u30fc\u30b8\u30e7\u30f3<br>\u30fb\u51fa\u529b\u5f62\u5f0f<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/details>\n\n\n\n<h2 class=\"wp-block-heading has-background has-medium-font-size\" style=\"background:linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 95%,rgb(254,248,76) 100%)\"><strong>SDK<\/strong><\/h2>\n\n\n\n<div class=\"wp-block-media-text\" style=\"grid-template-columns:15% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"200\" height=\"200\" src=\"https:\/\/matomemopad.com\/wp-content\/uploads\/2024\/01\/image-6.png\" alt=\"\" class=\"wp-image-8969 size-full\" srcset=\"https:\/\/matomemopad.com\/wp-content\/uploads\/2024\/01\/image-6.png 200w, https:\/\/matomemopad.com\/wp-content\/uploads\/2024\/01\/image-6-150x150.png 150w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>\u3010\u69cb\u7bc9\u30c4\u30fc\u30eb\u30bb\u30c3\u30c8\u3011<\/strong>\u203b<strong>Software Development Kit<\/strong><br>\u958b\u767a\u8005\u5411\u3051\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u56fa\u6709\u306e\u69cb\u7bc9\u30c4\u30fc\u30eb\u306e\u30bb\u30c3\u30c8\u3002\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306e\u958b\u767a\u3068\u5b9f\u884c\u306b\u5fc5\u8981\u306a\u3059\u3079\u3066\u3092 1 \u304b\u6240\u306b\u307e\u3068\u3081\u308b\u3002\u3055\u3089\u306b\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3001\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3001\u30ac\u30a4\u30c9\u306a\u3069\u306e\u30ea\u30bd\u30fc\u30b9\u3084\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u3092\u9ad8\u901f\u5316\u3059\u308b\u305f\u3081\u306e <span style=\"text-decoration: underline;\">API \u3084\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af<\/span>\u3082\u542b\u307e\u308c\u308b\u3002<\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u203b\u7279\u5b9a\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3001\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u3001\u307e\u305f\u306f\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u3067\u5b9f\u884c\u3055\u308c\u308b\u30b3\u30fc\u30c9\u3092\u4f5c\u6210\u3059\u308b\u306b\u306f\u3001\u30c7\u30d0\u30c3\u30ac\u30fc\u3001\u30b3\u30f3\u30d1\u30a4\u30e9\u30fc\u3001\u30e9\u30a4\u30d6\u30e9\u30ea\u306a\u3069\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u304c\u5fc5\u8981\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30fb\u300cAWS SDK\u300d\u3068\u300cAWS CLI\u300d\u306f<strong><span style=\"text-decoration: underline;\">IAM\u30ed\u30fc\u30eb\u304b\u3089\u4e00\u6642\u7684\u306a\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u8a8d\u8a3c\u60c5\u5831\u3092\u81ea\u52d5\u53d6\u5f97<\/span><\/strong>\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u7279\u5b9a\u306e\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3001\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3001\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3001\u307e\u305f\u306f\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u5411\u3051\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u3001\u30c4\u30fc\u30eb\u3084\u30e9\u30a4\u30d6\u30e9\u30ea\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306a\u3069\u3092\u307e\u3068\u3081\u305f\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30a6\u30a7\u30d6\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304cAPI Gateway\u3068\u9023\u643a\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u30b3\u30fc\u30c9\uff08JavaScript SDK\uff09\u304c\u542b\u307e\u308c\u3066\u3044\u308c\u3070\u3001SDK\u3092\u4f7f\u3046\u3053\u3068\u3067\u3001\u958b\u767a\u8005\u306fAPI\u3078\u306e\u63a5\u7d9a\u3084\u30c7\u30fc\u30bf\u306e\u3084\u308a\u53d6\u308a\u3068\u3044\u3063\u305f\u8907\u96d1\u306a\u51e6\u7406\u3092\u30bc\u30ed\u304b\u3089\u66f8\u304f\u5fc5\u8981\u304c\u306a\u304f\u306a\u308a\u3001\u52b9\u7387\u7684\u306b\u958b\u767a\u3092\u9032\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f8b\u3048\u308b\u306a\u3089\u3001<strong>\u7d44\u307f\u7acb\u3066\u5f0f\u306e\u5bb6\u5177\u3092\u8cb7\u3063\u305f\u3068\u304d\u306b\u4ed8\u3044\u3066\u304f\u308b\u3001\u30cd\u30b8\u3084\u516d\u89d2\u30ec\u30f3\u30c1\u3001\u305d\u3057\u3066\u8aac\u660e\u66f8\u304c\u3059\u3079\u3066\u5165\u3063\u305f\u30bb\u30c3\u30c8<\/strong>\u306e\u3088\u3046\u306a\u3082\u306e\u3002SDK\u304c\u306a\u3051\u308c\u3070\u3001\u5fc5\u8981\u306a\u30c4\u30fc\u30eb\u3084\u90e8\u54c1\u3092\u3059\u3079\u3066\u81ea\u5206\u3067\u898b\u3064\u3051\u51fa\u3057\u3066\u63c3\u3048\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u305f\u3081\u3001\u958b\u767a\u304c\u975e\u5e38\u306b\u56f0\u96e3\u306b\u306a\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h1 class=\"wp-block-heading has-background has-medium-font-size\" style=\"background:linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 96%,rgb(254,248,76) 100%)\">Data Pipeline<\/h1>\n\n\n\n<div class=\"wp-block-media-text\" style=\"grid-template-columns:15% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"125\" height=\"125\" src=\"https:\/\/matomemopad.com\/wp-content\/uploads\/2024\/01\/image-13.png\" alt=\"\" class=\"wp-image-11797 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>\u3010\u30ea\u30bd\u30fc\u30b9\u4e0a\u3067\u30c7\u30fc\u30bf\u306e\u79fb\u52d5\u652f\u63f4\u3011<\/strong><br>\u6307\u5b9a\u3055\u308c\u305f\u9593\u9694\u3067AWS\u306e\u3055\u307e\u3056\u307e\u306a\u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u30b5\u30fc\u30d3\u30b9\u3084\u30b9\u30c8\u30ec\u30fc\u30b8\u30b5\u30fc\u30d3\u30b9\u306e\u307b\u304b\u3001<strong>\u30aa\u30f3\u30d7\u30ec\u30df\u30b9\u306e\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u9593\u3067<\/strong><span style=\"text-decoration: underline;\">\u4fe1\u983c\u6027\u306e\u9ad8\u3044\u30c7\u30fc\u30bf\u51e6\u7406<\/span>\u3084<span style=\"text-decoration: underline;\">\u30c7\u30fc\u30bf\u79fb\u52d5<\/span>\u3092\u652f\u63f4\u3059\u308b\u30a6\u30a7\u30d6\u30b5\u30fc\u30d3\u30b9\u3002<\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u30fb\u30c7\u30fc\u30bf\u306e\u53d6\u308a\u51fa\u3057\u30fb\u5909\u63db\u30fb\u4fdd\u5b58\u306a\u3069\u9806\u6b21\u51e6\u7406\u304c\u53ef\u80fd\u3002<br>\uff08\u203b\u30aa\u30f3\u30d7\u30ec\u30df\u30b9\u74b0\u5883\u304b\u3089\u306e\u30c7\u30fc\u30bf\u8ee2\u9001\u306b\u306fDataSync\u3092\u5229\u7528\uff09<\/p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>[\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3055\u308c\u305f\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3]<\/strong><\/summary>\n<figure class=\"wp-block-table has-x-small-font-size\"><table><tbody><tr><td><strong>\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8<\/strong><br><\/td><td><strong>\u3010 \u30c7\u30fc\u30bf\u7ba1\u7406\u306e\u30eb\u30fc\u30eb\u3092\u5b9a\u7fa9\u3011<\/strong><br>\u30fb\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306e\u30d3\u30b8\u30cd\u30b9\u30ed\u30b8\u30c3\u30af\u3092\u8868\u3057\u3001\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u5b9a\u7fa9\u306e\u3055\u307e\u3056\u307e\u306a\u30bb\u30af\u30b7\u30e7\u30f3\u306b\u3088\u3063\u3066\u8868\u3055\u308c\u308b\u3002<br>\u30fb\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u306e\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3001\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\u3001\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3001\u304a\u3088\u3073\u524d\u63d0\u6761\u4ef6\u3092\u6307\u5b9a\u3059\u308b\u3002<br>\u30fb\u3053\u308c\u3089\u306f\u89aa\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u304b\u3089\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u7d99\u627f\u3067\u304d\u3001\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u9593\u306e\u95a2\u4fc2\u306f\u53c2\u7167\u306b\u3088\u3063\u3066\u5b9a\u7fa9\u3055\u308c\u308b\u3002<\/td><\/tr><tr><td><strong>\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9<\/strong><\/td><td>\u5404\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u306f\u3001<strong>\u7279\u5b9a\u306e\u30bf\u30b9\u30af\u3092\u5b9f\u884c\u3059\u308b\u305f\u3081<\/strong>\u306e\u3059\u3079\u3066\u306e\u60c5\u5831\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u3002<br>\u30fb\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u3092\u5b9f\u884c\u3059\u308b\u3068\u304d\u306b\u3001\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066\u3001<strong>\u4e00\u9023\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u53ef\u80fd\u306a\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f5c\u6210<\/strong>\u3059\u308b\u3002<br>\u30fb\u5b8c\u5168\u306a\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u30bb\u30c3\u30c8\u306f\u3001\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306e To-Do \u30ea\u30b9\u30c8\u3002Task Runner \u306b\u51e6\u7406\u3059\u308b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u6e21\u3059\u3002<\/td><\/tr><tr><td><strong>\u8a66\u884c<\/strong><\/td><td>\u5805\u7262\u306a\u30c7\u30fc\u30bf\u7ba1\u7406\u3092\u63d0\u4f9b\u3059\u308b\u305f\u3081\u306b\u3001<strong>\u5931\u6557\u3057\u305f\u30aa\u30da\u30ec\u30fc\u30b7\u30e7\u30f3\u3092\u518d\u8a66\u884c\u3059\u308b<\/strong>\u3002<br><strong>(\u203b\u3053\u306e\u51e6\u7406\u306f\u3001\u30bf\u30b9\u30af\u304c\u6700\u5927\u8a31\u5bb9\u518d\u8a66\u884c\u56de\u6570\u306b\u5230\u9054\u3059\u308b\u307e\u3067\u7d9a\u884c\u3055\u308c\u308b)<\/strong><br>\u30fb\u8a66\u884c\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u3001\u3055\u307e\u3056\u307e\u306a\u8a66\u884c\u3001\u7d50\u679c\u3001\u304a\u3088\u3073\u5931\u6557\u306e\u7406\u7531\uff08\u8a72\u5f53\u3059\u308b\u5834\u5408\uff09\u3092<mark>\u8ffd\u8de1<\/mark>\u3059\u308b\u3002<br>\u30fb\u57fa\u672c\u7684\u306b\u3001\u8a66\u884c\u306f\u30ab\u30a6\u30f3\u30bf\u30fc\u4ed8\u304d\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3002Amazon EMR \u30af\u30e9\u30b9\u30bf\u30fc\u3084 EC2 \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306a\u3069\u3001\u4ee5\u524d\u306e\u8a66\u884c\u3068\u540c\u3058\u30ea\u30bd\u30fc\u30b9\u3092\u4f7f\u7528\u3057\u3066\u518d\u8a66\u884c\u3092\u884c\u3046\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/details>\n\n\n\n<h1 class=\"wp-block-heading has-background has-medium-font-size\" style=\"background:linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 96%,rgb(254,248,76) 100%)\"><strong>Code Star<\/strong><\/h1>\n\n\n\n<div class=\"wp-block-media-text\" style=\"grid-template-columns:15% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"125\" height=\"125\" src=\"https:\/\/matomemopad.com\/wp-content\/uploads\/2025\/04\/image-52.png\" alt=\"\" class=\"wp-image-6708 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>\u3010\u958b\u767a\u74b0\u5883\u4f5c\u6210\u30fb\u30b9\u30c6\u30fc\u30bf\u30b9\u7ba1\u7406\u3011<\/strong><br>\u5b8c\u5168\u30de\u30cd\u30fc\u30b8\u30c9\u578b\u306e\u30bd\u30fc\u30b9\u7ba1\u7406\u30b5\u30fc\u30d3\u30b9\u3002\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u3059\u3070\u3084\u3044\u958b\u767a\u3001\u30d3\u30eb\u30c9\u3001\u30c7\u30d7\u30ed\u30a4\u3092\u884c\u3046\u305f\u3081\u306b\u5fc5\u8981\u306a\u30c4\u30fc\u30eb\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u308b\u3002<strong>\u3055\u307e\u3056\u307e\u306a<mark style=\"background-color:#f7e597\" class=\"has-inline-color\">\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8<\/mark><\/strong>\u3092\u5229\u7528\u3057\u3066\u3001<span style=\"text-decoration: underline;\">EC2\u3001Lambda\u3001Elastic Beanstalk \u3067\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a<\/span>\u3092\u958b\u59cb\u3002<\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:#f7e597\" class=\"has-inline-color\">\u4e8b\u524d\u8a2d\u5b9a\u3055\u308c\u305f\u7d99\u7d9a\u7684\u30c7\u30ea\u30d0\u30ea\u30fc\u30c4\u30fc\u30eb\u30c1\u30a7\u30fc\u30f3<\/mark><\/strong>\u3092\u63d0\u4f9b\u3059\u308b\u3053\u3068\u3067<strong><span style=\"text-decoration: underline;\">\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u63d0\u4f9b\u3092\u8fc5\u901f\u5316<\/span><\/strong>\u3002<\/p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u6a5f\u80fd\u6027<\/strong><\/summary>\n<figure class=\"wp-block-table has-x-small-font-size\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>\u7d99\u7d9a\u7684\u30c7\u30ea\u30d0\u30ea\u30fc<\/strong><\/td><td>\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u958b\u767a\u624b\u6cd5\u306e\u4e00\u3064\u3002\u30b3\u30fc\u30c9\u5909\u66f4\u304c\u767a\u751f\u3059\u308b\u3068\u3001\u81ea\u52d5\u7684\u306b\u5b9f\u7a3c\u50cd\u74b0\u5883\u3078\u306e\u30ea\u30ea\u30fc\u30b9\u6e96\u5099\u304c\u5b9f\u884c\u3055\u308c\u308b\u3002\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3092\u7d20\u65e9\u304f\u53cd\u6620\u3067\u304d\u308b\u3002<\/td><\/tr><tr><td><strong>\u30c4\u30fc\u30eb\u30c1\u30a7\u30fc\u30f3<\/strong><\/td><td>\u3042\u308b\u76ee\u7684\u3092\u9054\u6210\u3059\u308b\u305f\u3081\u306b\u7d44\u307f\u5408\u308f\u305b\u3066\u4f7f\u7528\u3059\u308b\u4e00\u9023\u306e\u30c4\u30fc\u30eb(\u9053\u5177)\u306e\u30bb\u30c3\u30c8\u3002<\/td><\/tr><tr><td><strong>\u7d99\u7d9a\u7684\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8<\/strong><br><strong>\u3010\u958b\u767a\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\u7ba1\u7406\u3011<\/strong><\/td><td>CI\/CD \u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u3067\u306e\u30b3\u30fc\u30c9\u306e\u30b3\u30df\u30c3\u30c8\u3001\u30d3\u30eb\u30c9\u3001\u30c6\u30b9\u30c8\u3001\u30c7\u30d7\u30ed\u30a4\u306a\u3069\u306e\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\u3092\u4e00\u5143\u7684\u306b\u7ba1\u7406\u3057\u3001\u8868\u793a\u3002<br>\u30fb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30d3\u30eb\u30c9\u304c\u6b63\u5e38\u306b\u5b8c\u4e86\u3059\u308b\u3068\u5168\u3066\u6210\u529f\u3068\u8868\u793a<br>\u30c7\u30d7\u30ed\u30a4\u306e\u9032\u884c\u72b6\u6cc1\u3084\u30b3\u30df\u30c3\u30c8\u306e\u5c65\u6b74\u306a\u3069\u3082\u540c\u6642\u306b\u78ba\u8a8d\u304c\u53ef\u80fd\u3002<br><br>\u203b\u30b9\u30c6\u30fc\u30b8\u306e\u8ffd\u52a0\u3001\u7de8\u96c6\u3092\u884c\u3044\u305f\u3044\u5834\u5408\u306b\u306f\u300cCode Pipeline\u306e\u8a73\u7d30\u300d\u3092\u9078\u629e\u3059\u308b\u3002<\/td><\/tr><tr><td><strong>\u30c1\u30fc\u30e0wiki<\/strong><\/td><td>\u5185\u5bb9\u3092\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3057\u3066\u30c1\u30fc\u30e0\u30ce\u30fc\u30c8\u306b\u4fdd\u5b58\u3057\u305f\u308a\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u30ea\u30f3\u30af\u3055\u305b\u308b\u3001\u30b3\u30fc\u30c9\u30b5\u30f3\u30d7\u30eb\u3001\u30c1\u30fc\u30e0\u30e1\u30e2\u306a\u3069\u306e\u30c1\u30fc\u30e0\u60c5\u5831\u306e\u63d0\u4f9b\u304c\u5bb9\u6613\u3002<\/td><\/tr><tr><td><strong>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\u306e\u76e3\u8996\u3068 JIRA \u306e\u554f\u984c\u7ba1\u7406<\/strong><\/td><td>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u76e3\u8996\u30b5\u30fc\u30d3\u30b9\u3067\u3042\u308bCloudWatch\u3084\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u7ba1\u7406\u30c4\u30fc\u30eb\u3067\u3042\u308bAtlassian JIRA Software\u306a\u3069\u3068\u7d71\u5408\u3059\u308b\u3053\u3068\u3067\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3084JIRA\u306e\u554f\u984c\u306e\u76e3\u8996\u3001\u8ffd\u8de1\u3001\u7ba1\u7406\u304c\u53ef\u80fd\u3002<\/td><\/tr><tr><td><strong>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8<\/strong><\/td><td>\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306e\u30ea\u30f3\u30af\u304c\u8868\u793a\u3002\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u307e\u305f\u306f\u30b5\u30fc\u30d3\u30b9\u3092\u8868\u793a\u3059\u308b\u306b\u306f\u30ea\u30f3\u30af\u3092\u9078\u629e\u3002<\/td><\/tr><tr><td><strong>\u30b3\u30df\u30c3\u30c8\u5c65\u6b74<\/strong><\/td><td>\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u6700\u8fd1\u306e\u30b3\u30df\u30c3\u30c8\u5c65\u6b74\u304c\u8868\u793a\u3002<br>\u30b3\u30df\u30c3\u30c8\u3084\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u95a2\u3059\u308b\u5168\u3066\u306e\u30b3\u30df\u30c3\u30c8\u3084\u8a73\u7d30\u3092\u8868\u793a\u3057\u305f\u3044\u5834\u5408\u306f\u2026<br>\u2192\u30b3\u30fc\u30c9\u304c<span style=\"text-decoration: underline;\">CodeCommit<\/span>\u306b\u4fdd\u5b58\u3055\u308c\u3066\u3044\u308b\u3000\u21d2\u3000CodeCommit\u306e\u8a73\u7d30<br>\u2192\u30b3\u30fc\u30c9\u304c<span style=\"text-decoration: underline;\">GitHub<\/span>\u306b\u4fdd\u5b58\u3055\u308c\u3066\u3044\u308b\u3000\u21d2\u3000GitHub\u3067\u958b\u304f<\/td><\/tr><tr><td><strong>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3<\/strong><\/td><td>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306eAmazon CloudWatch\u30e1\u30c8\u30ea\u30af\u30b9\u304c\u8868\u793a\u3002\u4f8b\u3048\u3070\u3001Code Deploy\u30ea\u30bd\u30fc\u30b9\u306b\u3088\u3063\u3066\u30c7\u30d7\u30ed\u30a4\u3055\u308c\u305fAmazon EC2\u306eCPU\u4f7f\u7528\u7387\u3084\u3001AWS Lambda\u3092\u4f7f\u7528\u3059\u308c\u3070Lambda\u95a2\u6570\u306e\u547c\u3073\u51fa\u3057\u3068\u30a8\u30e9\u30fc\u306e\u30e1\u30c8\u30ea\u30af\u30b9\u304c\u8868\u793a\u3055\u308c\u3001\u60c5\u5831\u306f\u6642\u9593\u5358\u4f4d\u3067\u8868\u793a\u3055\u308c\u308b\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u4f5c\u6210\u8981\u7d20<\/strong><\/summary>\n<figure class=\"wp-block-table has-x-small-font-size\"><table><tbody><tr><td><strong>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8<\/strong><\/td><td>\u30fbEC2\u3001Lambda\u3001Elastic Beanstalk \u306b\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u958b\u767a\u3092\u3059\u3070\u3084\u304f\u958b\u59cb\u3059\u308b\u52a9\u3051\u306b\u306a\u308a\u3001\u8907\u6570\u7528\u610f\u3055\u308c\u3066\u3044\u308b\u3002<br>\u30fbJava\u3001JavaScript\u3001Python\u3001Ruby\u3001PHP \u306a\u3069\u306e\u591a\u304f\u306e\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u3092\u30b5\u30dd\u30fc\u30c8<\/td><\/tr><tr><td><strong>\u81ea\u52d5\u5316\u3055\u308c\u305f\u7d99\u7d9a\u7684\u30c7\u30ea\u30d0\u30ea\u30fc\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3<\/strong><\/td><td><span style=\"text-decoration: underline;\"><strong><mark style=\"background-color:#f7e597\" class=\"has-inline-color\">CodePipeline<\/mark><\/strong>\u3068\u9023\u643a\u3057\u3066<\/span>\u3001\u30b3\u30fc\u30c9\u306e\u30d3\u30eb\u30c9\u3001\u30c6\u30b9\u30c8\u3001\u30c7\u30d7\u30ed\u30a4\u304c\u81ea\u52d5\u5316\u3055\u308c\u305f\u4e8b\u524d\u8a2d\u5b9a\u6e08\u307f\u306e\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u304c\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3054\u3068\u306b\u8a2d\u5b9a\uff08<strong>\u7d99\u7d9a\u7684\u30c7\u30ea\u30d0\u30ea\u30fc<\/strong>\uff09\u3055\u308c\u3066\u3044\u308b\u3002<\/td><\/tr><tr><td><strong>\u81ea\u52d5\u5316\u3055\u308c\u305f\u30c7\u30d7\u30ed\u30a4<\/strong><\/td><td><span style=\"text-decoration: underline;\"><strong>CodeDeploy<\/strong>\u3084<strong>CloudFormation<\/strong>\u3068\u7d71\u5408\u3059\u308b<\/span>\u3053\u3068\u3067\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30b3\u30fc\u30c9\u3092\u7c21\u5358\u306b\u66f4\u65b0\u3057\u3001EC2\u3084Lambda\u306b\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u7ba1\u7406\u8981\u7d20<\/strong><\/summary>\n<figure class=\"wp-block-table has-small-font-size\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>\u30c1\u30fc\u30e0\u306e\u30a2\u30af\u30bb\u30b9\u7ba1\u7406<\/strong><\/td><td>\u30fbIAM \u306b\u3088\u3063\u3066<strong>\u958b\u767a\u8005\u306e\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u7ba1\u7406<\/strong>\u3092\u5b9f\u65bd\u3002<br>\u30fb\u30a2\u30af\u30bb\u30b9\u7ba1\u7406\u306f\u3001\u300c\u6240\u6709\u8005 \/ \u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\/ \u30d3\u30e5\u30fc\u30ef\u30fc\u300d\u306a\u3069\u306e\u3055\u307e\u3056\u307e\u306a\u30ed\u30fc\u30eb\u306b\u5bfe\u5fdc\u3059\u308b\u3001\u7c21\u5358\u306a\u7d44\u307f\u8fbc\u307f\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30dd\u30ea\u30b7\u30fc\u306b\u3088\u308a\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u7c21\u5358\u306b\u4fdd\u8b77\u3059\u308b\u3002<\/td><\/tr><tr><td><strong>\u30db\u30b9\u30c8\u578b\u306e Git \u30ea\u30dd\u30b8\u30c8\u30ea<\/strong><br><strong>(Code Commit\u3067\u5b89\u5168\u7ba1\u7406)<\/strong><\/td><td>\u30fbCodeStar\u3067\u306e<mark><mark style=\"background-color:#f7e597\" class=\"has-inline-color\">\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30b3\u30fc\u30c9<\/mark><\/mark>\u306fCodeCommit \u306b\u4fdd\u5b58\u3002<br>\u203b\u72ec\u81ea\u306e GitHub \u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u4fdd\u5b58\u3067\u304d\u308b\u3002<br>\u30fbGit \u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u30db\u30b9\u30c8\u3059\u308b\u305f\u3081\u306b\u72ec\u81ea\u306e\u30a4\u30f3\u30d5\u30e9\u30b9\u30c8\u30e9\u30af\u30c1\u30e3\u3092\u7ba1\u7406\u3059\u308b\u5fc5\u8981\u304c\u306a\u304f\u306a\u308b\u3002<\/td><\/tr><tr><td><strong>\u4e00\u5143\u5316\u3055\u308c\u305f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9<\/strong><\/td><td>\u4e00\u5143\u7684\u306b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\u306e\u76e3\u8996\u3068\u3001\u6700\u8fd1\u306e\u30b3\u30fc\u30c9\u306e\u30b3\u30df\u30c3\u30c8\u3001\u30d3\u30eb\u30c9\u3001\u30c7\u30d7\u30ed\u30a4\u306a\u3069\u306e<span style=\"text-decoration: underline;\">\u65e5\u5e38\u7684\u306a<strong>\u958b\u767a\u30bf\u30b9\u30af<\/strong>\u5168\u4f53\u306e\u7ba1\u7406<\/span>\u3092\u5bb9\u6613\u306b\u884c\u3048\u308b\u3002<\/td><\/tr><tr><td><strong>\u5b8c\u5168\u30de\u30cd\u30fc\u30b8\u30c9\u578b\u30d3\u30eb\u30c9\u30b5\u30fc\u30d3\u30b9<\/strong><\/td><td><strong>CodeBuild<\/strong> \u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u30b3\u30fc\u30c9\u306e\u30d3\u30eb\u30c9\u3001\u30c6\u30b9\u30c8\u3001\u7d71\u5408\u3092\u3088\u308a\u983b\u7e41\u306b\u5b9f\u884c\u3067\u304d\u308b\u3088\u3046 \u306b\u306a\u308a\u3001\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306e\u30b3\u30f3\u30d1\u30a4\u30eb\u3068\u30d1\u30c3\u30b1\u30fc\u30b8\u5316\u3092\u884c\u3048\u308b\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/details>\n\n\n\n<h1 class=\"wp-block-heading has-background has-medium-font-size\" style=\"background:linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 96%,rgb(254,248,76) 100%)\">Code Pipeline<\/h1>\n\n\n\n<div class=\"wp-block-media-text\" style=\"grid-template-columns:15% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"125\" height=\"125\" src=\"https:\/\/matomemopad.com\/wp-content\/uploads\/2025\/04\/image-53.png\" alt=\"\" class=\"wp-image-6709 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>\u3010\u6d41\u308c\u306e\u898b\u3048\u308b\u5316\u3011<\/strong><br>\u66f8\u3044\u305f\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u81ea\u52d5\u3067\u30d3\u30eb\u30c9\u3001\u30c7\u30d7\u30ed\u30a4\u3001\u30c6\u30b9\u30c8\u3057\u3066\u304f\u308c\u308b\u3002\u30a2\u30d7\u30ea\u3092\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u30b9\u30c6\u30c3\u30d7\u3092\u3001\u53ef\u8996\u5316\u30fb\u81ea\u52d5\u5316\u3067\u304d\u308b\u3002\u7d99\u7d9a\u7684\u306bCI\/CD \u30d7\u30ed\u30bb\u30b9\u3092\u81ea\u52d5\u5316\u3067\u304d\u308b\u3002<br>\u203bCloudTrail\u3068\u9023\u643a\u3055\u308c\u3066\u3044\u308b<\/p>\n<\/div><\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>\u25cf\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30b9\u30c8\u30a2<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u5185\u3067\u751f\u6210\u30fb\u53d7\u3051\u6e21\u3057\u3055\u308c\u308b\u6210\u679c\u7269\uff08\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\uff09\u3092\u4fdd\u5b58\u3059\u308b\u305f\u3081\u306e <strong>Amazon S3 \u30d0\u30b1\u30c3\u30c8<\/strong>\u306e\u3053\u3068\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>[\u5f79\u5272]<\/strong><br>\u30fb<strong>\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3068\u306f\uff1f<\/strong><br>\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3001\u30d3\u30eb\u30c9\u6210\u679c\u7269\u3001\u30c6\u30b9\u30c8\u30ec\u30dd\u30fc\u30c8\u3001\u30c7\u30d7\u30ed\u30a4\u30d1\u30c3\u30b1\u30fc\u30b8\u306a\u3069\u3001\u5404\u30b9\u30c6\u30fc\u30b8\u3067\u751f\u6210\u3055\u308c\u308b\u30d5\u30a1\u30a4\u30eb\u7fa4\u3002<br>\u30fb<strong>\u4fdd\u5b58\u5834\u6240<\/strong><br>CodePipeline \u306f\u3001\u3053\u308c\u3089\u306e\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3092 S3 \u30d0\u30b1\u30c3\u30c8\u306b\u4fdd\u5b58\u3057\u3001\u6b21\u306e\u30b9\u30c6\u30fc\u30b8\u306b\u53d7\u3051\u6e21\u3059\u3002<br>\u30fb<strong>\u4e00\u5143\u7ba1\u7406\u3068\u5c65\u6b74\u4fdd\u6301<\/strong>\uff1a<br>\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30b9\u30c8\u30a2\u306b\u4fdd\u5b58\u3059\u308b\u3053\u3068\u3067\u3001\u6210\u679c\u7269\u306e\u5c65\u6b74\u3092\u8ffd\u8de1\u3067\u304d\u3001\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u3084\u518d\u30c7\u30d7\u30ed\u30a4\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>[CI\/CD]<\/strong><br>\u5b9f\u88c5 > \u30c6\u30b9\u30c8 > \u30c7\u30d7\u30ed\u30a4\u30fb\u30ea\u30ea\u30fc\u30b9 \u306e\u30d5\u30ed\u30fc\u3092\u53ef\u80fd\u306a\u9650\u308a\u81ea\u52d5\u5316\u3059\u308b\uff08Code\uff1eBuild\uff1eTest\uff1eDeploy\uff09<\/p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u6027\u80fd\u7279\u5fb4<\/strong><\/summary>\n<figure class=\"wp-block-table has-x-small-font-size\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong><span style=\"text-decoration: underline;\">\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3<\/span><\/strong><br><strong>\u3010\u4e00\u9023\u306e\u51e6\u7406\u306e\u6d41\u308c\u3011<\/strong><\/td><td>\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306e\u5909\u66f4\u304c\u30ea\u30ea\u30fc\u30b9\u30d7\u30ed\u30bb\u30b9\u3092<mark style=\"background-color:#f7e597\" class=\"has-inline-color\">\u3069\u306e\u3088\u3046\u306b\u901a\u904e\u3059\u308b\u304b<\/mark>\u3092\u8a18\u8ff0\u3059\u308b\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u69cb\u9020\u3002\u5404\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306f\u4e00\u9023\u306e\u30b9\u30c6\u30fc\u30b8\u3067\u69cb\u6210\u3002<br>(\u203bCloudFormation\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u30c7\u30d7\u30ed\u30a4\u3001\u30c6\u30b9\u30c8\u306b\u5229\u7528\u3067\u304d\u308b\u3002\uff09<br>(\u203b\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u5185\u306e\u51e6\u7406\u3092\u5b9a\u7fa9\u3059\u308b\u306b\u306fUI\u304b\u3089\u624b\u52d5\u3067\u884c\u3046\u304b\u3001Cloudformation\u3067Stack\u3092\u5b9a\u7fa9\u3057\u3066\u884c\u3046\u5f62\u306b\u306a\u308b)<\/td><\/tr><tr><td><strong><span style=\"text-decoration: underline;\">\u30b9\u30c6\u30fc\u30b8<\/span><\/strong><br><strong>\u3010\u51e6\u7406\u3092\u5b9f\u884c\u3059\u308b\u74b0\u5883\u306e\u5358\u4f4d\u3011<\/strong><\/td><td>\u5404\u30b9\u30c6\u30fc\u30b8\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306b\u5bfe\u3057\u3066\u5b9f\u884c\u3055\u308c\u308b\u8907\u6570\u30a2\u30af\u30b7\u30e7\u30f3\u304c\u542b\u307e\u308c\u308b\u3002<br>(\u203b\u5404\u30b9\u30c6\u30fc\u30b8\u6bce\u306b\u30b3\u30f3\u30c6\u30ca\u3092\u7acb\u3061\u4e0a\u3052\u3066\u51e6\u7406\u3059\u308b\u30a4\u30e1\u30fc\u30b8)<br><br>\u5404\u30b9\u30c6\u30fc\u30b8\u306f\u3001\u9023\u7d9a\u307e\u305f\u306f\u4e26\u5217\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3067\u69cb\u6210\u3055\u308c\u3066\u3044\u308b\u3002\u74b0\u5883\u3092\u5206\u96e2\u3057\u3001\u305d\u306e\u74b0\u5883\u3067\u306e\u540c\u6642\u5909\u66f4\u306e\u6570\u3092\u5236\u9650\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u308b\u8ad6\u7406\u30e6\u30cb\u30c3\u30c8\u3002<\/td><\/tr><tr><td><strong><span style=\"text-decoration: underline;\">\u30a2\u30af\u30b7\u30e7\u30f3<\/span><\/strong><br><strong>\u3010\u5b9f\u969b\u306b\u884c\u308f\u308c\u308b\u51e6\u7406\u306e\u5358\u4f4d\u3011<\/strong><\/td><td>\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u53d6\u3063\u3066\u304d\u305f\u308a\u3001\u30c6\u30b9\u30c8\u3057\u305f\u308a\u3001\u30c7\u30d7\u30ed\u30a4\u3057\u305f\u308a\u3059\u308b\u3002<br>\u30a2\u30af\u30b7\u30e7\u30f3\u306b\u306f[source \/ build \/ test \/ deploy \/ approval] \u3068\u3044\u3046\u30bf\u30a4\u30d7\u304c\u3042\u308b\u3002<br>\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306e\u30b9\u30c6\u30fc\u30b8\u306b\u627f\u8a8d\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u8ffd\u52a0\u3057\u305f\u7b87\u6240\u3067\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u3092\u505c\u6b62\u3059\u308b\u3053\u3068\u3067\u3001\u3053\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u4e3b\u5c0e\u3067\u627f\u8a8d\u307e\u305f\u306f\u62d2\u5426\u3067\u304d\u308b\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">[<a href=\"https:\/\/blog.spacemarket.com\/code\/ci-cd-codepipeline\/\" data-type=\"link\" data-id=\"https:\/\/blog.spacemarket.com\/code\/ci-cd-codepipeline\/\">\u203b\u53c2\u8003\u30b5\u30a4\u30c8<\/a>]<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>[\u627f\u8a8d\u30a2\u30af\u30b7\u30e7\u30f3]<\/strong><\/summary>\n<p class=\"wp-block-paragraph\"><strong>[\u627f\u8a8d\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u6982\u8981]<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u627f\u8a8d\u30a2\u30af\u30b7\u30e7\u30f3<\/strong>\u3092\u4f7f\u3046\u3053\u3068\u3067\u3001\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306e\u7279\u5b9a\u30b9\u30c6\u30fc\u30b8\u306b\u304a\u3044\u3066\u624b\u52d5\u627f\u8a8d\u3092\u8981\u6c42\u3067\u304d\u308b\u3002<\/li>\n\n\n\n<li>\u627f\u8a8d\u30a2\u30af\u30b7\u30e7\u30f3\u306f\u3001CodePipeline \u306e\u30b9\u30c6\u30fc\u30b8\u306b\u627f\u8a8d\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u8ffd\u52a0\u3057\u305f\u7b87\u6240\u3067\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u3092\u505c\u6b62\u3059\u308b\u3053\u3068\u3067\u3001\u3053\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u624b\u52d5\u3067\u627f\u8a8d\u307e\u305f\u306f\u62d2\u5426\u3067\u304d\u308b\u3002\u30a2\u30af\u30b7\u30e7\u30f3\u304c\u8ffd\u52a0\u3055\u308c\u308b\u3068\u3001<strong>\u627f\u8a8d\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u6b21\u306e\u30b9\u30c6\u30fc\u30b8\u306b\u9032\u307e\u306a\u3044<\/strong>\u3002<\/li>\n\n\n\n<li>IAM\uff08AWS Identity and Access Management\uff09\u30a2\u30af\u30bb\u30b9\u8a31\u53ef\u304c\u5fc5\u8981\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>[\u627f\u8a8d\u304c\u5fc5\u8981\u306b\u306a\u308b\u30bf\u30a4\u30df\u30f3\u30b0]<\/strong><br>\u30fb\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306e\u9032\u884c\u3092\u4e00\u6642\u505c\u6b62\u3057\u3001<strong>\u6307\u5b9a\u3055\u308c\u305f\u30e6\u30fc\u30b6\u30fc\u306e\u627f\u8a8d\u3092\u5f85\u3064<\/strong>\u3002<br>\u30fb\u627f\u8a8d\u304c\u62d2\u5426\u3055\u308c\u305f\u5834\u5408\u3001\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306f\u5931\u6557\u3068\u3057\u3066\u6271\u308f\u308c\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>[\u6709\u52b9\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9]<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table has-x-small-font-size\"><table class=\"has-fixed-layout\"><thead><tr><th>\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9<\/th><th>\u8aac\u660e<\/th><\/tr><\/thead><tbody><tr><td>\u30b3\u30fc\u30c9\u30ec\u30d3\u30e5\u30fc<\/td><td>\u30b9\u30c6\u30fc\u30b8\u9032\u884c\u524d\u306b\u30b3\u30fc\u30c9\u306e\u5185\u5bb9\u3092\u78ba\u8a8d\u30fb\u627f\u8a8d\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408<\/td><\/tr><tr><td>\u30ea\u30ea\u30fc\u30b9\u627f\u8a8d<\/td><td>\u672c\u756a\u74b0\u5883\u3078\u306e\u30c7\u30d7\u30ed\u30a4\u524d\u306b\u30ea\u30ea\u30fc\u30b9\u8cac\u4efb\u8005\u306e\u627f\u8a8d\u304c\u5fc5\u8981\u306a\u5834\u5408<\/td><\/tr><tr><td>\u30c6\u30b9\u30c8\u7d50\u679c\u306e\u78ba\u8a8d<\/td><td>\u81ea\u52d5\u30c6\u30b9\u30c8\u5f8c\u306b\u7d50\u679c\u3092\u4eba\u304c\u78ba\u8a8d\u3057\u3066\u304b\u3089\u6b21\u306e\u30b9\u30c6\u30fc\u30b8\u3078\u9032\u3081\u305f\u3044\u5834\u5408<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u30ab\u30b9\u30bf\u30e0\u30a2\u30af\u30b7\u30e7\u30f3<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">\u4f01\u696d\u72ec\u81ea\u306e\u30ea\u30ea\u30fc\u30b9\u30d5\u30ed\u30fc\u3084\u691c\u8a3c\u30b9\u30c6\u30c3\u30d7\u3092CodePipeline\u3078\u67d4\u8edf\u306b\u7d71\u5408\u53ef\u80fd\u306b\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30fbCodePipeline\u306f\u6a19\u6e96\u3067<strong>\u30d3\u30eb\u30c9\u30fb\u30c6\u30b9\u30c8\u30fb\u30c7\u30d7\u30ed\u30a4\u306a\u3069\u306e\u8907\u6570\u306e\u30a2\u30af\u30b7\u30e7\u30f3<\/strong>\u3092\u63d0\u4f9b\u3059\u308b\u3002<br>\u30fb\u6a19\u6e96\u30a2\u30af\u30b7\u30e7\u30f3\u306b\u542b\u307e\u308c\u3066\u3044\u306a\u3044<strong>\u72ec\u81ea\u306e\u30d3\u30eb\u30c9\u30d7\u30ed\u30bb\u30b9\u3084\u30c6\u30b9\u30c8\u30b9\u30a4\u30fc\u30c8<\/strong>\u3092\u7d71\u5408\u3059\u308b\u5834\u5408\u306b\u3001\u30ab\u30b9\u30bf\u30e0\u30a2\u30af\u30b7\u30e7\u30f3\u304c\u6709\u52b9\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>[\u5b9f\u88c5\u65b9\u6cd5]<\/strong><br>\u2460<strong>AWS CLI\u3092\u4f7f\u7528\u3057\u3066<\/strong>\u3001\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306b\u30ab\u30b9\u30bf\u30e0\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u30fb\u8ffd\u52a0\u3002<br>\u2461\u4f5c\u6210\u3055\u308c\u305f\u30ab\u30b9\u30bf\u30e0\u30a2\u30af\u30b7\u30e7\u30f3\u306f\u3001AWS\u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u95a2\u9023\u3065\u3051\u3089\u308c\u305f\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306b\u7d44\u307f\u8fbc\u307e\u308c\u308b\u3002<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u5c5e\u6027<\/strong><\/summary>\n<figure class=\"wp-block-table has-x-small-font-size\"><table><thead><tr><th>\u5c5e\u6027\u540d<\/th><th>\u8aac\u660e<\/th><\/tr><\/thead><tbody><tr><td><strong>\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u540d<\/strong><\/td><td>\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306e\u4e00\u610f\u306a\u8b58\u5225\u540d\u3002<\/td><\/tr><tr><td><strong>\u30b9\u30c6\u30fc\u30b8<\/strong><\/td><td>\u30bd\u30fc\u30b9\u3001\u30d3\u30eb\u30c9\u3001\u30c6\u30b9\u30c8\u3001\u30c7\u30d7\u30ed\u30a4\u306a\u3069\u306e\u51e6\u7406\u5358\u4f4d\u3002\u6700\u4f4e2\u3064\u5fc5\u8981\uff08\u30bd\u30fc\u30b9\uff0b\u30d3\u30eb\u30c9\u307e\u305f\u306f\u30c7\u30d7\u30ed\u30a4\uff09\u3002<\/td><\/tr><tr><td><strong>\u30a2\u30af\u30b7\u30e7\u30f3<\/strong><\/td><td>\u5404\u30b9\u30c6\u30fc\u30b8\u5185\u3067\u5b9f\u884c\u3055\u308c\u308b\u5177\u4f53\u7684\u306a\u51e6\u7406\uff08\u4f8b\uff1aCodeBuild\u3001CodeDeploy\u3001\u627f\u8a8d\u306a\u3069\uff09\u3002<\/td><\/tr><tr><td><strong>\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8<\/strong><\/td><td>\u30b9\u30c6\u30fc\u30b8\u9593\u3067\u53d7\u3051\u6e21\u3055\u308c\u308b\u6210\u679c\u7269\uff08ZIP\u30d5\u30a1\u30a4\u30eb\u3084\u30a4\u30e1\u30fc\u30b8\u306a\u3069\uff09\u3002S3\u306b\u4fdd\u5b58\u3055\u308c\u308b\u3002<\/td><\/tr><tr><td><strong>\u30c8\u30ea\u30ac\u30fc<\/strong><\/td><td>\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306e\u8d77\u52d5\u5951\u6a5f\u3002EventBridge\u3001Webhook\u3001\u30dd\u30fc\u30ea\u30f3\u30b0\u306a\u3069\u304c\u5229\u7528\u53ef\u80fd\u3002<\/td><\/tr><tr><td><strong>IAM\u30ed\u30fc\u30eb<\/strong><\/td><td>CodePipeline \u304c\u4ed6\u306e AWS \u30b5\u30fc\u30d3\u30b9\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u305f\u3081\u306e\u6a29\u9650\u3002<\/td><\/tr><tr><td><strong>\u6697\u53f7\u5316\u30ad\u30fc<\/strong><\/td><td>\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306e\u6697\u53f7\u5316\u306b\u4f7f\u7528\u3055\u308c\u308b AWS KMS \u30ad\u30fc\u3002<\/td><\/tr><tr><td><strong>\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30b9\u30c8\u30a2<\/strong><\/td><td>\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3092\u4fdd\u5b58\u3059\u308b S3 \u30d0\u30b1\u30c3\u30c8\u306e\u5834\u6240\u3002<\/td><\/tr><tr><td><strong>RunOrder<\/strong><\/td><td>\u540c\u4e00\u30b9\u30c6\u30fc\u30b8\u5185\u3067\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u5b9f\u884c\u9806\u5e8f\u3002\u4e26\u5217\u5b9f\u884c\u3082\u53ef\u80fd\u3002<br>\u30fb<strong>\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306f 1<\/strong>\u3002 <strong>1\u4ee5\u4e0a\u306e\u81ea\u7136\u6570\u306e\u307f\u4f7f\u7528\u53ef\u80fd<\/strong>\uff080\u3001\u8ca0\u306e\u6570\u3001\u5206\u6570\u306a\u3069\u306f\u7121\u52b9\uff09\u3002<br><strong>\u3007\u30b7\u30ea\u30a2\u30eb\u5b9f\u884c<\/strong>\uff1a\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u9806\u306b\u5b9f\u884c\u3059\u308b\u306b\u306f\u3001\u9806\u756a\u306b\u5927\u304d\u3044\u6570\u5024\u3092\u5272\u308a\u5f53\u3066\u308b\u3002<br>\u4f8b\uff1a\u30a2\u30af\u30b7\u30e7\u30f3A\uff1d1\u3001\u30a2\u30af\u30b7\u30e7\u30f3B\uff1d2\u3001\u30a2\u30af\u30b7\u30e7\u30f3C\uff1d3\u3002<br><strong>\u3007\u4e26\u5217\u5b9f\u884c<\/strong>\uff1a\u540c\u3058 <code>runOrder<\/code> \u5024\u3092\u4f7f\u3046\u3053\u3068\u3067\u3001\u540c\u3058\u30b9\u30c6\u30fc\u30b8\u5185\u306e\u8907\u6570\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u540c\u6642\u306b\u5b9f\u884c\u53ef\u80fd\u3002<br>\u4f8b\uff1a\u30a2\u30af\u30b7\u30e7\u30f3A\uff1d1\u3001\u30a2\u30af\u30b7\u30e7\u30f3B\uff06C\uff1d2 \u2192 B\u3068C\u306f\u540c\u6642\u306b\u958b\u59cb\u3002<\/td><\/tr><tr><td><strong>\u5909\u6570<\/strong><\/td><td>\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u30ec\u30d9\u30eb\u3067\u5b9a\u7fa9\u3067\u304d\u308b\u30ab\u30b9\u30bf\u30e0\u5909\u6570\u3002V2 \u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u3067\u5229\u7528\u53ef\u80fd\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/details>\n\n\n\n<h1 class=\"wp-block-heading has-background has-medium-font-size\" style=\"background:linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 97%,rgb(254,248,76) 100%)\"><strong>Code Artifact<\/strong><\/h1>\n\n\n\n<div class=\"wp-block-media-text\" style=\"grid-template-columns:15% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"125\" height=\"125\" src=\"https:\/\/matomemopad.com\/wp-content\/uploads\/2025\/04\/image-54.png\" alt=\"\" class=\"wp-image-6710 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>\u3010\u5171\u6709\u30ea\u30dd\u30b8\u30c8\u30ea\u3011<\/strong><br>Python \u306e pip \u3084 Node.js \u306e npm \u7b49\u306e<strong><mark style=\"background-color:#f7e597\" class=\"has-inline-color\">\u5404\u7a2e\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30d1\u30c3\u30b1\u30fc\u30b8<\/mark>\u3092\u5b89\u5168\u306b\u4fdd\u5b58\u3001\u516c\u958b\u3001\u5171\u6709\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b<\/strong>\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30d1\u30c3\u30b1\u30fc\u30b8\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8<span style=\"text-decoration: underline;\">\u30ea\u30dd\u30b8\u30c8\u30ea\u30b5\u30fc\u30d3\u30b9<\/span>\u3002\u53ef\u7528\u6027\u304c\u9ad8\u304f\u3001\u3042\u3089\u3086\u308b\u898f\u6a21\u306e\u7d44\u7e54\u306e\u30cb\u30fc\u30ba\u306b\u5408\u308f\u305b\u3066\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u3067\u304d\u308b\u3002<br>(\u203bKMS\u3068\u7d71\u5408\u3057\u3066\u3001\u6697\u53f7\u5316\u3055\u308c\u305f\u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u63d0\u4f9b)<\/p>\n<\/div><\/div>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u69cb\u9020<\/strong><\/summary>\n<p class=\"wp-block-paragraph\"><strong>\uff08\u30c9\u30e1\u30a4\u30f3\uff1e\u30ea\u30dd\u30b8\u30c8\u30ea\uff1e\u30a2\u30bb\u30c3\u30c8\uff09<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table has-x-small-font-size\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>\u30c9\u30e1\u30a4\u30f3<\/strong><\/td><td>CodeArtifact \u306e\u6700\u4e0a\u4f4d\u306e\u30a8\u30f3\u30c6\u30a3\u30c6\u30a3\u3002\u30c9\u30e1\u30a4\u30f3\u914d\u4e0b\u306b\u8907\u6570\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u6301\u3064\u3053\u3068\u304c\u51fa\u6765\u308b\u3002<\/td><\/tr><tr><td><strong>\u30ea\u30dd\u30b8\u30c8\u30ea<\/strong><\/td><td><span style=\"text-decoration: underline;\">\u5404\u30a2\u30bb\u30c3\u30c8\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u30bb\u30c3\u30c8\u304c\u4fdd\u5b58<\/span>\u3055\u308c\u308b\u30021 \u3064\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u308b\u5168\u3066\u306e\u30bf\u30a4\u30d7\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3092\u63d0\u4f9b\u3002<\/td><\/tr><tr><td><strong>\u30a2\u30bb\u30c3\u30c8<\/strong><\/td><td>\u30c9\u30e1\u30a4\u30f3\u5185\u306e<strong>\u30a2\u30bb\u30c3\u30c8 (\u30d1\u30c3\u30b1\u30fc\u30b8)<\/strong> \u306f KMS \u306e\u6697\u53f7\u5316\u30ad\u30fc\u3067\u6697\u53f7\u5316\u3055\u308c\u308b\u3002\u3059\u3079\u3066\u306e\u30a2\u30bb\u30c3\u30c8\u3068<span style=\"text-decoration: underline;\">\u30e1\u30bf\u30c7\u30fc\u30bf<\/span>\u306f<span style=\"text-decoration: underline;\">\u30c9\u30e1\u30a4\u30f3<\/span>\u306b\u4fdd\u5b58\u3055\u308c\u308b\u70ba\u3001\u8907\u6570\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u540c\u3058\u30a2\u30bb\u30c3\u30c8\u304c\u5b58\u5728\u3059\u308b\u5834\u5408\u3001\u30a2\u30bb\u30c3\u30c8\u306f\u30c9\u30e1\u30a4\u30f3\u306b 1 \u3064\u3060\u3051\u4fdd\u5b58\u3055\u308c\u308b\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u6a5f\u80fd\u6027<\/strong><\/summary>\n<figure class=\"wp-block-table has-x-small-font-size\"><table><tbody><tr><td><strong>\u30d1\u30c3\u30b1\u30fc\u30b8\u5316\u3057\u305f\u3082\u306e\u3092\u914d\u5e03<\/strong><\/td><td>PyPI\uff08Python Package Index\uff09, pip, npm, maven\u306a\u3069<\/td><\/tr><tr><td><strong>\u30d1\u30c3\u30b1\u30fc\u30b8\u7ba1\u7406<\/strong><\/td><td>\u203b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\uff1d\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30d1\u30c3\u30b1\u30fc\u30b8<br>\u30fb<strong>\u66f4\u65b0<\/strong>\u3084\u30b5\u30fc\u30d0\u30fc\u306e<span style=\"text-decoration: underline;\">\u7ba1\u7406\u306f\u4e0d\u8981<\/span>\u3002<br>\u30fb\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3068\u4f9d\u5b58\u95a2\u4fc2\u3092\u30d1\u30d6\u30ea\u30c3\u30af\u306a\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30ea\u30dd\u30b8\u30c8\u30ea\u304b\u3089\u81ea\u52d5\u7684\u306b\u30d5\u30a7\u30c3\u30c1\u3067\u304d\u308b\u305f\u3081\u3001\u30c7\u30d9\u30ed\u30c3\u30d1\u30fc\u306b<strong><span style=\"text-decoration: underline;\">\u6700\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u63d0\u4f9b<\/span><\/strong>\u3067\u304d\u308b\u3002<br>\u30fb\u7ba1\u7406\u8005\u306f\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092<strong>\u627f\u8a8d<\/strong>\u3057\u3001\u7d44\u7e54<span style=\"text-decoration: underline;\">\u5168\u4f53\u3078\u306e\u914d\u5e03<\/span>\u3092\u5236\u5fa1\u3067\u304d\u308b\u3002<br>\u30fb\u6570\u56de\u30af\u30ea\u30c3\u30af\u3059\u308b\u3060\u3051\u3067\u3001<mark style=\"background-color:#f7e597\" class=\"has-inline-color\">\u4e2d\u592e\u30ea\u30dd\u30b8\u30c8\u30ea<\/mark>\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3067\u304d\u308b\u3002<br>\u30fb<span style=\"text-decoration: underline;\">IAM \u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u304a\u308a<\/span>\u3001IT \u30ea\u30fc\u30c0\u30fc\u306f AWS \u30a2\u30ab\u30a6\u30f3\u30c8\u5168\u4f53\u306e\u3055\u307e\u3056\u307e\u306a\u30c1\u30fc\u30e0\u306b\u9069\u5207\u306a\u30ec\u30d9\u30eb\u306e\u30a2\u30af\u30bb\u30b9\u6a29\u3092\u4ed8\u4e0e\u3067\u304d\u308b\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>[\u30aa\u30da\u30ec\u30fc\u30b7\u30e7\u30f3\u306e\u30aa\u30fc\u30d0\u30fc\u30d8\u30c3\u30c9\u3092\u524a\u6e1b\u3059\u308b]<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">\u30fb\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u7ba1\u7406\u306b\u3001\u5fc5\u8981\u306a\u30a4\u30f3\u30d5\u30e9\u30b9\u30c8\u30e9\u30af\u30c1\u30e3\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3057\u3066\u904b\u7528\u3059\u308b\u5fc5\u8981\u304c\u306a\u3044\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30fb\u4e00\u822c\u7684\u306b\u4f7f\u7528\u3055\u308c\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u30de\u30cd\u30fc\u30b8\u30e3\u30fc\u3084\u5404\u7a2e\u306e\u30d3\u30eb\u30c9\u30c4\u30fc\u30eb (Maven\u3001Gradle\u3001npm\u3001yarn\u3001twine\u3001pip\u3001NuGet) \u3067\u52d5\u4f5c\u3059\u308b\u305f\u3081\u3001\u65e2\u5b58\u306e\u958b\u767a\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u306b\u7c21\u5358\u306b\u7d71\u5408\u3067\u304d\u308b\u3002<\/p>\n<\/details>\n\n\n\n<h1 class=\"wp-block-heading has-background has-medium-font-size\" style=\"background:linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 94%,rgb(254,248,76) 100%)\"><strong>Code Commit<\/strong><\/h1>\n\n\n\n<div class=\"wp-block-media-text\" style=\"grid-template-columns:15% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"125\" height=\"125\" src=\"https:\/\/matomemopad.com\/wp-content\/uploads\/2025\/04\/image-55.png\" alt=\"\" class=\"wp-image-6711 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>\u3010\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u7ba1\u7406\u3011<\/strong><br><strong><span style=\"text-decoration: underline;\">\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9<\/span><\/strong>\u3084<strong><span style=\"text-decoration: underline;\">\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/span><\/strong>\u7b49\u306e\u6210\u679c\u7269\u3092AWS\u4e0a\u306e<mark style=\"background-color:#f7e597\" class=\"has-inline-color\">\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u306a\u300cGit\u30ea\u30dd\u30b8\u30c8\u30ea\u300d<\/mark>\u306b\u30db\u30b9\u30c6\u30a3\u30f3\u30b0\u3057\u3066\u3001\u30e6\u30fc\u30b6\u306e\u30c7\u30fc\u30bf\u3092\u9810\u304b\u3063\u3066\u7ba1\u7406\u3059\u308b\u3001<strong>\u30bd\u30fc\u30b9\u7ba1\u7406\u306e\u53ce\u7d0d\u5eab<\/strong>\u3002<br>\u203b\u4e00\u822c\u7684\u306a\u6d41\u308c\uff1a\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u4f5c\u6210 \u2192 \u30d5\u30a1\u30a4\u30eb\u306e\u8ffd\u52a0<\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u30fbAWS\u7279\u6709\u306e\u5b8c\u5168\u30de\u30cd\u30fc\u30b8\u30c9\u578b\u30b5\u30fc\u30d3\u30b9\u306a\u305f\u3081\u3001Git\u3092\u30db\u30b9\u30c6\u30a3\u30f3\u30b0\u3059\u308b\u30b5\u30fc\u30d0\u306e\u69cb\u7bc9\u306f\u4e0d\u8981\u3002<br>\u30fbCodeCommit \u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u30c8\u30ea\u30ac\u30fc\u3092\u4f5c\u6210\u3057\u3066\u3001\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u30a4\u30d9\u30f3\u30c8\u304b\u3089 Lambda \u95a2\u6570\u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u304c\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table has-x-small-font-size\"><table><tbody><tr><td><strong>\u30ea\u30dd\u30b8\u30c8\u30ea<\/strong><\/td><td>\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3084\u69cb\u6210\u30d5\u30a1\u30a4\u30eb\u306a\u3069\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u7ba1\u7406\u3092\u884c\u3046\u4e2d\u5fc3\u7684\u306a\u5834\u6240\u3002<\/td><\/tr><tr><td><strong>\u6a5f\u80fd\u30d6\u30e9\u30f3\u30c1<\/strong><\/td><td>\u5225\u306e\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u3092\u4f5c\u6210\u3057\u3001\u30c6\u30b9\u30c8\u3055\u308c\u305f\u30b3\u30fc\u30c9\u3092\u672c\u756a\u74b0\u5883\u306b<strong><span style=\"text-decoration: underline;\"><mark style=\"background-color:#f7e597\" class=\"has-inline-color\">\u30de\u30fc\u30b8\u3059\u308b\u6a5f\u80fd<\/mark><\/span><\/strong>\u3092\u652f\u63f4\u3059\u308b\u3002<\/td><\/tr><tr><td><strong>Git<\/strong><\/td><td>\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3084\u8a2d\u8a08\u66f8\u7b49\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u5909\u66f4\u5c65\u6b74\u3092\u8a18\u9332\u3057\u3066\u7ba1\u7406\u3059\u308b\u3001\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306e\u5206\u6563\u578b\u30d0\u30fc\u30b8\u30e7\u30f3\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\uff08\u5bfe\u8c61\u30e6\u30fc\u30b6\u306f\u3001\u4e3b\u306b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u958b\u767a\u8005\uff09<\/td><\/tr><tr><td><strong>feature <\/strong><br><strong>\u30d6\u30e9\u30f3\u30c1<\/strong><\/td><td>\u4e3b\u8981\u306a\u6a5f\u80fd\u3092\u5b9f\u88c5\u3059\u308b\u305f\u3081\u306e\u30d6\u30e9\u30f3\u30c1\u3002\u6a5f\u80fd\u306e\u5b9f\u88c5\u3084\u30d0\u30b0\u30d5\u30a3\u30c3\u30af\u30b9\u306a\u3069\u3001\u30bf\u30b9\u30af\u3054\u3068\u306bfeature \u30d6\u30e9\u30f3\u30c1\u3092\u4f5c\u6210\u3057\u3001\u4f5c\u696d\u3092\u884c\u3046\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>[\u4ed5\u69d8]<\/strong><br>\u30fb\u5171\u540c\u3067\u306e\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u958b\u767a\u5411\u3051\u306b\u8a2d\u8a08\u3055\u308c\u3066\u3044\u308b\u3002<br>\u30fb\u8907\u6570\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u308f\u305f\u308b\u5909\u66f4\u3092\u4e00\u62ec\u7ba1\u7406\u3067\u304d\u3001\u4e26\u884c\u5206\u5c90\u5316\u3001\uff08S3\u306e\u307f\uff09\u30d0\u30fc\u30b8\u30e7\u30f3\u6bd4\u8f03\uff08diffing\uff09\u3092\u5229\u7528\u3067\u304d\u308b\u3002<br>\u30fb\u30b3\u30fc\u30c9\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3001\u5c65\u6b74\u306e\u78ba\u8a8d,\u30bd\u30fc\u30b9\u306e\u30d7\u30ec\u30d3\u30e5\u30fc\u3001\u30d6\u30e9\u30a6\u30b6\u4e0a\u3067\u306e\u7de8\u96c6\u3001\u30d7\u30eb\u30ea\u30af\u30a8\u30b9\u30c8\u3001\u30d6\u30e9\u30a6\u30b6\u4e0a\u3067\u30ec\u30d3\u30e5\u30fc\u30b3\u30e1\u30f3\u30c8\u3001<strong><span style=\"text-decoration: underline;\">\u627f\u8a8d\u30eb\u30fc\u30eb<\/span><\/strong>\u306e\u8a2d\u5b9a\u304c\u53ef\u80fd\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>[\u30bb\u30ad\u30e5\u30a2\u6027]<\/strong><br>\u30fbCodeCommit\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u969b\u306bAWS\u306e\u30e6\u30fc\u30b6\u30fcID\u3068PW\u304c\u6c42\u3081\u3089\u308c\u308b\u3002<br>\u30fbCodeCommit \u30ea\u30dd\u30b8\u30c8\u30ea\u5185\u306e\u30c7\u30fc\u30bf\u306f\u3001\u8ee2\u9001\u4e2d\u3068\u4e0d\u4f7f\u7528\u6642\u306e\u3044\u305a\u308c\u3082\u6697\u53f7\u5316\u3055\u308c\u308b\u3002<br>\u30fb\u30af\u30e9\u30a6\u30c9\u5185\u306e\u30a2\u30bb\u30c3\u30c8\uff08\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3001\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3001\u30d0\u30a4\u30ca\u30ea\u30d5\u30a1\u30a4\u30eb\u306a\u3069\uff09\u3092\u975e\u516c\u958b\u3067\u4fdd\u5b58\u53ca\u3073\u7ba1\u7406\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u7ba1\u7406\u30dd\u30ea\u30b7\u30fc<\/strong><\/summary>\n<p class=\"wp-block-paragraph\"><strong>[\u30dd\u30ea\u30b7\u30fc\u306e\u76ee\u7684]<\/strong><br>\u7279\u5b9a\u306e<strong>\u30d6\u30e9\u30f3\u30c1\uff08\u4f8b\uff1a<code>master<\/code>\uff09\u306b\u5bfe\u3057\u3066\u5909\u66f4\u3092\u62d2\u5426\u3059\u308b<\/strong>\u305f\u3081\u306eDeny\u30dd\u30ea\u30b7\u30fc\u306e\u8a2d\u5b9a\u65b9\u6cd5\u3092\u7d39\u4ecb\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>[\u64cd\u4f5c\u624b\u9806\u306e\u6982\u8981]<\/strong><br>\u30fb<code>MyDemoRepo<\/code>\u3068\u3044\u3046\u540d\u524d\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u4f8b\u306b\u3001<code>master<\/code>\u30d6\u30e9\u30f3\u30c1\u3078\u306ePush\u3092\u62d2\u5426\u3059\u308b\u30dd\u30ea\u30b7\u30fc\u3092\u4f5c\u6210\u3002<br>\u30fbAWS CodeCommit\u306e\u30b3\u30f3\u30bd\u30fc\u30eb\u753b\u9762\u304b\u3089\u8a2d\u5b9a\u3092\u884c\u3046\u6d41\u308c\u304c\u793a\u3055\u308c\u3066\u3044\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>[\u30dd\u30ea\u30b7\u30fc\u306e\u52b9\u679c]<\/strong><br>\u6307\u5b9a\u30d6\u30e9\u30f3\u30c1\u306b\u5bfe\u3059\u308b\u610f\u56f3\u3057\u306a\u3044\u5909\u66f4\u3084Push\u3092\u9632\u6b62\u3067\u304d\u3001\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u5b89\u5b9a\u6027\u30fb\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3092\u7dad\u6301\u53ef\u80fd\u3002<\/p>\n<\/details>\n\n\n\n<h1 class=\"wp-block-heading has-background has-medium-font-size\" style=\"background:linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 96%,rgb(254,248,76) 100%)\">Code Build<\/h1>\n\n\n\n<div class=\"wp-block-media-text\" style=\"grid-template-columns:15% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"125\" height=\"125\" src=\"https:\/\/matomemopad.com\/wp-content\/uploads\/2025\/04\/image-56.png\" alt=\"\" class=\"wp-image-6712 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>\u3010\u30b3\u30fc\u30c9\u306e\u30c6\u30b9\u30c8\u3011<\/strong><br>\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u53d7\u3051\u53d6\u308a\u3001\u305d\u308c\u3092\u4ed5\u69d8\u66f8\uff08buildspec.yml\u30d5\u30a1\u30a4\u30eb\uff09\u306b\u57fa\u3065\u3044\u3066\u3001\u30d3\u30eb\u30c9\u74b0\u5883\uff08\u30a4\u30e1\u30fc\u30b8\uff09\u3092\u69cb\u7bc9\u3057\u3001\u554f\u984c\u304c\u306a\u3044\u304b<strong><span style=\"text-decoration: underline;\">\u30c6\u30b9\u30c8\u3092\u884c\u3046<\/span><\/strong>\u3002<br>\u203b<span style=\"text-decoration: underline;\">EFS\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u3092\u30b5\u30dd\u30fc\u30c8<\/span><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>[\u9806\u5e8f]<\/strong><br>\u2460\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306e\u7de8\u96c6\u3068\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\uff08<strong>CodeCommit<\/strong>\u306b\u30d7\u30c3\u30b7\u30e5\uff09<br>\u2461<strong>buildspec.yml<\/strong>\u30d5\u30a1\u30a4\u30eb\u306e\u4f5c\u6210\u3068\u30a2\u30c3\u30d7\uff08<strong>CodeCommit<\/strong>\u306b\u30d7\u30c3\u30b7\u30e5\uff09<br>\u2462\u30d3\u30eb\u30c9\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\uff08CodeBuild\u4e0a\u3067\u4f5c\u6210\uff09<br>\u2463\u30d3\u30eb\u30c9\u3092\u958b\u59cb\u3059\u308b\uff08CodeBuild\uff09<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>[CodeBuild \u3078\u30a2\u30af\u30bb\u30b9\u3059\u308b\u969b\u306f\u8a8d\u8a3c\u60c5\u5831\u304c\u5fc5\u8981]<\/strong><br>\u30fb<strong>Amazon S3<\/strong>\uff1a\u30d3\u30eb\u30c9\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306e\u4fdd\u5b58\u3068\u53d6\u5f97<br>\u30fb<strong>Amazon CloudWatch Logs<\/strong>\uff1a\u30d3\u30eb\u30c9\u306e\u30ed\u30b0\u8868\u793a<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>\u25cfBuildSpec\u30d5\u30a1\u30a4\u30eb<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">yaml\u5f62\u5f0f\u3067\u8a18\u8ff0\u3055\u308c\u305fAWS CodeBuild\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3002\u3053\u3053\u3067\u8a18\u8ff0\u3055\u308c\u305f\u8a2d\u5b9a\u304cAWS CodeBuild\u306b\u3088\u3063\u3066\u30d3\u30eb\u30c9\u3055\u308c\u308b\u3002\u3053\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e\u554f\u984c\u3092\u78ba\u8a8d\u3059\u308b\u306b\u306f\u3001<strong>AWS CodeBuild\u30d3\u30eb\u30c9\u3092\u30ed\u30fc\u30ab\u30eb\u3067\u5b9f\u884c\u3059\u308b\u3002<\/strong>\u30ed\u30fc\u30ab\u30eb\u3067\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067\u3001BuildSpec\u30d5\u30a1\u30a4\u30eb\u3067\u8a18\u8ff0\u3057\u305f\u8a2d\u5b9a\u304c\u3069\u306e\u3088\u3046\u306b\u30d3\u30eb\u30c9\u3055\u308c\u308b\u304b\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u3067\u30c6\u30b9\u30c8\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002\u3053\u308c\u306b\u3088\u308a\u3001BuildSpec\u30d5\u30a1\u30a4\u30eb\u306b\u304a\u3051\u308b\u554f\u984c\u3092\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u3067\u78ba\u8a8d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>\u25cf\u30d3\u30eb\u30c9\u30d0\u30c3\u30b8<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u6700\u65b0\u306e\u30d3\u30eb\u30c9\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u8868\u793a\u3059\u308b\u3002\u3053\u306e\u30a4\u30e1\u30fc\u30b8\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u306b\u306f\u3001CodeBuild \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u5bfe\u3057\u3066\u751f\u6210\u3055\u308c\u308b\u30d1\u30d6\u30ea\u30c3\u30af\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\u306a URL \u3092\u4f7f\u7528\u3059\u308b\u3002\u305d\u306e\u305f\u3081\u3001\u8ab0\u3067\u3082 CodeBuild \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u78ba\u8a8d\u3067\u304d\u308b\u3002\u30d3\u30eb\u30c9\u30d0\u30c3\u30b8\u306b\u306f\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u60c5\u5831\u304c\u542b\u307e\u308c\u306a\u3044\u305f\u3081\u3001\u8a8d\u8a3c\u306f\u4e0d\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u30d7\u30ed\u30d1\u30c6\u30a3<\/strong><\/summary>\n<figure class=\"wp-block-table has-small-font-size\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>on-failure<\/strong><\/td><td>\u30d5\u30a7\u30fc\u30ba\u4e2d\u306b\u969c\u5bb3\u304c\u767a\u751f\u3057\u305f\u5834\u5408\u306b\u5b9f\u884c\u3059\u308b\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u6307\u5b9a\u3059\u308b\u3002<br>\u30fbABORT\uff1a\u30d3\u30eb\u30c9\u3092\u4e2d\u6b62\u3059\u308b<br>\u30fbCONTINUE\uff1a\u6b21\u306e\u30b9\u30c6\u30c3\u30d7\u306b\u9032\u3080<\/td><\/tr><tr><td><\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u30c6\u30b9\u30c8\u30ec\u30dd\u30fc\u30c8<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">buildspec.yml \u306b\u3088\u308b\u30c6\u30b9\u30c8\u30ec\u30dd\u30fc\u30c8\u751f\u6210\u304c\u53ef\u80fd\u3002<br>\u30fb\u30d3\u30eb\u30c9\u4ed5\u69d8\u30d5\u30a1\u30a4\u30eb\uff08buildspec.yml\uff09\u5185\u3067\u30c6\u30b9\u30c8\u5b9f\u884c\u5f8c\u306b\u30b5\u30dd\u30fc\u30c8\u5185\u306e\u5f62\u5f0f\u3067\u7d50\u679c\u3092\u51fa\u529b<br>\u30fb\u51fa\u529b\u3055\u308c\u305f\u30ec\u30dd\u30fc\u30c8\u3092 CodeBuild \u304c\u81ea\u52d5\u7684\u306b\u8aad\u307f\u53d6\u308a\u3001\u30c6\u30b9\u30c8\u30ec\u30dd\u30fc\u30c8\u30b0\u30eb\u30fc\u30d7\u3092\u751f\u6210\u3067\u304d\u308b<br>\u30fb\u751f\u6210\u3055\u308c\u305f\u30ec\u30dd\u30fc\u30c8\u306f CodePipeline \u4e0a\u3067\u30d3\u30eb\u30c9\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3068\u3068\u3082\u306b\u7c21\u5358\u306b\u78ba\u8a8d\u53ef\u80fd<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>\u25cf\u30ec\u30dd\u30fc\u30c8\u30b0\u30eb\u30fc\u30d7<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30c6\u30b9\u30c8\u7d50\u679c\u306e\u8a73\u7d30\u306a\u5206\u6790\u3084\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u304a\u3051\u308b\u30c6\u30b9\u30c8\u30ab\u30d0\u30ec\u30c3\u30b8\u306e\u8ffd\u8de1\u306b\u7279\u5316\u3057\u3066\u304a\u308a\u3001\u958b\u767a\u30c1\u30fc\u30e0\u304c\u30c6\u30b9\u30c8\u7d50\u679c\u3092\u3088\u308a\u52b9\u679c\u7684\u306b\u8a55\u4fa1\u3057\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u54c1\u8cea\u3092\u6539\u5584\u3059\u308b\u305f\u3081\u306e\u6d1e\u5bdf\u3092\u63d0\u4f9b\u3059\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>[\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u308b\u30c6\u30b9\u30c8\u30ec\u30dd\u30fc\u30c8\u5f62\u5f0f]<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cucumber JSON (.json)<\/li>\n\n\n\n<li>JUnit XML (.xml)<\/li>\n\n\n\n<li>NUnit XML (.xml)<\/li>\n\n\n\n<li>NUnit3 XML (.xml)<\/li>\n\n\n\n<li>TestNG XML (.xml)<\/li>\n\n\n\n<li>Visual Studio TRX (.trx)<\/li>\n<\/ul>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u30ad\u30e3\u30c3\u30b7\u30e5\u6a5f\u80fd<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u30d3\u30eb\u30c9\u6642\u9593\u3092\u7bc0\u7d04\u3067\u304d\u308b\u3002\u30ad\u30e3\u30c3\u30b7\u30e5\u306b\u306f\u3001\u30d3\u30eb\u30c9\u74b0\u5883\u306e\u518d\u5229\u7528\u53ef\u80fd\u306a\u90e8\u5206\u3092\u4fdd\u5b58\u3057\u3001\u8907\u6570\u306e\u30d3\u30eb\u30c9\u3067\u4f7f\u7528\u3067\u304d\u308b\u3002AmazonS3\u307e\u305f\u306f\u30ed\u30fc\u30ab\u30eb\u306e2\u7a2e\u985e\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u304c\u3042\u308b\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table has-x-small-font-size\"><table class=\"has-fixed-layout\"><thead><tr><th>\u9805\u76ee<\/th><th>Amazon S3 \u30ad\u30e3\u30c3\u30b7\u30e5<\/th><th>\u30ed\u30fc\u30ab\u30eb\u30ad\u30e3\u30c3\u30b7\u30e5<\/th><\/tr><\/thead><tbody><tr><td>\u30ad\u30e3\u30c3\u30b7\u30e5\u66f4\u65b0<\/td><td>Amazon S3(\u30ea\u30e2\u30fc\u30c8\u30b9\u30c8\u30ec\u30fc\u30b8)<\/td><td>CodeBuild\u306e\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\uff08\u30d3\u30eb\u30c9\u30b3\u30f3\u30c6\u30ca\u4ed8\u304d\uff09<\/td><\/tr><tr><td>\u30c7\u30fc\u30bf\u53d6\u5f97\u65b9\u6cd5<\/td><td>\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u7d4c\u7531\u3067\u53d6\u5f97<\/td><td>\u30ed\u30fc\u30ab\u30eb\u30b9\u30c8\u30ec\u30fc\u30b8\u304b\u3089\u76f4\u63a5\u53d6\u5f97<\/td><\/tr><tr><td>\u8ee2\u9001\u901f\u5ea6<\/td><td>\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u72b6\u614b\u306b\u4f9d\u5b58<\/td><td>\u9ad8\u901f\u3067\u5b89\u5b9a\u3057\u3066\u3044\u308b<\/td><\/tr><tr><td>\u4f9d\u5b58\u95a2\u4fc2\u53d6\u5f97\u6642\u9593\u3078\u306e\u5f71\u97ff<\/td><td>\u8ee2\u9001\u6642\u9593\u304c\u304b\u304b\u308b\u305f\u3081\u6539\u5584\u52b9\u679c\u306f\u9650\u5b9a\u7684<\/td><td>\u53d6\u5f97\u6642\u9593\u3092\u5927\u5e45\u306b\u524a\u6e1b\u3057\u3001\u30d3\u30eb\u30c9\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u5411\u4e0a<\/td><\/tr><tr><td>\u9069\u7528\u5834\u9762<\/td><td>\u4f4e\u983b\u5ea6\u306e\u30d3\u30eb\u30c9\u3084\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30b9\u30c8\u3092\u91cd\u8996\u3059\u308b\u5834\u5408<\/td><td>\u983b\u7e41\u306a\u30d3\u30eb\u30c9\u3084\u4f9d\u5b58\u95a2\u4fc2\u304c\u591a\u3044\u5834\u5408\u306b\u6700\u9069<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/details>\n\n\n\n<h1 class=\"wp-block-heading has-background has-medium-font-size\" style=\"background:linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 94%,rgb(254,248,76) 100%)\"><strong>Code Deploy<\/strong><\/h1>\n\n\n\n<div class=\"wp-block-media-text\" style=\"grid-template-columns:15% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"125\" height=\"125\" src=\"https:\/\/matomemopad.com\/wp-content\/uploads\/2025\/04\/image-57.png\" alt=\"\" class=\"wp-image-6713 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>\u3010\u81ea\u52d5\u30c7\u30d7\u30ed\u30a4\u3011<\/strong><br>\u30d3\u30eb\u30c9\u3057\u305f\u3001EC2\u3001<mark style=\"background-color:#f7e597\" class=\"has-inline-color\">\u30aa\u30f3\u30d7\u30ec\u30df\u30b9<\/mark>\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3001\u30b5\u30fc\u30d0\u30fc\u30ec\u30b9 Lambda \u95a2\u6570\u3001\u307e\u305f\u306f ECS \u30b5\u30fc\u30d3\u30b9\u306b\u5bfe\u3059\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30c7\u30d7\u30ed\u30a4\u3092\u81ea\u52d5\u5316\u3059\u308b\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u30b5\u30fc\u30d3\u30b9\u3002<br>\u203b\u30a4\u30f3\u30d5\u30e9\u3067\u306f\u306a\u304f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u5411\u3051<\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u69cb\u6210\u3057\u3066\u3044\u308b\u300c\u30d5\u30a1\u30a4\u30eb\u7fa4\u300d\u3092\u30b9\u30c6\u30fc\u30b8\u30f3\u30b0\u74b0\u5883\u3084\u672c\u756a\u74b0\u5883\u3068\u3044\u3063\u305f\u300c\u30b0\u30eb\u30fc\u30d4\u30f3\u30b0\u3055\u308c\u305f\u30b5\u30fc\u30d0\u30fc\u7fa4\u300d\u306b\u5b9a\u3081\u3089\u308c\u305f\u624b\u9806\u3067\u81ea\u52d5\u914d\u7f6e\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>[\u30c7\u30d7\u30ed\u30a4\u30a4\u30d9\u30f3\u30c8\u306e\u30b7\u30fc\u30b1\u30f3\u30b9]<\/strong><br>[\u30c7\u30d7\u30ed\u30a4] -> [\u30c6\u30b9\u30c8] -> (\u6210\u529f\u3057\u305f\u5834\u5408) -> [\u624b\u52d5\u306e\u627f\u8a8d\u901a\u77e5]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u203b<span style=\"text-decoration: underline;\">CloudFormation \u306e\u30c7\u30d7\u30ed\u30a4\u3068\u30c6\u30b9\u30c8\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u63d0\u4f9b\u3057\u306a\u3044<\/span><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>\u25cfCodeDeploy \u30a8\u30fc\u30b8\u30a7\u30f3\u30c8<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><mark style=\"background-color:#f7e597\" class=\"has-inline-color\">\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u8a2d\u5b9a\u3059\u308b\u3068<\/mark>\u3001\u305d\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092 CodeDeploy \u30c7\u30d7\u30ed\u30a4\u3067\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30d1\u30c3\u30b1\u30fc\u30b8\u3002<\/p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>App Spec<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">Lambda\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u7ba1\u7406\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table has-x-small-font-size\"><table><tbody><tr><td><strong>AppSpec file<\/strong><br><strong>(Application Specification File)<\/strong><\/td><td>CodeDeploy\u304cEC2\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u5bfe\u3057\u3066\u3001 S3 \u307e\u305f\u306f GitHub \u306b\u3042\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30ea\u30d3\u30b8\u30e7\u30f3\u3092<strong>\u3069\u306e\u3088\u3046\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u304b<\/strong>\u6c7a\u5b9a\u3059\u308b\u3001YAML \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306e\u30d5\u30a1\u30a4\u30eb\u3002<br>\u203bappspec.yml \u3068\u3057\u3066\u3001\u30eb\u30fc\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u914d\u7f6e\u3055\u308c\u308b\u3002<br><br>\u307e\u305f\u540c\u69d8\u306b\u3001\u30c7\u30d7\u30ed\u30a4\u306e\u69d8\u3005\u306a\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u30a4\u30d9\u30f3\u30c8\u3092\u30d5\u30c3\u30af\u3057\u3066\u51e6\u7406\u3092\u5b9f\u884c\u3059\u308b\u304b\u6c7a\u5b9a\u3059\u308b\u3002<br><br>\u30fb\u3053\u306e\u8981\u4ef6\u3092\u6e80\u305f\u3057\u3066\u3044\u306a\u3044\u5834\u5408\u3001\u30c7\u30d7\u30ed\u30a4\u306f\u5931\u6557\u3059\u308b\u3002<br>\u30fbAppSpec \u30d5\u30a1\u30a4\u30eb\u304c\u65e2\u306b\u5b58\u5728\u3059\u308b\u5834\u5408\u306f\u3001\u3053\u308c\u3092\u542b\u3081\u305f\u30c7\u30d7\u30ed\u30a4\u7528\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092 .zip (Windows Server \u4ee5\u5916\u306f .tar \u304a\u3088\u3073 .tar.gz \u3082\u53ef\u80fd) \u5f62\u5f0f\u306e\u5727\u7e2e\u30d5\u30a1\u30a4\u30eb\u306b\u3067\u304d\u308b\u3002<\/td><\/tr><tr><td><strong>hooks<\/strong> <br>(\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u30d5\u30c3\u30af)<br>\u203bLambda \u30c7\u30d7\u30ed\u30a4\u5411\u3051<\/td><td>\u305d\u308c\u305e\u308c\u306e\u30d5\u30c3\u30af\u306f AppSpec \u30d5\u30a1\u30a4\u30eb\u3067\u5b9a\u7fa9\u3055\u308c\u3001\u30c7\u30d7\u30ed\u30a4\u306e\u7279\u5b9a\u30bf\u30a4\u30df\u30f3\u30b0\u3067 1 \u56de\u3060\u3051\u5b9f\u884c\u3055\u308c\u308b\u3002<br>\u30fb<strong>Before Allow Traffic<\/strong><br>\u30c7\u30d7\u30ed\u30a4\u3055\u308c\u305f Lambda \u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u6d41\u3059\u300c\u524d\u300d\u306b\u547c\u3073\u51fa\u3055\u308c\u308b\u3002<br>\u30fb<strong>After Allow Traffic<\/strong><br>\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u30c7\u30d7\u30ed\u30a4\u6e08\u307f\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u6d41\u3057\u305f\u300c\u5f8c\u300d\u306b\u547c\u3073\u51fa\u3055\u308c\u308b\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u30c7\u30d7\u30ed\u30a4\u65b9\u6cd5<\/strong><\/summary>\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>\u25cf\u30c7\u30d7\u30ed\u30a4\u30b0\u30eb\u30fc\u30d7<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30c7\u30d7\u30ed\u30a4\u4e2d\u306b\u4f7f\u7528\u3055\u308c\u308b\u8a2d\u5b9a\u3068\u69cb\u6210\u304c\u542b\u307e\u308c\u308b\u3002\u307b\u3068\u3093\u3069\u306e\u30c7\u30d7\u30ed\u30a4\u30b0\u30eb\u30fc\u30d7\u8a2d\u5b9a\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u4f7f\u7528\u3055\u308c\u308b\u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306b\u3088\u3063\u3066\u7570\u306a\u308b\u3002\u30ed\u30fc\u30eb\u30d0\u30c3\u30af\u3001\u30c8\u30ea\u30ac\u30fc\u3001\u30a2\u30e9\u30fc\u30e0\u306a\u3069\u306e\u4e00\u90e8\u306e\u8a2d\u5b9a\u306f\u3001\u3069\u306e\u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306e\u30c7\u30d7\u30ed\u30a4\u30b0\u30eb\u30fc\u30d7\u3067\u3082\u8a2d\u5b9a\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>[\u30a4\u30f3\u30d7\u30ec\u30fc\u30b9\u30c7\u30d7\u30ed\u30a4]<\/strong><br><mark style=\"background-color:#f7e597\" class=\"has-inline-color\"><strong>\u65e2\u5b58<\/strong><\/mark>\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u4e0a\u3067\u30a2\u30d7\u30ea\u3092\u505c\u6b62\u3057\u3066\u3001\u76f4\u63a5\u30c7\u30d7\u30ed\u30a4\u3002\u8ffd\u52a0\u30ea\u30bd\u30fc\u30b9\u4e0d\u8981\u3002\u30c0\u30a6\u30f3\u30bf\u30a4\u30e0\u304c\u6291\u3048\u3001\u30b3\u30b9\u30c8\u306f\u4f4e\u3044\u304c\u3001\u53ef\u7528\u6027\u306b\u6ce8\u610f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table has-x-small-font-size\"><table><thead><tr><th>\u30c7\u30d7\u30ed\u30a4\u65b9\u5f0f<\/th><th>\u6982\u8981<\/th><th>\u9069\u7528\u5bfe\u8c61<\/th><\/tr><\/thead><tbody><tr><td><strong>OneAtATime<\/strong><br><strong>\uff08\u30ed\u30fc\u30ea\u30f3\u30b0\uff09<\/strong><\/td><td>1\u53f0\u305a\u3064\u9806\u756a\u306b\u30c7\u30d7\u30ed\u30a4\u3002\u6700\u3082\u5b89\u5168\u3001\u969c\u5bb3\u306e\u5f71\u97ff\u3092\u6700\u5c0f\u5316\u3002<br>\u30c0\u30a6\u30f3\u30bf\u30a4\u30e0\u3092\u6291\u3048\u3064\u3064\u5f90\u3005\u306b\u66f4\u65b0\u3002\u672c\u756a\u74b0\u5883\u3067\u306e\u614e\u91cd\u306a\u66f4\u65b0\u306b\u5411\u3044\u3066\u3044\u308b\u3002<\/td><td>EC2 \/ \u30aa\u30f3\u30d7\u30ec\u30df\u30b9<\/td><\/tr><tr><td><strong>HalfAtATime<\/strong><\/td><td>\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u534a\u5206\u305a\u3064\u30c7\u30d7\u30ed\u30a4\u3002\u30d0\u30e9\u30f3\u30b9\u578b\u3001\u5b89\u5168\u6027\u3068\u901f\u5ea6\u306e\u4e2d\u9593\u3002<br>\u4e2d\u898f\u6a21\u306a\u672c\u756a\u74b0\u5883\u306b\u5411\u3044\u3066\u3044\u308b<\/td><td><\/td><\/tr><tr><td><strong>All-at-once<\/strong><br><strong>\uff08\u4e00\u6589\u30c7\u30d7\u30ed\u30a4\uff09<\/strong><\/td><td>\u5168\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u4e00\u5ea6\u306b\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u5c55\u958b\u3002<br>\u30b7\u30f3\u30d7\u30eb\u30fb\u9ad8\u901f\u3060\u304c\u3001\u5931\u6557\u6642\u306e\u5f71\u97ff\u304c\u5927\u304d\u3044\u3002\uff08\u30c6\u30b9\u30c8\u74b0\u5883\u3084\u7dca\u6025\u4fee\u6b63\uff09<\/td><td>EC2 \/ Lambda \/ ECS<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>[\u305d\u306e\u4ed6\u30c7\u30d7\u30ed\u30a4\u65b9\u5f0f]<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table has-x-small-font-size\"><table><thead><tr><th>\u30c7\u30d7\u30ed\u30a4\u65b9\u5f0f<\/th><th>\u6982\u8981<\/th><th>\u9069\u7528\u5bfe\u8c61<\/th><\/tr><\/thead><tbody><tr><td><strong>Blue\/Green<\/strong><br><strong>(\u30d6\u30eb\u30fc\u30b0\u30ea\u30fc\u30f3)<\/strong><\/td><td>\u65b0\u74b0\u5883\uff08Green\uff09\u3092\u69cb\u7bc9\u3057\u3001\u65e7\u74b0\u5883\uff08Blue\uff09\u304b\u3089\u5207\u308a\u66ff\u3048\u308b\u3002\u672c\u756a\u7a3c\u50cd\u7528\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u9001\u4fe1\u3059\u308b\u524d\u306b\u30b5\u30fc\u30d3\u30b9\u306e\u65b0\u3057\u3044\u30c7\u30d7\u30ed\u30a4\u3092\u30c6\u30b9\u30c8\u3059\u308b\u3002<mark style=\"background-color:#f7e597\" class=\"has-inline-color\"><strong>\u30c0\u30a6\u30f3\u30bf\u30a4\u30e0\u306a\u3057<\/strong><\/mark>\u3001<strong><span style=\"text-decoration: underline;\">\u30ed\u30fc\u30eb\u30d0\u30c3\u30af<\/span><\/strong>\u304c\u5bb9\u6613\u3002<\/td><td>ECS \/ Lambda\uff08\u7591\u4f3c\u7684\uff09<\/td><\/tr><tr><td><strong>Canary<\/strong><br><strong>\uff08\u30ab\u30ca\u30ea\u30a2\uff09<\/strong><\/td><td>\u4e00\u90e8\u30e6\u30fc\u30b6\u30fc\u306b\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u63d0\u4f9b\u3057\u3001<strong><span style=\"text-decoration: underline;\"><mark style=\"background-color:#f7e597\" class=\"has-inline-color\">\u691c\u8a3c\u5f8c<\/mark><\/span><\/strong>\u3001\u6bb5\u968e\u7684\u306b\u62e1\u5927\u3059\u308b\u3002<br>\u5f71\u97ff\u3092\u6700\u5c0f\u9650\u306b\u6291\u3048\u3064\u3064\u5b89\u5168\u306b\u30ea\u30ea\u30fc\u30b9\u3002<\/td><td>Lambda \/ ECS \/ ECS(Blue\/Green)<\/td><\/tr><tr><td><strong>Linear<\/strong><br><strong>\uff08\u7dda\u5f62\uff09<\/strong><\/td><td>\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306f\u6bce\u56de\u540c\u3058\u9593\u9694(\u5206)\u306e\u7b49\u3057\u3044\u5897\u5206\u3067\u6bb5\u968e\u7684\u306b\u79fb\u884c\u3059\u308b\u3002<br>\u5b89\u5b9a\u3057\u305f\u30ea\u30ea\u30fc\u30b9\u304c\u53ef\u80fd\u3001\u6642\u9593\u306f\u304b\u304b\u308b\u3002\uff08\u4f8b\uff1a10%\u305a\u30645\u5206\u3054\u3068\u306b\u79fb\u884c\uff09<br>\u5897\u5206\u3054\u3068\u306b\u79fb\u884c\u3059\u308b\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u5272\u5408(\uff05)\u3068\u3001\u5897\u5206\u9593\u306e\u9593\u9694(\u5206)\u3092\u6307\u5b9a\u53ef\u80fd\u3002<\/td><td>Lambda \/ ECS \/ ECS(Blue\/Green)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">[<a href=\"https:\/\/docs.aws.amazon.com\/ja_jp\/whitepapers\/latest\/practicing-continuous-integration-continuous-delivery\/deployment-methods.html\" target=\"_blank\" rel=\"noreferrer noopener\">\u5f15\u7528\u30b5\u30a4\u30c8<\/a>]<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u30a4\u30d9\u30f3\u30c8<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">\u30d5\u30c3\u30af\u3057\u3066\u5dee\u3057\u8fbc\u30801\u3064\u4ee5\u4e0a\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u6307\u5b9a\u3059\u308b\u3002<strong><span style=\"text-decoration: underline;\">hooks \u30bb\u30af\u30b7\u30e7\u30f3<\/span><\/strong>\u306f\u3001\u4f55\u3089\u304b\u306e\u51e6\u7406\u3092\u8ffd\u52a0\u3057\u305f\u3044\u5834\u5408\u306e\u307f\u6307\u5b9a\u3059\u308b\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table has-x-small-font-size\"><table><tbody><tr><td><strong>ApplicationStop<\/strong><\/td><td>\u524d\u56de\u306e\u30ea\u30d3\u30b8\u30e7\u30f3\u306e\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u304c\u958b\u59cb\u3057\u305f\u3068\u304d(\u30d5\u30c3\u30af\u53ef\u80fd)\u3002<\/td><\/tr><tr><td><strong>DownloadBundle<\/strong><\/td><td>AWS CodeDeploy Agent \u304c\u30ea\u30d3\u30b8\u30e7\u30f3\u3092C\u30c9\u30e9\u30a4\u30d6\u306e[Archiive]\u968e\u5c64\u306b\u30b3\u30d4\u30fc\u3057\u305f\u3042\u3068(\u30d5\u30c3\u30af\u4e0d\u53ef\u80fd)\u3002<\/td><\/tr><tr><td><strong>BeforeInstall<\/strong><\/td><td>AWS CodeDeploy \u304c files \u30bb\u30af\u30b7\u30e7\u30f3\u3067\u6307\u5b9a\u3055\u308c\u305f\u5834\u6240\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u30b3\u30d4\u30fc\u3059\u308b\u524d(\u30d5\u30c3\u30af\u53ef\u80fd)\u3002\u30d5\u30a1\u30a4\u30eb\u306e\u5fa9\u53f7\u3084\u73fe\u5728\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u306e\u4f5c\u6210\u306a\u3069\u306e\u4e8b\u524d\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30bf\u30b9\u30af\u306b\u4f7f\u7528\u3002<\/td><\/tr><tr><td><strong>Install<\/strong><\/td><td>CodeDeploy \u304c files \u30bb\u30af\u30b7\u30e7\u30f3\u3067\u6307\u5b9a\u3055\u308c\u305f\u5834\u6240\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u30b3\u30d4\u30fc\u3059\u308b\u3068\u304d(\u30d5\u30c3\u30af\u4e0d\u53ef\u80fd)\u3002<\/td><\/tr><tr><td><strong>AfterInstall<\/strong><\/td><td>CodeDeploy \u304c files \u30bb\u30af\u30b7\u30e7\u30f3\u3067\u6307\u5b9a\u3055\u308c\u305f\u5834\u6240\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u30b3\u30d4\u30fc\u3057\u305f\u5f8c(\u30d5\u30c3\u30af\u53ef\u80fd)\u3002<br>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u8a2d\u5b9a\u3084\u30d5\u30a1\u30a4\u30eb\u306e\u30a2\u30af\u30bb\u30b9\u6a29\u9650\u306e\u5909\u66f4\u306a\u3069\u306e\u30bf\u30b9\u30af\u306b\u3001\u3053\u306e\u30c7\u30d7\u30ed\u30a4\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u30a4\u30d9\u30f3\u30c8\u3092\u4f7f\u7528\u3002<\/td><\/tr><tr><td><strong>ApplicationStart<\/strong><\/td><td>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30ea\u30d3\u30b8\u30e7\u30f3\u304c\u958b\u59cb\u3059\u308b\u76f4\u524d(\u30d5\u30c3\u30af\u53ef\u80fd)\u3002<\/td><\/tr><tr><td><strong>ValidateService<\/strong><\/td><td>\u30b5\u30fc\u30d3\u30b9\u306e\u691c\u8a3c\u304c\u7d42\u308f\u3063\u305f\u5f8c(\u30d5\u30c3\u30af\u53ef\u80fd)\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u74b0\u5883\u5909\u6570<\/strong><\/summary>\n<figure class=\"wp-block-table has-x-small-font-size\"><table class=\"has-fixed-layout\"><thead><tr><th>\u74b0\u5883\u5909\u6570\u540d<\/th><th>\u8aac\u660e<\/th><\/tr><\/thead><tbody><tr><td><code>DEPLOYMENT_ID<\/code><\/td><td>\u73fe\u5728\u306e\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u4e00\u610f\u306aID<\/td><\/tr><tr><td><code>DEPLOYMENT_GROUP_NAME<\/code><\/td><td>\u5b9f\u884c\u4e2d\u306e\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u30b0\u30eb\u30fc\u30d7\u540d\uff08\u4f8b\uff1a<code>prod-group<\/code>\uff09<\/td><\/tr><tr><td><code>APPLICATION_NAME<\/code><\/td><td>\u30c7\u30d7\u30ed\u30a4\u5bfe\u8c61\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u540d<\/td><\/tr><tr><td><code>LIFECYCLE_EVENT<\/code><\/td><td>\u5b9f\u884c\u4e2d\u306e\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u30a4\u30d9\u30f3\u30c8\uff08\u4f8b\uff1a<code>BeforeInstall<\/code>\uff09<\/td><\/tr><tr><td><code>SCRIPT_NAME<\/code><\/td><td>\u5b9f\u884c\u4e2d\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u540d<\/td><\/tr><tr><td><code>REVISION_DIR<\/code><\/td><td>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30ea\u30d3\u30b8\u30e7\u30f3\u304c\u5c55\u958b\u3055\u308c\u305f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea<\/td><\/tr><tr><td><code>DEPLOYMENT_TYPE<\/code><\/td><td>\u30c7\u30d7\u30ed\u30a4\u306e\u7a2e\u985e\uff08<code>IN_PLACE<\/code> \u307e\u305f\u306f <code>BLUE_GREEN<\/code>\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/details>\n\n\n\n<h1 class=\"wp-block-heading has-light-green-cyan-to-vivid-green-cyan-gradient-background has-background has-medium-font-size\"><strong>GitHub\u95a2\u4fc2<\/strong><\/h1>\n\n\n\n<figure class=\"wp-block-table has-x-small-font-size\"><table><tbody><tr><td><strong>GitHub Actions<\/strong><\/td><td>GitHub\u304c\u63d0\u4f9b\u3059\u308b\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u81ea\u52d5\u5316\u30b5\u30fc\u30d3\u30b9\u3002\u30b3\u30fc\u30c9\u3092\u30d3\u30eb\u30c9\u3001\u30c6\u30b9\u30c8\u3001\u30c7\u30d7\u30ed\u30a4\u3059\u308bCI\/CD\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u3092\u81ea\u52d5\u5316\u3067\u304d\u308b\u3002<\/td><\/tr><tr><td><strong>Webhook<\/strong><\/td><td>GitHub\u4e0a\u306e\u30a4\u30d9\u30f3\u30c8\uff08\u4f8b\uff1apush\u3001pull request\uff09\u3092\u5916\u90e8\u30b5\u30fc\u30d3\u30b9\u306b\u901a\u77e5\u3059\u308b\u4ed5\u7d44\u307f\u3002<strong>\u30ea\u30dd\u30b8\u30c8\u30ea\u3067\u7279\u5b9a\u306e\u30a4\u30d9\u30f3\u30c8\u304c\u767a\u751f\u3057\u305f\u3068\u304d\u306b\u3001\u6307\u5b9a\u3057\u305f\u5916\u90e8URL\u306bHTTP POST\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u81ea\u52d5\u9001\u4fe1\u3059\u308b\u4ed5\u7d44\u307f<\/strong>\u3002CI\/CD\u3084Slack\u901a\u77e5\u3001\u5916\u90e8API\u9023\u643a\u306a\u3069\u306b\u975e\u5e38\u306b\u4fbf\u5229\u3002<\/td><\/tr><tr><td><strong>WebSocket<\/strong><\/td><td><strong>\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3068\u30b5\u30fc\u30d0\u30fc\u9593\u3067\u53cc\u65b9\u5411\u30fb\u5e38\u6642\u63a5\u7d9a\u306e\u901a\u4fe1\u3092\u53ef\u80fd\u306b\u3059\u308b\u30d7\u30ed\u30c8\u30b3\u30eb<\/strong>\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-heading-color has-text-color has-background has-link-color has-medium-font-size wp-elements-4cdcb6508c5f87eacb0b88a425e240cb wp-block-paragraph\" style=\"background:linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 95%,rgb(254,248,76) 100%)\"><strong>Device Farm<\/strong><\/p>\n\n\n\n<div class=\"wp-block-media-text\" style=\"grid-template-columns:15% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"125\" height=\"125\" src=\"https:\/\/matomemopad.com\/wp-content\/uploads\/2024\/01\/image-14.png\" alt=\"\" class=\"wp-image-11846 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\">\u7269\u7406\u7684\u306a\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u3084\u30bf\u30d6\u30ec\u30c3\u30c8\uff08iOS\u30fbAndroid\uff09\u3092\u30af\u30e9\u30a6\u30c9\u4e0a\u3067\u5229\u7528\u53ef\u80fd\u3002<strong>Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3082\u8907\u6570\u306e\u30d6\u30e9\u30a6\u30b6\u74b0\u5883\u3067\u30c6\u30b9\u30c8<\/strong>\u3067\u304d\u308b\u3002\u30a8\u30df\u30e5\u30ec\u30fc\u30bf\u3067\u306f\u306a\u304f\u3001<strong>\u5b9f\u6a5f\u3067\u306e\u52d5\u4f5c\u691c\u8a3c<\/strong>\u304c\u53ef\u80fd\u306a\u305f\u3081\u3001\u3088\u308a\u73fe\u5b9f\u7684\u306a\u30c6\u30b9\u30c8\u304c\u3067\u304d\u308b\u3002<\/p>\n<\/div><\/div>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u4e3b\u306a\u6a5f\u80fd<\/strong><\/summary>\n<p class=\"wp-block-paragraph\">\u30fb<strong>\u81ea\u52d5\u30c6\u30b9\u30c8\u306e\u5b9f\u884c<\/strong>\uff1aAppium\u3001Calabash\u3001Espresso \u306a\u3069\u306e\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306b\u5bfe\u5fdc\u3002<br>\u30fb<strong>\u624b\u52d5\u30c6\u30b9\u30c8\uff08\u30ea\u30e2\u30fc\u30c8\u30a2\u30af\u30bb\u30b9\uff09<\/strong>\uff1a\u30d6\u30e9\u30a6\u30b6\u4e0a\u3067\u5b9f\u6a5f\u3092\u64cd\u4f5c\u53ef\u80fd\uff08\u30b9\u30ef\u30a4\u30d7\u3001\u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u306a\u3069\uff09\u3002<br>\u30fb<strong>\u30c6\u30b9\u30c8\u7d50\u679c\u306e\u53d6\u5f97<\/strong>\uff1a\u52d5\u753b\u3001\u30ed\u30b0\u3001\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8\u306a\u3069\u3092\u81ea\u52d5\u751f\u6210\u3002<br>\u30fb<strong>CI\u30c4\u30fc\u30eb\u3068\u306e\u7d71\u5408<\/strong>\uff1aJenkins \u3084 Android Studio \u306a\u3069\u3068\u9023\u643a\u53ef\u80fd\u3002<br>\u30fb<strong>\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30c7\u30d0\u30a4\u30b9\u30e9\u30dc<\/strong>\uff1a\u5c02\u7528\u30c7\u30d0\u30a4\u30b9\u3092\u4e88\u7d04\u3057\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\u3002<\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u5229\u70b9<\/strong><\/summary>\n<figure class=\"wp-block-table has-x-small-font-size\"><table class=\"has-fixed-layout\"><thead><tr><th>\u5229\u70b9<\/th><th>\u8aac\u660e<\/th><\/tr><\/thead><tbody><tr><td>\u5b9f\u6a5f\u3067\u306e\u691c\u8a3c<\/td><td>\u9867\u5ba2\u3068\u540c\u3058\u7aef\u672b\u3067\u306e\u52d5\u4f5c\u78ba\u8a8d\u304c\u53ef\u80fd\u3002OS\u3084\u30d5\u30a1\u30fc\u30e0\u30a6\u30a7\u30a2\u306e\u9055\u3044\u3082\u8003\u616e\u3067\u304d\u308b\u3002<\/td><\/tr><tr><td>\u4e0d\u5177\u5408\u306e\u518d\u73fe\u3068\u4fee\u6b63<\/td><td>\u624b\u52d5\u64cd\u4f5c\u3067\u30d0\u30b0\u3092\u518d\u73fe\u3057\u3001\u81ea\u52d5\u30c6\u30b9\u30c8\u3067\u4fee\u6b63\u30b5\u30a4\u30af\u30eb\u3092\u9ad8\u901f\u5316\u3002<\/td><\/tr><tr><td>\u30e6\u30fc\u30b6\u30fc\u74b0\u5883\u306e\u518d\u73fe<\/td><td>\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3001\u4f4d\u7f6e\u60c5\u5831\u3001\u8a00\u8a9e\u306a\u3069\u3092\u7d30\u304b\u304f\u8a2d\u5b9a\u3057\u3066\u5b9f\u74b0\u5883\u3092\u30b7\u30df\u30e5\u30ec\u30fc\u30c8\u3002<\/td><\/tr><tr><td>\u30c6\u30b9\u30c8\u306e\u67d4\u8edf\u6027<\/td><td>\u7d44\u307f\u8fbc\u307f\u30c6\u30b9\u30c8\u30b9\u30a4\u30fc\u30c8\u307e\u305f\u306f\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3092\u9078\u629e\u53ef\u80fd\u3002<\/td><\/tr><tr><td>\u30b9\u30b1\u30fc\u30e9\u30d6\u30eb\u306a\u5b9f\u884c<\/td><td>\u8907\u6570\u306e\u30d6\u30e9\u30a6\u30b6\u3084\u30c7\u30d0\u30a4\u30b9\u3067\u4e26\u5217\u30c6\u30b9\u30c8\u304c\u53ef\u80fd\u3002\u5f93\u91cf\u8ab2\u91d1\u5236\u3067\u30b3\u30b9\u30c8\u6700\u9069\u5316\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/details>\n\n\n\n<h1 class=\"wp-block-heading has-background has-medium-font-size\" style=\"background:linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 94%,rgb(254,248,76) 100%)\"><strong>Signer<\/strong><\/h1>\n\n\n\n<div class=\"wp-block-media-text\" style=\"grid-template-columns:15% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"125\" height=\"125\" src=\"https:\/\/matomemopad.com\/wp-content\/uploads\/2024\/01\/image-15.png\" alt=\"\" class=\"wp-image-11848 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\">\u30b3\u30fc\u30c9\u306e<strong>\u6574\u5408\u6027\u3068\u4fe1\u983c\u6027<\/strong>\u3092\u4fdd\u8a3c\u3059\u308b\u305f\u3081\u306b\u3001\u30c7\u30b8\u30bf\u30eb\u7f72\u540d\u3092\u4ed8\u4e0e\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u3002<\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u30fb<strong>\u5bfe\u8c61<\/strong>\uff1aLambda\u95a2\u6570\u3001IoT\u30c7\u30d0\u30a4\u30b9\uff08Amazon FreeRTOS\uff09\u3001\u30b3\u30f3\u30c6\u30ca\u30a4\u30e1\u30fc\u30b8\u306a\u3069\u3002<br>\u30fb<strong>\u4ed5\u7d44\u307f<\/strong>\uff1a\u7f72\u540d\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u3001\u30b3\u30fc\u30c9\u306b\u7f72\u540d\u3002\u7f72\u540d\u3055\u308c\u305f\u30b3\u30fc\u30c9\u306e\u307f\u304c\u5b9f\u884c\u53ef\u80fd\u306b\u306a\u308b\u3088\u3046\u5236\u5fa1\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>[\u30e1\u30ea\u30c3\u30c8]<\/strong><br>\u30fb\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u5f37\u5316\uff1a\u6539\u3056\u3093\u3055\u308c\u305f\u30b3\u30fc\u30c9\u306e\u5b9f\u884c\u3092\u9632\u6b62\u3002<br>\u30fb\u30b3\u30f3\u30d7\u30e9\u30a4\u30a2\u30f3\u30b9\u5bfe\u5fdc\uff1a\u7f72\u540d\u5c65\u6b74\u306e\u76e3\u67fb\u304c\u53ef\u80fd\u3002<br>\u30fb\u8077\u52d9\u5206\u96e2\uff1a\u7ba1\u7406\u8005\u3068\u958b\u767a\u8005\u306e\u6a29\u9650\u3092\u660e\u78ba\u306b\u5206\u96e2\u3002<\/p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary><strong>\u4e3b\u306a\u6a5f\u80fd<\/strong><\/summary>\n<figure class=\"wp-block-table has-x-small-font-size\"><table class=\"has-fixed-layout\"><thead><tr><th>\u6a5f\u80fd<\/th><th>\u8aac\u660e<\/th><\/tr><\/thead><tbody><tr><td>\u30b3\u30fc\u30c9\u7f72\u540d<\/td><td>Lambda\u3084IoT\u30c7\u30d0\u30a4\u30b9\u5411\u3051\u306e\u30b3\u30fc\u30c9\u306b\u7f72\u540d\u3092\u4ed8\u4e0e\u3002<\/td><\/tr><tr><td>\u7f72\u540d\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb<\/td><td>\u7f72\u540d\u306e\u30eb\u30fc\u30eb\u3084\u6709\u52b9\u671f\u9650\u3092\u5b9a\u7fa9\u3002IAM\u30ed\u30fc\u30eb\u3067\u7f72\u540d\u6a29\u9650\u3092\u5236\u5fa1\u3002<\/td><\/tr><tr><td>CloudTrail\u9023\u643a<\/td><td>\u7f72\u540d\u64cd\u4f5c\u306e\u76e3\u67fb\u30ed\u30b0\u3092\u53d6\u5f97\u53ef\u80fd\u3002<\/td><\/tr><tr><td>\u691c\u8a3c\u30dd\u30ea\u30b7\u30fc<\/td><td>\u7f72\u540d\u3055\u308c\u3066\u3044\u306a\u3044\u30b3\u30fc\u30c9\u306e\u6271\u3044\u3092\u300c\u8b66\u544a\uff08Warn\uff09\u300d\u307e\u305f\u306f\u300c\u62d2\u5426\uff08Enforce\uff09\u300d\u3067\u8a2d\u5b9a\u53ef\u80fd\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/details>\n\n\n\n<a href=\"\/\/af.moshimo.com\/af\/c\/click?a_id=4432869&#038;p_id=16&#038;pc_id=16&#038;pl_id=53728\" rel=\"nofollow\" referrerpolicy=\"no-referrer-when-downgrade\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/image.moshimo.com\/af-img\/0003\/000000053728.png\" width=\"300\" height=\"300\" style=\"border:none;\"><\/a><img loading=\"lazy\" decoding=\"async\" src=\"\/\/i.moshimo.com\/af\/i\/impression?a_id=4432869&#038;p_id=16&#038;pc_id=16&#038;pl_id=53728\" width=\"1\" height=\"1\" style=\"border:none;\">\n\n\n\n<a href=\"\/\/af.moshimo.com\/af\/c\/click?a_id=4440586&#038;p_id=2011&#038;pc_id=4076&#038;pl_id=27525\" rel=\"nofollow\" referrerpolicy=\"no-referrer-when-downgrade\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/image.moshimo.com\/af-img\/1388\/000000027525.png\" width=\"300\" height=\"300\" style=\"border:none;\"><\/a><img loading=\"lazy\" decoding=\"async\" src=\"\/\/i.moshimo.com\/af\/i\/impression?a_id=4440586&#038;p_id=2011&#038;pc_id=4076&#038;pl_id=27525\" width=\"1\" height=\"1\" style=\"border:none;\">\n","protected":false},"excerpt":{"rendered":"<p>\u958b\u767a\u57fa\u790e\u77e5\u8b58 \u307e\u305a\u3001\u958b\u767a\u306e\u4e00\u822c\u7684\u306a\u6d41\u308c\u306f\u3001\u300cCommit \u2192 Build \u2192 Test \u2192 Deploy\u300d Commit \u30fb\u5909\u66f4\u3092Commit\u3059\u308b\u30fb\u8907\u6570\u306e\u5909\u66f4\u3092\u7d71\u5408\u3059\u308b\u30fb\u5909\u66f4\u306e\u5c65\u6b74\u3092\u7d71\u5408\u3059\u308b Build \u30fb\u6210\u679c\u7269\u3092Bui [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":10390,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[107],"tags":[5],"class_list":["post-522","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aws","tag-aws"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/matomemopad.com\/index.php?rest_route=\/wp\/v2\/posts\/522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matomemopad.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matomemopad.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matomemopad.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/matomemopad.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=522"}],"version-history":[{"count":269,"href":"https:\/\/matomemopad.com\/index.php?rest_route=\/wp\/v2\/posts\/522\/revisions"}],"predecessor-version":[{"id":11852,"href":"https:\/\/matomemopad.com\/index.php?rest_route=\/wp\/v2\/posts\/522\/revisions\/11852"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/matomemopad.com\/index.php?rest_route=\/wp\/v2\/media\/10390"}],"wp:attachment":[{"href":"https:\/\/matomemopad.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matomemopad.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=522"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matomemopad.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}