{"id":43032,"date":"2021-07-01T12:49:05","date_gmt":"2021-07-01T03:49:05","guid":{"rendered":"https:\/\/www.creationline.com\/?p=43032"},"modified":"2021-07-01T12:49:05","modified_gmt":"2021-07-01T03:49:05","slug":"karate-%e3%82%92%e7%94%a8%e3%81%84%e3%81%9f-api-%e3%83%86%e3%82%b9%e3%83%88%e3%82%92-gitlab-ci-%e3%81%a7%e5%ae%9f%e8%a1%8c%e3%81%99%e3%82%8b-gitlabtanukiboys-developer-cicd-devops-gitlab","status":"publish","type":"post","link":"https:\/\/www.creationline.com\/tech-blog\/agile-devops\/devops\/43032","title":{"rendered":"Karate \u3092\u7528\u3044\u305f API \u30c6\u30b9\u30c8\u3092 GitLab CI \u3067\u5b9f\u884c\u3059\u308b #Gitlabtanukiboys #developer #cicd #devops #gitlab"},"content":{"rendered":"<p>\u3053\u306e\u8a18\u4e8b\u306f\u3001YouTube \u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u305f\u52d5\u753b\u3068\u9023\u52d5\u3057\u305f\u5185\u5bb9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u52d5\u753b\u3082\u5408\u308f\u305b\u3066\u3054\u89a7\u304f\u3060\u3055\u3044\u3002<\/p>\n<p><iframe loading=\"lazy\" title=\"GitLab CI\u3067API\u30c6\u30b9\u30c8\u3092\u306f\u3058\u3081\u3066\u307f\u3088\u3046\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/bD584aIYEo0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<hr \/>\n<p>\u3053\u3093\u306b\u3061\u306f\uff01TANUKI BOYS \u3067\u3059\uff01<\/p>\n<p>\u524d\u56de\u306e TANUKI BOYS \u52d5\u753b\u3067\u306f GitLab CI \u5165\u9580\u3068\u3044\u3046\u3053\u3068\u3067\u3001Go \u8a00\u8a9e\u306e\u30b3\u30fc\u30c9\u306b\u30e6\u30cb\u30c3\u30c8\u30c6\u30b9\u30c8\u3092\u66f8\u3044\u3066 GitLab CI \u3067\u5b9f\u884c\u3059\u308b\u3068\u3053\u308d\u3092\u3084\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u4eca\u56de\u306f TANUKI BOYS \u52d5\u753b\u7b2c 3 \u5f3e\u306b\u306a\u308a\u307e\u3059\u3002\u30c6\u30fc\u30de\u306f\u3001<strong>API \u30c6\u30b9\u30c8<\/strong> \u3067\u3059\u3002<br \/>\nRules\u3068\u547c\u3070\u308c\u308b\u6a5f\u80fd\u3092\u7d44\u307f\u5408\u308f\u305b\u3066\u3001API \u30c6\u30b9\u30c8\u3092 GitLab CI \u306b\u7d44\u307f\u8fbc\u307f\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_tanuki_3_7.png\" alt=\"\" width=\"640\" height=\"316\" class=\"alignnone size-full wp-image-43037\" srcset=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_tanuki_3_7.png 640w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_tanuki_3_7-360x178.png 360w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>\u52d5\u753b\u306e\u30ca\u30d3\u30b2\u30fc\u30bf\u30fc\u306f\u524d\u56de\u52d5\u753b\u304b\u3089\u5f15\u304d\u7d9a\u304d\u767b\u677f\u306e\u305f\u306c\u304d 3 \u53f7\u3055\u3093\u3068\u521d\u767b\u5834\u306e\u305f\u306c\u304d 7 \u53f7\u3055\u3093\u3067\u3059\uff01<\/p>\n<h2>Karate \u306b\u3064\u3044\u3066<\/h2>\n<p>\u4eca\u56de\u306f API \u30c6\u30b9\u30c8\u3092\u5b9f\u884c\u3059\u308b\u30c4\u30fc\u30eb\u3068\u3057\u3066\u3001Karate \u3092\u63a1\u7528\u3057\u307e\u3057\u305f\u3002<br \/>\nKarate \u306e\u8a73\u7d30\u306f\u3001<a href=\"https:\/\/github.com\/intuit\/karate\">\u516c\u5f0f\u30ea\u30dd\u30b8\u30c8\u30ea<\/a> \u306e README.md \u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u307e\u305f\u3001Creationline \u306e\u30e1\u30f3\u30d0\u30fc\u304c\u4ee5\u524d\u66f8\u3044\u305f\u8a18\u4e8b (<a href=\"\/lab\/38612\">GitLab CI \u3092\u5229\u7528\u3057\u300110 \u5206\u3067\u30b7\u30ca\u30ea\u30aa\u30c6\u30b9\u30c8\u7528\u74b0\u5883\u3092\u4f5c\u308b<\/a>) \u306b\u3082 Karate \u306e\u8aac\u660e\u304c\u3042\u308a\u307e\u3059\u306e\u3067\u3001\u5408\u308f\u305b\u3066\u8aad\u3093\u3067\u304f\u3060\u3055\u3044\u3002<\/p>\n<h2>\u52d5\u753b\u30b7\u30ca\u30ea\u30aa<\/h2>\n<p>C# \u3067\u5b9f\u88c5\u3057\u305f\u90fd\u9053\u5e9c\u770c\u60c5\u5831\u3092\u63d0\u4f9b\u3059\u308b API \u30a2\u30d7\u30ea\u3092\u30d3\u30eb\u30c9\u3057\u3066 Azure App Service \u306b\u30c7\u30d7\u30ed\u30a4\u3057\u3066\u3044\u307e\u3059\u3002<br \/>\n\u3053\u306e API \u30a2\u30d7\u30ea\u306b\u5bfe\u3057\u3066 Karate \u3092\u7528\u3044\u305f API \u30c6\u30b9\u30c8\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<h3>\u90fd\u9053\u5e9c\u770c\u60c5\u5831 API<\/h3>\n<p><a href=\"https:\/\/youtu.be\/bD584aIYEo0?t=80\">\u52d5\u753b\u958b\u59cb\u4f4d\u7f6e<\/a><\/p>\n<p>\u5b9f\u969b\u306b API \u3092\u5b9f\u884c\u3059\u308b\u3068\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30ec\u30b9\u30dd\u30f3\u30b9\u304c\u8fd4\u308a\u307e\u3059\uff1a<\/p>\n<p><code>GET \/prefectures\/2<\/code><\/p>\n<pre>\n{\n    \"code\": \"2\",\n    \"name\": \"Toyama\",\n    \"capital\": \"Toyama-city\",\n    \"population\": \"1066328\"\n}\n<\/pre>\n<p>\u3059\u3067\u306b <em>.gitlab-ci.yml<\/em> \u3082\u4f5c\u6210\u6e08\u307f\u3067\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306f\u52d5\u3044\u3066\u3044\u307e\u3059\u3002<\/p>\n<h3>API \u30c6\u30b9\u30c8\u3092\u8ffd\u52a0\u3057\u3066\u3001GitLab \u306b push \u3059\u308b (GitLab CI \u306e\u30c8\u30ea\u30ac\u306b\u306a\u308b)<\/h3>\n<p><a href=\"https:\/\/youtu.be\/bD584aIYEo0?t=171\">\u52d5\u753b\u958b\u59cb\u4f4d\u7f6e<\/a><\/p>\n<p>\u52d5\u753b\u3067\u306f GitLab \u306e Web IDE \u3092\u5229\u7528\u3057\u3066\u6771\u4eac\u90fd\u306e\u60c5\u5831\u3092\u53d6\u5f97\u3059\u308b\u30c6\u30b9\u30c8\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3057\u3001\u305d\u306e\u307e\u307e master \u30d6\u30e9\u30f3\u30c1\u306b push \u3057\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_web_ide_commit.png\" alt=\"\" width=\"845\" height=\"334\" class=\"alignnone size-full wp-image-43039\" srcset=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_web_ide_commit.png 845w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_web_ide_commit-360x142.png 360w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_web_ide_commit-768x304.png 768w\" sizes=\"auto, (max-width: 845px) 100vw, 845px\" \/><\/p>\n<h3>GitLab CI \u306e\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u304c\u4f5c\u6210\u3055\u308c API \u30c6\u30b9\u30c8\u304c\u5b9f\u884c\u3055\u308c\u308b<\/h3>\n<p><a href=\"https:\/\/youtu.be\/bD584aIYEo0?t=213\">\u52d5\u753b\u958b\u59cb\u4f4d\u7f6e<\/a><\/p>\n<p>\u30c6\u30b9\u30c8\u30b3\u30fc\u30c9\u306e\u307f\u306e\u4fee\u6b63\u306a\u306e\u3067\u3001test \u30b9\u30c6\u30fc\u30b8\u306e job (\u3064\u307e\u308a API \u30c6\u30b9\u30c8) \u3060\u3051\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002\u3053\u308c\u306f\u3001<em>.gitlab-ci.yml<\/em> \u306e\u8a2d\u5b9a\u3067\u5236\u5fa1\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><em>.gitlab-ci.yml<\/em> \u306e\u8a18\u8ff0\u306b\u3064\u3044\u3066\u306f\u5f8c\u307b\u3069\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n<h3>API \u30c6\u30b9\u30c8\u3067\u30a8\u30e9\u30fc\u304c\u767a\u751f<\/h3>\n<p><a href=\"https:\/\/youtu.be\/bD584aIYEo0?t=280\">\u52d5\u753b\u958b\u59cb\u4f4d\u7f6e<\/a><\/p>\n<p>\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u753b\u9762\u3067\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u305f\u3053\u3068\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_pipeline_error.png\" alt=\"\" width=\"531\" height=\"407\" class=\"alignnone size-full wp-image-43043\" srcset=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_pipeline_error.png 531w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_pipeline_error-360x276.png 360w\" sizes=\"auto, (max-width: 531px) 100vw, 531px\" \/><\/p>\n<p>\u30a8\u30e9\u30fc\u5185\u5bb9\u3092\u628a\u63e1\u3059\u308b\u305f\u3081\u3001\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306e\u5b9f\u884c\u30ed\u30b0\u3067\u8a73\u7d30\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_ci_error_log.png\" alt=\"\" width=\"1079\" height=\"473\" class=\"alignnone size-full wp-image-43044\" srcset=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_ci_error_log.png 1079w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_ci_error_log-360x158.png 360w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_ci_error_log-1024x449.png 1024w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_ci_error_log-768x337.png 768w\" sizes=\"auto, (max-width: 1079px) 100vw, 1079px\" \/><\/p>\n<p>API \u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u30d1\u30e9\u30e1\u30fc\u30bf\u306e <em>population<\/em> \u306e\u5024\u3067<strong>\u6570\u5024<\/strong>\u3092\u671f\u5f85\u3057\u3066\u3044\u307e\u3057\u305f\u304c\u3001<strong>\u6587\u5b57\u5217<\/strong>\u306b\u306a\u3063\u3066\u3044\u307e\u3057\u305f\uff01<\/p>\n<p>Karate \u304c\u751f\u6210\u3059\u308b API \u30c6\u30b9\u30c8\u7d50\u679c\u3067\u3082\u30a8\u30e9\u30fc\u7b87\u6240\u306e\u78ba\u8a8d\u304c\u3067\u304d\u307e\u3059\u3002HTML \u3067\u751f\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_test_suite_all.png\" alt=\"\" width=\"1624\" height=\"537\" class=\"alignnone size-full wp-image-43045\" srcset=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_test_suite_all.png 1624w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_test_suite_all-360x119.png 360w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_test_suite_all-1024x339.png 1024w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_test_suite_all-768x254.png 768w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_test_suite_all-1536x508.png 1536w\" sizes=\"auto, (max-width: 1624px) 100vw, 1624px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_test_suite_error.png\" alt=\"\" width=\"1321\" height=\"361\" class=\"alignnone size-full wp-image-43046\" srcset=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_test_suite_error.png 1321w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_test_suite_error-360x98.png 360w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_test_suite_error-1024x280.png 1024w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_test_suite_error-768x210.png 768w\" sizes=\"auto, (max-width: 1321px) 100vw, 1321px\" \/><\/p>\n<p>\u5b9f\u884c\u3055\u308c\u305f\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306e\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3068\u3057\u3066\u4fdd\u5b58\u3057\u3066\u3044\u308b\u305f\u3081\u3001GitLab \u306e Web \u753b\u9762\u304b\u3089\u53c2\u7167\u53ef\u80fd\u3067\u3059\u3002<br \/>\n\u3053\u3061\u3089\u3082 CI \u306e\u8a2d\u5b9a\u306b\u3088\u3063\u3066\u5b9f\u73fe\u3057\u3066\u3044\u307e\u3059\u3002\u5f8c\u8ff0\u3067\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n<h3>GitLab \u306e Web IDE \u3067 API \u306e\u30d7\u30ed\u30c0\u30af\u30b7\u30e7\u30f3\u30b3\u30fc\u30c9\u3092\u4fee\u6b63\u3057\u3001push \u3059\u308b<\/h3>\n<p><a href=\"https:\/\/youtu.be\/bD584aIYEo0?t=352\">\u52d5\u753b\u958b\u59cb\u4f4d\u7f6e<\/a><\/p>\n<p>API \u30c6\u30b9\u30c8\u3067\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u305f\u306e\u3067\u3001\u30d7\u30ed\u30c0\u30af\u30b7\u30e7\u30f3\u30b3\u30fc\u30c9\u3092\u4fee\u6b63\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<br \/>\nprefectures API \u306e model \u3068 controller \u3092\u4fee\u6b63\u3057\u307e\u3059\u3002<\/p>\n<p>\u4e0a\u306e\u5909\u66f4\u3092\u30de\u30fc\u30b8\u30ea\u30af\u30a8\u30b9\u30c8\u7d4c\u7531\u3067 master \u30d6\u30e9\u30f3\u30c1\u306b\u30de\u30fc\u30b8\u3057\u307e\u3059\u3002<\/p>\n<h3>GitLab CI \u306e\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u3067 build, deploy, api_test \u30b9\u30c6\u30fc\u30b8\u304c\u5b9f\u884c\u3055\u308c\u308b<\/h3>\n<p><a href=\"https:\/\/youtu.be\/bD584aIYEo0?t=433\">\u52d5\u753b\u958b\u59cb\u4f4d\u7f6e<\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_fix_code_pipeline.png\" alt=\"\" width=\"545\" height=\"431\" class=\"alignnone size-full wp-image-43049\" srcset=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_fix_code_pipeline.png 545w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_fix_code_pipeline-360x285.png 360w\" sizes=\"auto, (max-width: 545px) 100vw, 545px\" \/><\/p>\n<p>API \u30c6\u30b9\u30c8\u304c\u5168\u3066\u6210\u529f\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<p>API \u3092\u5b9f\u884c\u3057\u3066\u3001<em>population<\/em> \u304c\u6570\u5024\u306b\u306a\u3063\u3066\u3044\u308b\u3053\u3068\u3082\u78ba\u8a8d\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<pre>\n{\n    \"code\": \"2\",\n    \"name\": \"Toyama\",\n    \"capital\": \"Toyama-city\",\n    \"population\": 1066328\n}\n<\/pre>\n<h2>.gitlab-ci.yml \u89e3\u8aac<\/h2>\n<h3>stages<\/h3>\n<p>\u5404\u30b9\u30c6\u30fc\u30b8\u3067\u306f\u3001\u4e0b\u8a18\u3092\u5b9f\u884c\u3057\u3066\u3044\u307e\u3059\uff1a<\/p>\n<ul>\n<li><strong>build<\/strong>: C# \u3067\u5b9f\u88c5\u3057\u305f API \u30a2\u30d7\u30ea\u3092\u30d3\u30eb\u30c9\u3059\u308b<\/li>\n<li><strong>deploy<\/strong>: \u30d3\u30eb\u30c9\u3057\u305f API \u30a2\u30d7\u30ea\u3092 Azure App Service \u306b\u30c7\u30d7\u30ed\u30a4\u3059\u308b<\/li>\n<li><strong>test<\/strong>: \u30c7\u30d7\u30ed\u30a4\u3057\u305f API \u30a2\u30d7\u30ea\u306b\u5bfe\u3057\u3066 Karate \u306e API \u30c6\u30b9\u30c8\u3092\u5b9f\u884c\u3059\u308b<\/li>\n<\/ul>\n<h3>rules<\/h3>\n<p>\u5404 job \u3067 <em>rules<\/em> \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306f\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u5b9f\u884c\u6642\u306b\u4e0d\u8981\u306a job \u304c\u8d70\u3089\u306a\u3044\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u3067\u3059\u3002<\/p>\n<p>build, deploy:<\/p>\n<pre>\n    rules:\n      - if: '$CI_COMMIT_BRANCH == \"master\"'\n        changes:\n          - sampleApiApp\/**\/**\n<\/pre>\n<p><strong>master<\/strong> \u30d6\u30e9\u30f3\u30c1\u3067\u30d7\u30ed\u30c0\u30af\u30b7\u30e7\u30f3\u30b3\u30fc\u30c9 (sampleApiApp \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u914d\u4e0b\u306e\u30b3\u30fc\u30c9) \u306b\u5909\u66f4\u304c\u3042\u3063\u305f\u5834\u5408\u306e\u307f job \u3092\u5b9f\u884c\u3055\u305b\u307e\u3059\u3002\u30c6\u30b9\u30c8\u30b3\u30fc\u30c9(karate \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u914d\u4e0b\u306b\u5b58\u5728)\u306b\u5909\u66f4\u304c\u3042\u3063\u3066\u3082 job \u306f\u5b9f\u884c\u3055\u308c\u307e\u305b\u3093\u3002<\/p>\n<p>test:<\/p>\n<pre>\n    rules:\n      - if: '$CI_COMMIT_BRANCH == \"master\"'\n        changes:\n          - sampleApiApp\/**\/**\n          - karate\/**\/**\n<\/pre>\n<p><strong>master<\/strong> \u30d6\u30e9\u30f3\u30c1\u3067\u30d7\u30ed\u30c0\u30af\u30b7\u30e7\u30f3\u30b3\u30fc\u30c9 (sampleApiApp \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u914d\u4e0b\u306e\u30b3\u30fc\u30c9)\u3068\u30c6\u30b9\u30c8\u30b3\u30fc\u30c9 (karate \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u914d\u4e0b\u306e\u30b3\u30fc\u30c9) \u306e\u3069\u3061\u3089\u306e\u5909\u66f4\u3067\u3082 job \u3092\u5b9f\u884c\u3055\u305b\u307e\u3059\u3002<\/p>\n<p><em>rules<\/em> \u306e\u8a73\u7d30\u306f\u3001\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\u304c\u904b\u55b6\u3057\u3066\u3044\u308b <a href=\"https:\/\/gitlab-docs.creationline.com\/\">GitLab\u65e5\u672c\u8a9e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30b5\u30a4\u30c8<\/a> \u306e <a href=\"https:\/\/gitlab-docs.creationline.com\/ee\/ci\/yaml\/#rules\">GitLab CI\/CD \u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u8a2d\u5b9a\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9 - rules<\/a> \u7ae0\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044 (GitLab \u793e\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u65e5\u672c\u8a9e\u8a33\u3067\u3059)<\/p>\n<h3>artifacts<\/h3>\n<p>Karate \u306e API \u30c6\u30b9\u30c8\u7d50\u679c\u3092\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3068\u3057\u3066\u671f\u9650\u4ed8\u304d\u3067\u4fdd\u5b58\u3057\u307e\u3059\u3002\u4eca\u56de\u306f\u4e0b\u8a18\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3092\u3057\u307e\u3057\u305f\u3002<\/p>\n<pre>\n    artifacts:\n      when: always\n      paths:\n        - \"karate\/target\"\n      expire_in: 1 weeks\n<\/pre>\n<p>\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3068\u3057\u3066\u8a2d\u5b9a\u3057\u305f\u30d5\u30a1\u30a4\u30eb (karate\/target \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u914d\u4e0b\u306e\u30d5\u30a1\u30a4\u30eb) \u306f\u3001GitLab \u306e\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u5b9f\u884c\u753b\u9762\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3084\u53c2\u7167\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<br \/>\n\u52d5\u753b\u3067\u3082\u30d0\u30a4\u30d7\u30e9\u30a4\u30f3\u753b\u9762\u3067\u53f3\u5074\u306b\u3042\u308b<strong>\u30d6\u30e9\u30a6\u30ba<\/strong>\u30dc\u30bf\u30f3\u3092\u62bc\u3059\u3068\u753b\u9762\u9077\u79fb\u3057\u3066\u3001\u30c6\u30b9\u30c8\u7d50\u679c\u3092\u30d6\u30e9\u30a6\u30b6\u4e0a\u3067\u78ba\u8a8d\u3067\u304d\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_pipeline_artifact_browse.png\" alt=\"\" width=\"203\" height=\"480\" class=\"alignnone size-full wp-image-43050\" srcset=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_pipeline_artifact_browse.png 203w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_pipeline_artifact_browse-152x360.png 152w\" sizes=\"auto, (max-width: 203px) 100vw, 203px\" \/><\/p>\n<p><em>artifacts<\/em> \u306e\u8a73\u7d30\u306f\u3001<a href=\"https:\/\/gitlab-docs.creationline.com\/ee\/ci\/yaml\/#artifacts\">GitLab CI\/CD \u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u8a2d\u5b9a\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9 - artifacts<\/a> \u7ae0\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<h3>\u5909\u6570\u8a2d\u5b9a\u306b\u3064\u3044\u3066<\/h3>\n<p>\u5de6\u306e\u30b5\u30a4\u30c9\u30d0\u30fc\u306b\u3042\u308b <strong>\u8a2d\u5b9a<\/strong> > <strong>CI\/CD<\/strong> \u3092\u9078\u629e\u3059\u308b\u3068\u3001CI\/CD \u8a2d\u5b9a\u753b\u9762\u306b\u9077\u79fb\u3057\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_gitlab_preference_cicd.png\" alt=\"\" width=\"182\" height=\"400\" class=\"alignnone size-full wp-image-43051\" srcset=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_gitlab_preference_cicd.png 182w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_gitlab_preference_cicd-164x360.png 164w\" sizes=\"auto, (max-width: 182px) 100vw, 182px\" \/><\/p>\n<p>CI\/CD \u8a2d\u5b9a\u306e <strong>\u5909\u6570<\/strong> \u3092\u5c55\u958b\u3059\u308b\u3068\u3001CI\/CD \u3067\u5fc5\u8981\u306a\u5909\u6570\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_cicd_variable.png\" alt=\"\" width=\"400\" height=\"259\" class=\"alignnone size-full wp-image-43052\" srcset=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_cicd_variable.png 400w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_cicd_variable-360x233.png 360w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/p>\n<p>\u4eca\u56de\u306e\u52d5\u753b\u3067\u306f\u3001Azure App Service \u3078\u306e\u30c7\u30d7\u30ed\u30a4\u306b\u5fc5\u8981\u306a\u5024\u3092 <em>.gitlab-ci.yml<\/em> \u3067\u306f\u5909\u6570\u306b\u3057\u3066\u304a\u304d\u3001\u5b9f\u969b\u306e\u5024\u306f\u3053\u3061\u3089\u306b\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_cicd_variable_setting.png\" alt=\"\" width=\"400\" height=\"271\" class=\"alignnone size-full wp-image-43053\" srcset=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_cicd_variable_setting.png 400w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/karate_cicd_variable_setting-360x244.png 360w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/p>\n<h2>\u304a\u9858\u3044<\/h2>\n<p>TANUKI BOYS \u3078\u306e\u30cd\u30bf\u63d0\u4f9b\u3092\u304a\u9858\u3044\u3057\u307e\u3059\uff01\u30cf\u30c3\u30b7\u30e5\u30bf\u30b0 <strong>#GitLabtanukiboys<\/strong> \u3067\u30c4\u30a4\u30fc\u30c8\u3057\u3066\u3044\u305f\u3060\u3044\u3066\u3082\u5927\u4e08\u592b\u3067\u3059\u3002<\/p>\n<h2>\u5ba3\u4f1d<\/h2>\n<p>\u5f0a\u793e\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\u306f\u65e5\u672c\u521d\u306e GitLab \u6b63\u898f\u4ee3\u7406\u5e97\u3067\u3059\u3002<br \/>\n\u307e\u305f\u3001<a href=\"\/news\/press\/42004\">\u65e5\u672c\u3067\u521d\u306e GitLab \u30d7\u30ed\u30d5\u30a7\u30c3\u30b7\u30e7\u30ca\u30eb \u30b5\u30fc\u30d3\u30b9 \u30d1\u30fc\u30c8\u30ca\u30fc\u306b\u8a8d\u5b9a<\/a>\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n<p>\u6709\u511f\u30e9\u30a4\u30bb\u30f3\u30b9\u306e\u8ca9\u58f2\u3084 GitLab \/ Git \u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u306e\u63d0\u4f9b\u3001GitLab \u65e5\u672c\u8a9e\u30b5\u30dd\u30fc\u30c8\u306e\u307f\u306e\u6271\u3044\u3082\u3054\u3056\u3044\u307e\u3059\u3002<br \/>\n\u30b5\u30dd\u30fc\u30c8\u306b\u3064\u3044\u3066\u306f\u3001Free (\u30bb\u30eb\u30d5\u30de\u30cd\u30fc\u30b8\u30c9\u3001GitLab.com SaaS) \u3067\u3082\u5bfe\u5fdc\u53ef\u80fd\u3067\u3059\u3002<\/p>\n<p>\u8208\u5473\u306e\u3042\u308b\u65b9\u306f <a href=\"\/contact?_product_page=gitlab\">\u3053\u3061\u3089<\/a> \u304b\u3089\u304a\u554f\u3044\u5408\u308f\u305b\u4e0b\u3055\u3044\u3002<\/p>\n<p>GitLab \u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u306f\u6709\u511f\u3067\u5b9a\u671f\u7684\u306b\u958b\u50ac\u3057\u3066\u304a\u308a\u307e\u3059\u3002\u4e0b\u8a18\u304b\u3089\u304a\u7533\u3057\u8fbc\u307f\u3044\u305f\u3060\u3051\u307e\u3059\u3002\u307e\u305f\u3001\u6700\u65b0\u306e\u958b\u50ac\u4e88\u5b9a\u306b\u3064\u3044\u3066\u3082\u3053\u3061\u3089\u3067\u3054\u78ba\u8a8d\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>https:\/\/www.creationline.com\/gitlab-training<\/p>\n<h2>\u6700\u5f8c\u306b<\/h2>\n<p>\u524d\u56de\u306e TANUKI BOYS \u52d5\u753b\u306e <a href=\"https:\/\/youtu.be\/pqaAkuyTE1A\">GitLab \u3067 CI \u3092\u306f\u3058\u3081\u3066\u307f\u3088\u3046 vol.1<\/a> \u3067 2 \u53f7\u3092\u540d\u4e57\u3063\u3066\u3044\u305f\u30bf\u30cc\u30ad\u304c\u5b9f\u306f\u30a2\u30e9\u30a4\u30b0\u30de\u3060\u3063\u305f\uff01\u3068\u3044\u3046\u885d\u6483\u306e\u4e8b\u5b9f\u304c\u52d5\u753b\u516c\u958b\u5f8c\u306b\u767a\u899a\u3044\u305f\u3057\u307e\u3057\u305f\uff01<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/tanuki_hannin.png\" alt=\"\" width=\"473\" height=\"301\" class=\"aligncenter size-full wp-image-43034\" srcset=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/tanuki_hannin.png 473w, https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/tanuki_hannin-360x229.png 360w\" sizes=\"auto, (max-width: 473px) 100vw, 473px\" \/><\/p>\n<p>\u672c\u72f8\u9054\u3082\u5927\u5909\u53cd\u7701\u3057\u3066\u304a\u308a\u307e\u3059\u3002\u5fc3\u3088\u308a\u304a\u8a6b\u3073\u7533\u3057\u4e0a\u3052\u307e\u3059\u3002<\/p>\n<p>\u4eca\u5f8c\u3068\u3082 TANUKI BOYS \u52d5\u753b\u3092\u3054\u8996\u8074\u306e\u307b\u3069\u3088\u308d\u3057\u304f\u304a\u9858\u3044\u3044\u305f\u3057\u307e\u3059 &#x1f647;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3053\u306e\u8a18\u4e8b\u306f\u3001YouTube \u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u305f\u52d5\u753b\u3068\u9023\u52d5\u3057\u305f\u5185\u5bb9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u52d5\u753b\u3082\u5408\u308f\u305b\u3066\u3054\u89a7\u304f\u3060\u3055\u3044\u3002 \u3053\u3093\u306b\u3061\u306f\uff01TANUKI BOYS \u3067\u3059\uff01 \u524d\u56de\u306e TANUKI BOYS \u52d5\u753b\u3067\u306f GitLab CI \u5165\u9580 [&#8230;]<\/p>\n","protected":false},"author":37,"featured_media":43064,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[67,109],"tags":[],"class_list":["post-43032","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","category-gitlab"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Karate \u3092\u7528\u3044\u305f API \u30c6\u30b9\u30c8\u3092 GitLab CI \u3067\u5b9f\u884c\u3059\u308b #Gitlabtanukiboys #developer #cicd #devops #gitlab - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3<\/title>\n<meta name=\"description\" content=\"DevOps, GitLab |\u3053\u306e\u8a18\u4e8b\u306f\u3001YouTube \u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u305f\u52d5\u753b\u3068\u9023\u52d5\u3057\u305f\u5185\u5bb9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u52d5\u753b\u3082\u5408\u308f\u305b\u3066\u3054\u89a7\u304f\u3060\u3055\u3044\u3002\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.creationline.com\/tech-blog\/agile-devops\/devops\/43032\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Karate \u3092\u7528\u3044\u305f API \u30c6\u30b9\u30c8\u3092 GitLab CI \u3067\u5b9f\u884c\u3059\u308b #Gitlabtanukiboys #developer #cicd #devops #gitlab - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\" \/>\n<meta property=\"og:description\" content=\"DevOps, GitLab |\u3053\u306e\u8a18\u4e8b\u306f\u3001YouTube \u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u305f\u52d5\u753b\u3068\u9023\u52d5\u3057\u305f\u5185\u5bb9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u52d5\u753b\u3082\u5408\u308f\u305b\u3066\u3054\u89a7\u304f\u3060\u3055\u3044\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.creationline.com\/tech-blog\/agile-devops\/devops\/43032\" \/>\n<meta property=\"og:site_name\" content=\"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/creationline\" \/>\n<meta property=\"article:published_time\" content=\"2021-07-01T03:49:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/pink_tanuki.png\" \/>\n\t<meta property=\"og:image:width\" content=\"548\" \/>\n\t<meta property=\"og:image:height\" content=\"302\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"\u91ce\u6fa4\u592a\u7f8e\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@creationline\" \/>\n<meta name=\"twitter:site\" content=\"@creationline\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u91ce\u6fa4\u592a\u7f8e\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"1\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/agile-devops\\\/devops\\\/43032#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/agile-devops\\\/devops\\\/43032\"},\"author\":{\"name\":\"\u91ce\u6fa4\u592a\u7f8e\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/4231b951e6e4fca02bcfb8cf29694278\"},\"headline\":\"Karate \u3092\u7528\u3044\u305f API \u30c6\u30b9\u30c8\u3092 GitLab CI \u3067\u5b9f\u884c\u3059\u308b #Gitlabtanukiboys #developer #cicd #devops #gitlab\",\"datePublished\":\"2021-07-01T03:49:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/agile-devops\\\/devops\\\/43032\"},\"wordCount\":196,\"image\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/agile-devops\\\/devops\\\/43032#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/pink_tanuki.png\",\"articleSection\":[\"DevOps\",\"GitLab\"],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/agile-devops\\\/devops\\\/43032\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/agile-devops\\\/devops\\\/43032\",\"name\":\"Karate \u3092\u7528\u3044\u305f API \u30c6\u30b9\u30c8\u3092 GitLab CI \u3067\u5b9f\u884c\u3059\u308b #Gitlabtanukiboys #developer #cicd #devops #gitlab - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/agile-devops\\\/devops\\\/43032#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/agile-devops\\\/devops\\\/43032#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/pink_tanuki.png\",\"datePublished\":\"2021-07-01T03:49:05+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/4231b951e6e4fca02bcfb8cf29694278\"},\"description\":\"DevOps, GitLab |\u3053\u306e\u8a18\u4e8b\u306f\u3001YouTube \u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u305f\u52d5\u753b\u3068\u9023\u52d5\u3057\u305f\u5185\u5bb9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u52d5\u753b\u3082\u5408\u308f\u305b\u3066\u3054\u89a7\u304f\u3060\u3055\u3044\u3002\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/agile-devops\\\/devops\\\/43032#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/agile-devops\\\/devops\\\/43032\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/agile-devops\\\/devops\\\/43032#primaryimage\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/pink_tanuki.png\",\"contentUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/pink_tanuki.png\",\"width\":548,\"height\":302},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/agile-devops\\\/devops\\\/43032#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"HOME\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u30a2\u30b8\u30e3\u30a4\u30eb\uff06DevOps\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/agile-devops\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"DevOps\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/agile-devops\\\/devops\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Karate \u3092\u7528\u3044\u305f API \u30c6\u30b9\u30c8\u3092 GitLab CI \u3067\u5b9f\u884c\u3059\u308b #Gitlabtanukiboys #developer #cicd #devops #gitlab\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#website\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/\",\"name\":\"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\",\"description\":\"\u30a2\u30b8\u30e3\u30a4\u30eb\uff06DevOps\u3001\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\u3001AI\uff06LLM\u306e\u5148\u7aef\u6280\u8853\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/4231b951e6e4fca02bcfb8cf29694278\",\"name\":\"\u91ce\u6fa4\u592a\u7f8e\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/avatar.png\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/avatar.png\",\"contentUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/avatar.png\",\"caption\":\"\u91ce\u6fa4\u592a\u7f8e\"},\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/h-nozawa\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Karate \u3092\u7528\u3044\u305f API \u30c6\u30b9\u30c8\u3092 GitLab CI \u3067\u5b9f\u884c\u3059\u308b #Gitlabtanukiboys #developer #cicd #devops #gitlab - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","description":"DevOps, GitLab |\u3053\u306e\u8a18\u4e8b\u306f\u3001YouTube \u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u305f\u52d5\u753b\u3068\u9023\u52d5\u3057\u305f\u5185\u5bb9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u52d5\u753b\u3082\u5408\u308f\u305b\u3066\u3054\u89a7\u304f\u3060\u3055\u3044\u3002","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.creationline.com\/tech-blog\/agile-devops\/devops\/43032","og_locale":"ja_JP","og_type":"article","og_title":"Karate \u3092\u7528\u3044\u305f API \u30c6\u30b9\u30c8\u3092 GitLab CI \u3067\u5b9f\u884c\u3059\u308b #Gitlabtanukiboys #developer #cicd #devops #gitlab - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","og_description":"DevOps, GitLab |\u3053\u306e\u8a18\u4e8b\u306f\u3001YouTube \u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u305f\u52d5\u753b\u3068\u9023\u52d5\u3057\u305f\u5185\u5bb9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u52d5\u753b\u3082\u5408\u308f\u305b\u3066\u3054\u89a7\u304f\u3060\u3055\u3044\u3002","og_url":"https:\/\/www.creationline.com\/tech-blog\/agile-devops\/devops\/43032","og_site_name":"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","article_publisher":"https:\/\/www.facebook.com\/creationline","article_published_time":"2021-07-01T03:49:05+00:00","og_image":[{"width":548,"height":302,"url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/pink_tanuki.png","type":"image\/png"}],"author":"\u91ce\u6fa4\u592a\u7f8e","twitter_card":"summary_large_image","twitter_creator":"@creationline","twitter_site":"@creationline","twitter_misc":{"\u57f7\u7b46\u8005":"\u91ce\u6fa4\u592a\u7f8e","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"1\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.creationline.com\/tech-blog\/agile-devops\/devops\/43032#article","isPartOf":{"@id":"https:\/\/www.creationline.com\/tech-blog\/agile-devops\/devops\/43032"},"author":{"name":"\u91ce\u6fa4\u592a\u7f8e","@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/4231b951e6e4fca02bcfb8cf29694278"},"headline":"Karate \u3092\u7528\u3044\u305f API \u30c6\u30b9\u30c8\u3092 GitLab CI \u3067\u5b9f\u884c\u3059\u308b #Gitlabtanukiboys #developer #cicd #devops #gitlab","datePublished":"2021-07-01T03:49:05+00:00","mainEntityOfPage":{"@id":"https:\/\/www.creationline.com\/tech-blog\/agile-devops\/devops\/43032"},"wordCount":196,"image":{"@id":"https:\/\/www.creationline.com\/tech-blog\/agile-devops\/devops\/43032#primaryimage"},"thumbnailUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/pink_tanuki.png","articleSection":["DevOps","GitLab"],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/www.creationline.com\/tech-blog\/agile-devops\/devops\/43032","url":"https:\/\/www.creationline.com\/tech-blog\/agile-devops\/devops\/43032","name":"Karate \u3092\u7528\u3044\u305f API \u30c6\u30b9\u30c8\u3092 GitLab CI \u3067\u5b9f\u884c\u3059\u308b #Gitlabtanukiboys #developer #cicd #devops #gitlab - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","isPartOf":{"@id":"https:\/\/www.creationline.com\/tech-blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.creationline.com\/tech-blog\/agile-devops\/devops\/43032#primaryimage"},"image":{"@id":"https:\/\/www.creationline.com\/tech-blog\/agile-devops\/devops\/43032#primaryimage"},"thumbnailUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/pink_tanuki.png","datePublished":"2021-07-01T03:49:05+00:00","author":{"@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/4231b951e6e4fca02bcfb8cf29694278"},"description":"DevOps, GitLab |\u3053\u306e\u8a18\u4e8b\u306f\u3001YouTube \u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u305f\u52d5\u753b\u3068\u9023\u52d5\u3057\u305f\u5185\u5bb9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u52d5\u753b\u3082\u5408\u308f\u305b\u3066\u3054\u89a7\u304f\u3060\u3055\u3044\u3002","breadcrumb":{"@id":"https:\/\/www.creationline.com\/tech-blog\/agile-devops\/devops\/43032#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.creationline.com\/tech-blog\/agile-devops\/devops\/43032"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.creationline.com\/tech-blog\/agile-devops\/devops\/43032#primaryimage","url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/pink_tanuki.png","contentUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/06\/pink_tanuki.png","width":548,"height":302},{"@type":"BreadcrumbList","@id":"https:\/\/www.creationline.com\/tech-blog\/agile-devops\/devops\/43032#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"HOME","item":"https:\/\/www.creationline.com\/tech-blog"},{"@type":"ListItem","position":2,"name":"\u30a2\u30b8\u30e3\u30a4\u30eb\uff06DevOps","item":"https:\/\/www.creationline.com\/tech-blog\/agile-devops"},{"@type":"ListItem","position":3,"name":"DevOps","item":"https:\/\/www.creationline.com\/tech-blog\/agile-devops\/devops"},{"@type":"ListItem","position":4,"name":"Karate \u3092\u7528\u3044\u305f API \u30c6\u30b9\u30c8\u3092 GitLab CI \u3067\u5b9f\u884c\u3059\u308b #Gitlabtanukiboys #developer #cicd #devops #gitlab"}]},{"@type":"WebSite","@id":"https:\/\/www.creationline.com\/tech-blog\/#website","url":"https:\/\/www.creationline.com\/tech-blog\/","name":"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","description":"\u30a2\u30b8\u30e3\u30a4\u30eb\uff06DevOps\u3001\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\u3001AI\uff06LLM\u306e\u5148\u7aef\u6280\u8853","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.creationline.com\/tech-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/4231b951e6e4fca02bcfb8cf29694278","name":"\u91ce\u6fa4\u592a\u7f8e","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/12\/avatar.png","url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/12\/avatar.png","contentUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2021\/12\/avatar.png","caption":"\u91ce\u6fa4\u592a\u7f8e"},"url":"https:\/\/www.creationline.com\/tech-blog\/author\/h-nozawa"}]}},"_links":{"self":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/43032","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/users\/37"}],"replies":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/comments?post=43032"}],"version-history":[{"count":22,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/43032\/revisions"}],"predecessor-version":[{"id":43076,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/43032\/revisions\/43076"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/media\/43064"}],"wp:attachment":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/media?parent=43032"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/categories?post=43032"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/tags?post=43032"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}