blogシタテルの技術やエンジニアの取り組みを紹介するテックブログです。投稿を表示しています。投稿を表示しています。2018こんにちは!シタテルでエンジニアをしている建山です。工場向けのマイオペというシステムの開発を行っています。マイオペでは、インフラとして本番、ステージング、開発、feature環境を用意して開発していますが、新機能をテストする環境としてfeature環境を使用しています。feature環境にnetlifyというサービスを使用しています。netlifyとはNetlifyは静的なサイトをすばやく提供できるWebサービスです。フロントエンドのビルド、デプロイ、ホスティングのすべてを行ってくれます。netlifyとなっています。netlifyが可能なのですが、マイオペでは、ビルドの際にjavaを使用していて、netlifyのビルドで対応されていないので、circleciでビルドを行ったあと、netlifyにデプロイすることにしました。S3でよくない?」っていうツッコミはあるとおもいますが、まずは使ってみたということでご容赦ください。事前にnetlifyにサイトを作成してください。cliをインストールします。netlify-cliでいれました。netlify-cliでインストールしてもいいと思います。次に、circleciのconfig.ymlでデプロイの設定をします。cliを使って、デプロイします。デプロイしたいディレクトリをいれてください。$NETLIFY_ACCESS_TOKENはcircleciの環境変数にセットしてお使い頂いたほうがいいかと思います。上の例だと、ブランチ名に"-netlify"が含まれているとnetlifyにデプロイされるようにしています。実際には、利用状況にあわせてカスタマイズしてください。"abcd-netlify"というブランチでgithubにpushすると、デプロイされます!今回は同じURLにデプロイしていますが、デプロイのたびに違うサイトURLを発行してデプロイもできるようです。netlifyの中で、ビルドもいろいろできるようになっているので、今回のように限定的な使い方ではなく、もっと活用できると思います。使ってみましたということで、またいい感じのCI/CDを実現できたら紹介します!詳しくは公式ドキュメントをご覧ください。2018こんにちは、シタテルの茨木です。ECR/ECSにデプロイする為の設定例を紹介します。Nuxt.jsアプリ用に作ったものですが、言語やAPサーバが違っても共通の部分がほとんどです。PRマージからの自動デプロイ、いいですよね。https://circleci.com/docs/2.0/ecs-ecr/https://github.com/CircleCI-Public/circleci-demo-aws-ecs-ecr基本的にはCircleCI公式ガイドの上記リンクを参考にしていますが、元ネタはterraform前提だったりでなかなか大仰です。(下記に説明漏れがあったら原典を見てください...)今回紹介するのはリンク先のスクリプト類を簡素化し、少し機能を追加(リポジトリ名からデプロイ先の環境面を切り替えできるように)したものです。以下で省略しているけれど必要なモノECS/ECRの設定これだけで別の記事が書けてしまうので割愛しますecsTaskExecutionRoleの割り当てとか忘れがちですかねgithubリポジトリ言わずもがな。CircleCIとの接続設定はされているものとしますDockerfileリポジトリのルートに。Dockerfileの書き方は解説しませんrequirements.txtリポジトリのルートに。docker-image~省略~さっそくですがビルドジョブです。circleci/node:10-stretchnode:10を使っていますが、これはビルドする対象がNuxt.jsアプリだからですね。./deploy.sh~省略~デプロイジョブです。$BASH_ENVブランチ名に応じた値(developブランチなら"dev")を環境変数に入れています。fi}deploy_clusterデプロイジョブから呼び出すスクリプトです。runする際に引数として付与され、docker内のアプリから環境変数として参照可能になります実際には、nuxt.config.js内でTARGETを参照し、APIサーバの向け先を切り替えたり等しています以上、ご参考になれば幸いです。usシタテルのミッションはテクノロジーとイマジネーションで「ひと」と「衣服」の新しい未来をつくること。クラウドシステムを使うように服作りのリソースを誰でも好きなときに好きだだけ使えるプラットフォームを目指しています。(1)どうも朝野です。Storage移行記:バリデーション編こんにちはあさのです。Storageに移行したときの話を書こうと思います。Paperclipはファイルアップロード用のGemです。https://...SQLite3でWindow関数を試してみた!はじめまして、DevOpsチームの甲斐です。何かブログのネタはないかなーと思っていたところ、たまたま以下のニュースを発見しました。ECSに自動デプロイする(おまけで環境面の切り替えも)こんにちは、シタテルの茨木です。ECR/ECSにデプロイする為の設定例を紹介します。Nuxt.jsアプリ用に作ったものですが、言語やAPサーバが違っても共通の部分がほとんどです。