AWSにRailsアプリをデプロイする(準備編)
今回は、せっかくRailsで開発したアプリをAWS上に公開してみたいので
その構築方法をまとめていきたいと思います。
(前回の記事:初心者がRailsで開発 – deviseでユーザー認証設定 )
AWSの設定はすでに社内で使用できるようになっていたので割愛します。
★やりたいこと
Gitlabでコードを管理しているのでGitでpullして更新したものをリリースできるようにしたい
しかし、、そもそもデプロイってなにが必要なのか。。。。
AWS上にもソフトウェアがないといけない!!
とりあえずローカルで開発していたソフトウェアRuby、Railsとwebサーバーはnginx、DBはMySQLを準備していきます。
まず、ローカルのソフトウェアバージョンの確認
1 2 |
$ ruby -v ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin15] |
1 2 |
$ rails -v Rails 5.0.1 |
1 2 |
$ nginx -v nginx version: nginx/1.10.2 |
AWSに移動→→
gitインストール
1 |
$ yum install git |
パッケージインストール
1 |
$ yum install gcc-c++ glibc-headers openssl-devel readline libyaml-devel readline-devel zlib zlib-devel |
rbenv(Simple Ruby Version Management)をインストール
1 2 3 4 5 6 |
$ git clone https://github.com/sstephenson/rbenv.git /usr/local/rbenv $ echo 'export RBENV_ROOT="/usr/local/rbenv"' >> ~/.bash_profile $ echo 'export PATH="${RBENV_ROOT}/bin:${PATH}"' >> ~/.bash_profile $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile $ rbenv -v |
ruby-buildインストール
1 |
$ git clone https://github.com/sstephenson/ruby-build.git /usr/local/rbenv/plugins/ruby-build |
Rubyをインストール
1 2 3 4 5 6 7 8 9 |
//インストールできるバージョンを表示 $ rbenv install -l //今回は2.2.3をインストール $ rbenv install -v 2.2.3 //変更を適用するために下記コマンドを忘れずに打つ $ rbenv rehash //使用するバージョンをglobalに設定 $ rbenv global 2.2.3 $ ruby -v |
Railsインストール
1 2 3 4 5 |
$ gem update --system $ gem install --no-ri --no-rdoc rails $ gem install bundler $ rbenv rehash $ rails -v |
ココまででとりあえず必要なソフトウェアはインストールされた!!!!
gitからアプリをクローンする
1 2 3 4 |
//アプリを置くディレクトリを作成する $ mkdir app-name $ cd app-name $ ssh://git@xxxx.xxx.co.jp:10022/xxxx/app-name.git |
やっとアプリのクローン完了!!!!!!!!!!
つづく。。

関連記事
-
-
Vagrantの機能を使って開発環境の効率をあげてみた。
プラットフォーム・ワンのシステムの運用・保守担当のエンジニアです。 保守の仕事に関わると、 ユーザからのお問い合わせだったり、監視アラートによる検知から システムを調査することがあります。 ログとソースコードを見て、不具合を特定し改修する。 すぐできればカッコいいですが、 「本番環境に反映して別のエ …
-
-
【電子工作入門】Arduino + Processingでアラート監視してみた
こんにちは、プラットフォームワンのyamakenです。普段はフロントエンド中心にDSP周りの開発をやっています。現在新卒2年目です。 広告会社のエンジニアブログということで皆さんビッグデータやインフラなどためになりそうな記事をあげていらっしゃいますが、今回は少し趣向を変えて電子工作チックな内容をお届 …
-
-
Selenium × PHP でテスト自動化!【環境構築編】
はじめに みなさんこんにちは、プロダクト開発本部の亀梨です。 普段はXmediaOneというメディアプランニング・広告運用管理・トラッキング・マーケティング分析を行う 統合プラットフォームの開発を担当しています。 テスト自動化の背景 わたくしが担当するXmediaOneでは品質担保のために①コードベ …
-
-
ゼロからAngularでSPAを作ってみた(1) はじめてのアプリ編
はじめに Single Page Application (SPA)って知っていますか? Webサイトでコンテンツのリンクをクリックした時に妙に表示が早いな〜というとき、実はページを移動するのではなくてページの一部のみを書き換えていたりします。 こういったサイトの作り方を Single Page A …
-
-
意外と知らないかも? Chrome DevTools の機能10選
みんな使っている Chrome DevTools。 Web開発やトラブルシューティングには必須ですが、便利な機能を知らないで使っている人がいたり、Web で使い方を調べても古い情報だったりすることがあるので、部内で Chrome DevTools についての勉強会を開催しました。 ここでは、その中か …
-
-
【HTML5】4ツール出力ファイルサイズ比較
こんにちは、近江です。 前回もHTML5のSwiffyについて書かせて頂きましたが、まだまだHTML5について調査しています。 今回はSwiffyを含めた4つのHTML5系ツールで、同じ素材で同じアニメーションを作成した時のファイルサイズを比較したいと思います。 何故ファイルサイズの比較をするかと言 …
-
-
最強のSQLクライアント(GUIツール)「TeamSQL」を使ってみた!
はじめに みなさんこんにちは、プロダクト開発本部の亀梨です。 普段はXmediaOneというメディアプランニング・広告運用管理・トラッキング・マーケティング分析を行う 統合プラットフォームの開発を担当しています。 エンジニアの皆さん、SQLクライアント(GUIツール)って何使ってます? わたくしはこ …
-
-
いまさらですが… GNU screen チートシート
最近はローカル環境で開発するようになってきたので、screen コマンドを使う機会も少なくなって来たような気がします。で、使ってないと忘れてしまうので、チートシートを作ってみました。 参照サイト GNU screen [quick_reference] 起動 コマンド 動作 screen -S &l …
-
-
Scala番外編「Boxに保存したファイルをBox APIを使ってダウンロードしよう!」
はじめに みなさんこんにちは、プロダクト開発本部の亀梨です。 普段はXmediaOneというメディアプランニング・広告運用管理・トラッキング・マーケティング分析を行う 統合プラットフォームの開発を担当しています。 Box APIを使う背景・目的 DACはメディアレップです メディアレップとは、インタ …
-
-
Treasure Data で集計した結果を Google Spreadsheet に出力する
同じチームのメンバーが書いた記事に便乗します。 【入門編】TreasureDataでサイトのアクセス解析をしてみた~第2弾!~ で紹介しております 曜日・時間帯別のセッション数 のヒートマップを毎週 Google Spreadsheet に出力し、さらにそのヒートマップを自動的に Slack に通知 …