{"componentChunkName":"component---src-templates-single-post-js","path":"/posts/nuxtで作ったプロジェクトを-s-3-にデプロイする。ついでにパイプラインも作成/","webpackCompilationHash":"0bb9bd8306defc5c5a8b","result":{"data":{"post":{"frontmatter":{"meta":{"title":"Nuxtで作ったプロジェクトをS3にデプロイする。ついでにパイプラインも作成 ","description":"前回はgolangでの適当helloworldをFargateにパイプラインでデプロイしました。\nFargateすら必要ない。静的コンテンツを載せるだけでOKという場合があると思います。特に最近ではNuxtが使いやすくなってきて、genすればdistにindex.htmlが作られるという。。。\nなので、今回はNuxtをS3にデプロイする方法をまとめました。\nもちろんCloudFrontを使ってサブドメインでHTTPSにします。","noindex":null,"canonicalLink":null},"title":"Nuxtで作ったプロジェクトをS3にデプロイする。ついでにパイプラインも作成 ","template":"SinglePost","subtitle":null,"date":"2019-08-09T22:26:19.211Z","categories":[{"category":"Tech"}]},"html":"<p><a href=\"https://qiita.com/sugimotosyo/items/dc49c1f1c5a54233cb9f\">前回</a>はgolangでの適当helloworldをFargateにパイプラインでデプロイしました。\nFargateすら必要ない。静的コンテンツを載せるだけでOKという場合があると思います。特に最近ではNuxtが使いやすくなってきて、genすればdistにindex.htmlが作られるという。。。<br>\nなので、今回はNuxtをS3にデプロイする方法をまとめました。\nもちろんCloudFrontを使ってサブドメインでHTTPSにします。</p>\n<h1>bucket作成</h1>\n<ul>\n<li>何も考えずにぽちぽち作る</li>\n<li>プロパティタグから「 Static website hosting」を設定する<br>\nこのバケットを使用してウェブサイトをホストする:ON<br>\nインデックスドキュメント:index.html  </li>\n</ul>\n<h2>参考</h2>\n<p>  <a href=\"https://qiita.com/dogwood008/items/a92abae789f4b0466f38\">AWS S3で静的Webページをホスティングする - Qiita</a></p>\n<p>  <a href=\"https://qiita.com/NaokiIshimura/items/46994e67b712831c3016\">CloudFront 経由で S3 のファイルにアクセスする - Qiita</a></p>\n<h1>CloudFrontよりDistributionsを作成する</h1>\n<ul>\n<li>webで「Get Started」する</li>\n</ul>\n<p>Origin Domain Name：対象のバケットを選択<br>\nRestrict Bucket Access：YES<br>\nOrigin Access Identity：Create a New Identity<br>\nGrant Read Permissions on ：Yes, Update Bucket Policy<br>\nAlternate Domain Names:ドメインを入れる<br>\nSSL Certificate：Custom SSL Certificate (example.com)<br>\nDefault Root Objec:index.html  </p>\n<h1>Route53の設定</h1>\n<p>Aレコード、エイリアスは上で作ったCloudFrontのディストリビューションを選択</p>\n<h1>ポリシーの編集(確認)</h1>\n<pre><code>{\n    \"Version\": \"2008-10-17\",\n    \"Id\": \"PolicyForCloudFrontPrivateContent\",\n    \"Statement\": [\n        {\n        \"Sid\":\"PublicReadForGetBucketObjects\",\n             \"Effect\":\"Allow\",\n          \"Principal\": \"*\",\n           \"Action\":[\"s3:GetObject\"],\n           \"Resource\":[\"arn:aws:s3:::&#x3C;BUCKET_NAME>/*\"\n           ]\n         },\n        {\n            \"Sid\": \"1\",\n            \"Effect\": \"Allow\",\n            \"Principal\": {\n                \"AWS\": \"arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity E21H4PD9QM10NM\"\n            },\n            \"Action\": \"s3:GetObject\",\n            \"Resource\": \"arn:aws:s3:::&#x3C;BUCKET_NAME>/*\"\n        }\n    ]\n}\n</code></pre>\n<h1>ソースプロジェクトに追加するもの</h1>\n<p>buildspec.yml</p>\n<pre><code>version: 0.2\n\nphases:\n  install:\n    commands:\n      - apt-get update -qq &#x26;&#x26; apt-get install -y apt-transport-https\n      - curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -\n      - echo \"deb https://dl.yarnpkg.com/debian/ stable main\" | tee /etc/apt/sources.list.d/yarn.list\n      - apt-get update &#x26;&#x26; apt-get install yarn\n  pre_build:\n    commands:\n      - echo 'Start pre_build phase'\n      - yarn\n  build:\n    commands:\n      - echo 'Start build phase'\n      - yarn build\n  post_build:\n    commands:\n      - echo 'Start post_build phase'\n      - cat ./node_modules/.bin/gulp\n      - echo '------'\n      - ./node_modules/.bin/gulp deploy\n      # - ./deploy.sh\n</code></pre>\n<p>deploy.sh</p>\n<pre><code>#!/bin/bash\n\n# nvm (node version manager) のロード、node のインストール (バージョン指定は .nvmrc ファイルにある)、 npm パッケージのインストール\n[ -s \"$HOME/.nvm/nvm.sh\" ] &#x26;&#x26; source \"$HOME/.nvm/nvm.sh\" &#x26;&#x26; nvm use\n# 既にインストールされていなければ、 npm をインストールする\n[ ! -d \"node_modules\" ] &#x26;&#x26; npm install\n\nnpm run generate\nAWS_ACCESS_KEY_ID=\"&#x3C;AWS_ACCESS_KEY_ID>\" AWS_SECRET_ACCESS_KEY=\"&#x3C;AWS_SECRET_ACCESS_KEY>\" AWS_BUCKET_NAME=\"&#x3C;AWS_BUCKET_NAME>\" AWS_CLOUDFRONT=\"&#x3C;AWS_CLOUDFRONT>\" ./node_modules/.bin/gulp deploy\n</code></pre>\n<ul>\n<li>パーミッション与える</li>\n</ul>\n<pre><code>chmod +x deploy.sh\n</code></pre>\n<p>gulpfile.js</p>\n<pre><code>var gulp = require('gulp')\nvar awspublish = require('gulp-awspublish')\nvar cloudfront = require('gulp-cloudfront-invalidate-aws-publish')\nvar parallelize = require('concurrent-transform')\n\n// https://docs.aws.amazon.com/cli/latest/userguide/cli-environment.html\n\nvar config = {\n  // 必須\n  params: { Bucket: process.env.AWS_BUCKET_NAME },\n  accessKeyId: process.env.AWS_ACCESS_KEY_ID,\n  secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,\n\n  // 任意\n  deleteOldVersions: false, // PRODUCTION で使用しない\n  distribution: process.env.AWS_CLOUDFRONT, // Cloudfront distribution ID\n  region: process.env.AWS_DEFAULT_REGION,\n  headers: {\n    /*'Cache-Control': 'max-age=315360000, no-transform, public',*/\n  },\n\n  // 適切なデフォルト値 - これらのファイル及びディレクトリは gitignore されている\n  distDir: 'dist',\n  indexRootPath: true,\n  cacheFileName: '.awspublish',\n  concurrentUploads: 10,\n  wait: true // Cloudfront のキャッシュ削除が完了するまでの時間 (約30〜60秒)\n}\n\ngulp.task('deploy', function() {\n  // S3 オプションを使用して新しい publisher を作成する\n  // http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#constructor-property\n  var publisher = awspublish.create(config, config)\n\n  var g = gulp.src('./' + config.distDir + '/**')\n  // publisher は、上記で指定した Content-Length、Content-Type、および他のヘッダーを追加する\n  // 指定されていない場合、 x-amz-acl はデフォルトで public-read に設定される\n  g = g.pipe(\n    parallelize(publisher.publish(config.headers), config.concurrentUploads)\n  )\n\n  // CDN のキャッシュを削除する\n  if (config.distribution) {\n    console.log('Configured with Cloudfront distribution')\n    g = g.pipe(cloudfront(config))\n  } else {\n    console.log(\n      'No Cloudfront distribution configured - skipping CDN invalidation'\n    )\n  }\n\n  // 削除したファイルを同期する\n  if (config.deleteOldVersions) g = g.pipe(publisher.sync())\n  // 連続したアップロードを高速化するために、キャッシュファイルを作成する\n  g = g.pipe(publisher.cache())\n  // アップロードの更新をコンソールに出力する\n  g = g.pipe(awspublish.reporter())\n  return g\n})\n</code></pre>\n<p>gulpを追加</p>\n<pre><code>npm install --save-dev gulp gulp-awspublish gulp-cloudfront-invalidate-aws-publish concurrent-transform\nnpm install -g gulp\n</code></pre>\n<h1>CodeDeployからデプロイプロジェクトを作る</h1>\n<p>特に難しいところはない。\n特権を付与することを忘れずに</p>\n<p>環境変数</p>\n<pre><code>AWS_CLOUDFRONT          &#x3C;AWS_CLOUDFRONTのID>\nAWS_SECRET_ACCESS_KEY     &#x3C;AWS_SECRET_ACCESS_KEY>\nAWS_BUCKET_NAME         &#x3C;AWS_BUCKET_NAME>\nAWS_DEFAULT_REGION      ap-northeast-1\nAWS_ACCESS_KEY_ID         &#x3C;AWS_ACCESS_KEY_ID>\n</code></pre>\n<p>fontsとiconsがデプロイされなかったので、手動であげる。</p>\n<h1>pipelineを作る</h1>\n<ul>\n<li>ノリでいける</li>\n</ul>\n<hr>\n<table>\n<thead>\n<tr>\n<th align=\"center\">こちらでも公開中</th>\n<th align=\"center\"></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td align=\"center\"><div style=\"width:4em;\"><a href=\"https://green-luck.hatenablog.com/entry/2019/09/05/114633\" target=\"_blank\"><img src=\"https://ucarecdn.com/594b4c50-3aa6-46e4-82f7-a7fff056102c/\" alt=\"hatena\"></a></div>はてなブログ</td>\n<td align=\"center\"><div style=\"width:4em;\"><a href=\"https://green-luck.com/posts/nuxt%E3%81%A7%E4%BD%9C%E3%81%A3%E3%81%9F%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92-s-3-%E3%81%AB%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4%E3%81%99%E3%82%8B%E3%80%82%E3%81%A4%E3%81%84%E3%81%A7%E3%81%AB%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3%E3%82%82%E4%BD%9C%E6%88%90/\" target=\"_blank\"><img src=\"https://ucarecdn.com/6336b0bb-cdc1-48e9-aa7b-3bbc6b8848c2/\" alt=\"luck!\"></a></div>Luck!</td>\n</tr>\n</tbody>\n</table>\n<hr>\n<center>\n<iframe  marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\"  style=\"min-height: 23.5em;height:100%;width: 100%;\"\nsrcdoc='<html><head><meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\"></head><body><!-- START MoshimoAffiliateEasyLink --><script type=\"text/javascript\">(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName(\"body\")[0],e.appendChild(d))})(window,document,\"script\",\"//dn.msmstatic.com/site/cardlink/bundle.js\",\"msmaflink\");msmaflink({\"n\":\"ゼロからわかる Amazon Web Services超入門 はじめてのクラウド かんたんIT基礎講座\",\"b\":\"\",\"t\":\"\",\"d\":\"https:\\/\\/images-fe.ssl-images-amazon.com\",\"c_p\":\"\",\"p\":[\"\\/images\\/I\\/51e-nawUqyL.jpg\"],\"u\":{\"u\":\"https:\\/\\/www.amazon.co.jp\\/%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E3%82%8F%E3%81%8B%E3%82%8B-Amazon-Services%E8%B6%85%E5%85%A5%E9%96%80-%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AE%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89-%E3%81%8B%E3%82%93%E3%81%9F%E3%82%93IT%E5%9F%BA%E7%A4%8E%E8%AC%9B%E5%BA%A7-ebook\\/dp\\/B07TFTGHMX\",\"t\":\"amazon\",\"r_v\":\"\"},\"aid\":{\"amazon\":\"1567948\",\"rakuten\":\"1567946\",\"yahoo\":\"1568501\"},\"eid\":\"VBJPA\"});</script><div id=\"msmaflink-VBJPA\">リンク</div><!-- MoshimoAffiliateEasyLink END --></body></html>'>\n    </iframe>\n</center>","id":"b911ff27-f1bd-5dbd-8d55-bc836c9d0864"},"allPosts":{"edges":[{"node":{"id":"11e872df-ccae-573a-bd93-b9c1fafbab72","fields":{"slug":"/posts/えいちつー-西葛西/"},"frontmatter":{"title":"えいちつー_西葛西"}},"next":{"fields":{"slug":"/posts/animate-cssで間隔を調整する/"},"frontmatter":{"title":"Animate.cssで間隔を調整する"}},"previous":null},{"node":{"id":"af531f3a-b7d2-5c9e-ad22-e8378a078f07","fields":{"slug":"/posts/animate-cssで間隔を調整する/"},"frontmatter":{"title":"Animate.cssで間隔を調整する"}},"next":{"fields":{"slug":"/posts/amazonでスマホ三脚を購入/"},"frontmatter":{"title":"amazonでスマホ三脚を購入"}},"previous":{"fields":{"slug":"/posts/えいちつー-西葛西/"},"frontmatter":{"title":"えいちつー_西葛西"}}},{"node":{"id":"b320c2db-f74d-5213-be91-d01c7f94f8c0","fields":{"slug":"/posts/amazonでスマホ三脚を購入/"},"frontmatter":{"title":"amazonでスマホ三脚を購入"}},"next":{"fields":{"slug":"/posts/twitterのシェアボタンがうまく動かない/"},"frontmatter":{"title":"Twitterのシェアボタンがうまく動かない"}},"previous":{"fields":{"slug":"/posts/animate-cssで間隔を調整する/"},"frontmatter":{"title":"Animate.cssで間隔を調整する"}}},{"node":{"id":"cbd9c95c-a098-592c-bfd9-a936996ff335","fields":{"slug":"/posts/twitterのシェアボタンがうまく動かない/"},"frontmatter":{"title":"Twitterのシェアボタンがうまく動かない"}},"next":{"fields":{"slug":"/posts/バチェラーカードリリース/"},"frontmatter":{"title":"バチェラーカードリリース"}},"previous":{"fields":{"slug":"/posts/amazonでスマホ三脚を購入/"},"frontmatter":{"title":"amazonでスマホ三脚を購入"}}},{"node":{"id":"fc5fe850-be92-5297-859f-0839f6b2fbb7","fields":{"slug":"/posts/バチェラーカードリリース/"},"frontmatter":{"title":"バチェラーカードリリース"}},"next":{"fields":{"slug":"/posts/snsのシェアボタンとsnsのログインボタンをサクッと作る/"},"frontmatter":{"title":"SNSのシェアボタンとSNSのログインボタンをサクッと作る"}},"previous":{"fields":{"slug":"/posts/twitterのシェアボタンがうまく動かない/"},"frontmatter":{"title":"Twitterのシェアボタンがうまく動かない"}}},{"node":{"id":"d8500bc6-e602-599e-a22f-80810d132de2","fields":{"slug":"/posts/snsのシェアボタンとsnsのログインボタンをサクッと作る/"},"frontmatter":{"title":"SNSのシェアボタンとSNSのログインボタンをサクッと作る"}},"next":{"fields":{"slug":"/posts/スタジオアリスの増えデジアルバムを自分で増やす。/"},"frontmatter":{"title":"スタジオアリスの増えデジアルバムを自分で増やす。"}},"previous":{"fields":{"slug":"/posts/バチェラーカードリリース/"},"frontmatter":{"title":"バチェラーカードリリース"}}},{"node":{"id":"4c934147-b318-5afd-9241-c1f5d4d75e2f","fields":{"slug":"/posts/スタジオアリスの増えデジアルバムを自分で増やす。/"},"frontmatter":{"title":"スタジオアリスの増えデジアルバムを自分で増やす。"}},"next":{"fields":{"slug":"/posts/鈴屋-館山/"},"frontmatter":{"title":"鈴屋_館山"}},"previous":{"fields":{"slug":"/posts/snsのシェアボタンとsnsのログインボタンをサクッと作る/"},"frontmatter":{"title":"SNSのシェアボタンとSNSのログインボタンをサクッと作る"}}},{"node":{"id":"04233bd7-e37d-57cb-b458-50e230b67866","fields":{"slug":"/posts/鈴屋-館山/"},"frontmatter":{"title":"鈴屋_館山"}},"next":{"fields":{"slug":"/posts/からしや-葛西/"},"frontmatter":{"title":"からしや_葛西"}},"previous":{"fields":{"slug":"/posts/スタジオアリスの増えデジアルバムを自分で増やす。/"},"frontmatter":{"title":"スタジオアリスの増えデジアルバムを自分で増やす。"}}},{"node":{"id":"ecb65f65-3564-58d5-b2c6-1b712b21783b","fields":{"slug":"/posts/からしや-葛西/"},"frontmatter":{"title":"からしや_葛西"}},"next":{"fields":{"slug":"/posts/吉村家-横浜/"},"frontmatter":{"title":"吉村家_横浜"}},"previous":{"fields":{"slug":"/posts/鈴屋-館山/"},"frontmatter":{"title":"鈴屋_館山"}}},{"node":{"id":"86bea805-00cf-5633-af27-2bcd764f3d42","fields":{"slug":"/posts/吉村家-横浜/"},"frontmatter":{"title":"吉村家_横浜"}},"next":{"fields":{"slug":"/posts/golangでanacondaを利用して-twitterにつぶやく/"},"frontmatter":{"title":"golangでanacondaを利用してTwitterにつぶやく"}},"previous":{"fields":{"slug":"/posts/からしや-葛西/"},"frontmatter":{"title":"からしや_葛西"}}},{"node":{"id":"e3ba1aa1-d2b2-5519-b9b9-00efdcadbd11","fields":{"slug":"/posts/golangでanacondaを利用して-twitterにつぶやく/"},"frontmatter":{"title":"golangでanacondaを利用してTwitterにつぶやく"}},"next":{"fields":{"slug":"/posts/amazonで花椒-四川山椒-をかってみた/"},"frontmatter":{"title":"Amazonで花椒 四川山椒 をかってみた"}},"previous":{"fields":{"slug":"/posts/吉村家-横浜/"},"frontmatter":{"title":"吉村家_横浜"}}},{"node":{"id":"d31690b3-2c7d-5560-9ab4-a57d83e95b62","fields":{"slug":"/posts/amazonで花椒-四川山椒-をかってみた/"},"frontmatter":{"title":"Amazonで花椒 四川山椒 をかってみた"}},"next":{"fields":{"slug":"/posts/gatsby-js-netlify-その-3/"},"frontmatter":{"title":"GatsbyJS + Netlify_その3"}},"previous":{"fields":{"slug":"/posts/golangでanacondaを利用して-twitterにつぶやく/"},"frontmatter":{"title":"golangでanacondaを利用してTwitterにつぶやく"}}},{"node":{"id":"8601b324-6161-51ed-95ce-cb5ffe1ffaa6","fields":{"slug":"/posts/gatsby-js-netlify-その-3/"},"frontmatter":{"title":"GatsbyJS + Netlify_その3"}},"next":{"fields":{"slug":"/posts/gatsby-js-netlify-その-2/"},"frontmatter":{"title":"GatsbyJS + Netlify_その2"}},"previous":{"fields":{"slug":"/posts/amazonで花椒-四川山椒-をかってみた/"},"frontmatter":{"title":"Amazonで花椒 四川山椒 をかってみた"}}},{"node":{"id":"450caa1d-e0c5-5096-95c9-13b3857b90b3","fields":{"slug":"/posts/gatsby-js-netlify-その-2/"},"frontmatter":{"title":"GatsbyJS + Netlify_その2"}},"next":{"fields":{"slug":"/posts/gatsby-js-netlify-その-1/"},"frontmatter":{"title":"GatsbyJS + Netlify_その1"}},"previous":{"fields":{"slug":"/posts/gatsby-js-netlify-その-3/"},"frontmatter":{"title":"GatsbyJS + Netlify_その3"}}},{"node":{"id":"1877003c-32b0-5bc4-9cee-8b736797bf64","fields":{"slug":"/posts/gatsby-js-netlify-その-1/"},"frontmatter":{"title":"GatsbyJS + Netlify_その1"}},"next":{"fields":{"slug":"/posts/田舎道/"},"frontmatter":{"title":"田舎道"}},"previous":{"fields":{"slug":"/posts/gatsby-js-netlify-その-2/"},"frontmatter":{"title":"GatsbyJS + Netlify_その2"}}},{"node":{"id":"3777734d-dc86-5124-830b-b123179a6255","fields":{"slug":"/posts/田舎道/"},"frontmatter":{"title":"田舎道"}},"next":{"fields":{"slug":"/posts/nuxtで作ったプロジェクトを-s-3-にデプロイする。ついでにパイプラインも作成/"},"frontmatter":{"title":"Nuxtで作ったプロジェクトをS3にデプロイする。ついでにパイプラインも作成 "}},"previous":{"fields":{"slug":"/posts/gatsby-js-netlify-その-1/"},"frontmatter":{"title":"GatsbyJS + Netlify_その1"}}},{"node":{"id":"b911ff27-f1bd-5dbd-8d55-bc836c9d0864","fields":{"slug":"/posts/nuxtで作ったプロジェクトを-s-3-にデプロイする。ついでにパイプラインも作成/"},"frontmatter":{"title":"Nuxtで作ったプロジェクトをS3にデプロイする。ついでにパイプラインも作成 "}},"next":{"fields":{"slug":"/posts/linked-in-apiを使う/"},"frontmatter":{"title":"LinkedInAPIを使う"}},"previous":{"fields":{"slug":"/posts/田舎道/"},"frontmatter":{"title":"田舎道"}}},{"node":{"id":"868b483d-2cde-508c-8978-327a3f734203","fields":{"slug":"/posts/linked-in-apiを使う/"},"frontmatter":{"title":"LinkedInAPIを使う"}},"next":{"fields":{"slug":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-3/"},"frontmatter":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その3"}},"previous":{"fields":{"slug":"/posts/nuxtで作ったプロジェクトを-s-3-にデプロイする。ついでにパイプラインも作成/"},"frontmatter":{"title":"Nuxtで作ったプロジェクトをS3にデプロイする。ついでにパイプラインも作成 "}}},{"node":{"id":"f22af0ac-f3e5-5cc1-b552-8c66b6026112","fields":{"slug":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-3/"},"frontmatter":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その3"}},"next":{"fields":{"slug":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-2/"},"frontmatter":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その2"}},"previous":{"fields":{"slug":"/posts/linked-in-apiを使う/"},"frontmatter":{"title":"LinkedInAPIを使う"}}},{"node":{"id":"569f7ab2-0c83-5683-81fa-21c69fd5117a","fields":{"slug":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-2/"},"frontmatter":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その2"}},"next":{"fields":{"slug":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-1/"},"frontmatter":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その1"}},"previous":{"fields":{"slug":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-3/"},"frontmatter":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その3"}}},{"node":{"id":"9abaf084-569e-53db-970a-42f6b1961c26","fields":{"slug":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-1/"},"frontmatter":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その1"}},"next":{"fields":{"slug":"/posts/aws-githubからソースを取得し、-ecs-fargate-or-ec-2-にデプロイするパイプラインを作成する-その-2-（デプロイまで）/"},"frontmatter":{"title":"AWS Githubからソースを取得し、ECS(Fargate or EC2)にデプロイするパイプラインを作成する_その2（デプロイまで）"}},"previous":{"fields":{"slug":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-2/"},"frontmatter":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その2"}}},{"node":{"id":"2b4b8b24-8bac-5d6e-b8be-be93abf830a3","fields":{"slug":"/posts/aws-githubからソースを取得し、-ecs-fargate-or-ec-2-にデプロイするパイプラインを作成する-その-2-（デプロイまで）/"},"frontmatter":{"title":"AWS Githubからソースを取得し、ECS(Fargate or EC2)にデプロイするパイプラインを作成する_その2（デプロイまで）"}},"next":{"fields":{"slug":"/posts/aws-githubからソースを取得し、-ecs-fargate-or-ec-2-にデプロイするパイプラインを作成する-その-1-（albの作成まで）/"},"frontmatter":{"title":"AWS Githubからソースを取得し、ECS(Fargate or EC2)にデプロイするパイプラインを作成する_その1（ALBの作成まで）"}},"previous":{"fields":{"slug":"/posts/backlog-jenkins-nginx-dockerで-webサービスを構築-その-1/"},"frontmatter":{"title":"backlog-jenkins-nginx-dockerでWebサービスを構築_その1"}}},{"node":{"id":"c3a9a179-8a04-5767-b325-56f39a3a8173","fields":{"slug":"/posts/aws-githubからソースを取得し、-ecs-fargate-or-ec-2-にデプロイするパイプラインを作成する-その-1-（albの作成まで）/"},"frontmatter":{"title":"AWS Githubからソースを取得し、ECS(Fargate or EC2)にデプロイするパイプラインを作成する_その1（ALBの作成まで）"}},"next":null,"previous":{"fields":{"slug":"/posts/aws-githubからソースを取得し、-ecs-fargate-or-ec-2-にデプロイするパイプラインを作成する-その-2-（デプロイまで）/"},"frontmatter":{"title":"AWS Githubからソースを取得し、ECS(Fargate or EC2)にデプロイするパイプラインを作成する_その2（デプロイまで）"}}}]}},"pageContext":{"isCreatedByStatefulCreatePages":false,"id":"b911ff27-f1bd-5dbd-8d55-bc836c9d0864"}}}