現在 estie では、デプロイの改善・統一に取り組んでいます。複数プロダクトのそれぞれの技術スタックが大きく違う中、どう考えたら効率的なデプロイを組めるのか。2024年のデプロイの原則について、あらためて考えてみました。
現在 estie では、デプロイの改善・統一に取り組んでいます。複数プロダクトのそれぞれの技術スタックが大きく違う中、どう考えたら効率的なデプロイを組めるのか。2024年のデプロイの原則について、あらためて考えてみました。
これまで PHP のアプリケーションのデプロイは rsync でどべーとコードを撒いていました。が、それだと新旧のコードが混在するし Capistrano とかはデフォでシンボリックリンク切り替えでアトミックなデプロイになっているし、周回遅れな感じもしますが今後は似たような方法でデプロイしたいと思います。 releases/ ディレクトリの中にリリースタグでディレクトリを掘ってコードを配置して current を最新のリリースのディレクトリへのシンボリックリンクにします。そして Apache や Nginx でドキュメントルートを current の中の公開用のディレクトリに設定します(/path/to/app/current/public とか)。 /path/to/app/ releases/ 20161213/ 20161224/ 20170101/ current -> relea
先週、とうとう Mackerel にグラフアノテーション機能がリリースされました。 mackerel.io この機能を使えば、「デプロイ実施」とか「ミドルウェアの設定を変更」などといったオペレーションの実施の記録に加えて、「経験値2倍キャンペーン開始」「CM放映スタート」といったビジネス施策としてのイベントの投稿もできるようになります。これらのイベントの以前・以後、といったグラフの見方がしやすくなるので、これは便利!! "Mackerel オタク" を自称している身(参考)としてはスルーできないワクワク機能!ということで、早速自分のアプリケーションにも組み込んでみることにしました。 capistrano のデプロイタスクにグラフアノテーションの POST を組み込む 今回はとりあえずのお試しということで、capistrano のデプロイタスクのうち deploy:starting でデプロ
インフラの駒崎です。 Capistrano を使ったデプロイから、オートスケーリングをスムーズに導入するための弊社事例を紹介させていただきたいと思います。 こんな方へ 本稿で想定するのはこのような状況です。 Capistrano を使って中央管理型デプロイをしている AWS などのクラウドインフラを使ってオートスケーリングをやりたい オートスケーリング時のデプロイをどうするか検討している コンテナベースのデプロイやブルーグリーンデプロイには準備が足りない 理想は見えているもののなかなか進まない状況から、できるだけスムーズに改善を重ねることを目指します。 本稿のゴールは AWS でオートスケーリングを実現することです。 過度な一般化を避けるため、本稿では AWS 環境を前提として記述します。 オートスケーリングに必要なもの スケーリングのサイクルは、おおまかに次のように考えられます。 イメー
社内LT大会で発表するネタとして、Rails5の新機能である ActionCable を使って某動画共有サイト風のスライド共有システム「nslides」を構築してみました。 まずは下記を参照ください。 ニコニコRails5 〜Rails5の新機能 ActionCable 使ってみたよ!〜 公開終了しました (2017/02/27) ソースコードおよびシステム構築のためのプロビジョニング設定などはgithubにて公開しています。 https://github.com/devchick/nslides ActionCableとは ActionCableとはRailsアプリの中でWebSocketを簡単に利用できるようにするフレームワークです。 WebSocketを利用すると、クライアント側からサーバー側へいちいちHTTPリクエストでポーリングしたりすることなく、必要なタイミングでサーバー・クラ
アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) こんにちは。@ryuzeeです。 アプリケーションのデプロイを楽にするためにDockerを使いたいけど、別にクラスタは必要ない規模だったりクラスタの管理もしたくないという人は多いのではないかと思います。 そこで、今回は、DockerとCapistrano3を組み合わせて単にデプロイを楽にする方法を紹介します。 構成図まず今回の構成図はこんな感じです。AWS上での構成例になっていますが別にどの環境でもあまり関係ない普通のWebアプリケーションを想定してください。 実現したい要件次に実現する要件です。特に変わったことはありません。 いつも同じ方式でデプロイするダウンタイムなしでデプロイするデプロイに失敗したら簡単にロールバックで
はじめに さまよえるアラフォー男子 @artifactsauce です。 突然ですが、弊社は「外資就活ドットコム」というWebサービスを開発・運営している会社です。サービスイン当初はイケイケガンガンで高速開発・高速リリースをうたっていましたが、開発者が増えるにしたがって様々な問題が発生してきました。今回はプロダクトのリリースにまつわる問題を解決するために弊社で採用した開発ワークフローについて紹介します。 どんな問題が起こっていたのか? Capistranoによる自動デプロイは実現していた我々ですが、それですべてがうまくいったわけではありませんでした。具体的には以下の様な問題が発生していました。 デプロイできる環境を用意するのが面倒である。 各デプロイ担当者がデプロイツールをインストールする必要がある。 デプロイツールを更新していない場合には失敗する。 デプロイ対象サーバーにデプロイ担当者の
Special Thanks Rails 初心者が Capistrano3 で AWS EC2 にデプロイするためにがんばったこと。 RailsアプリをEC2にデプロイしてみる。 - xxxcaqui.log 追記@2016/04/29 最近は環境やconfファイルのsetupはitamaeでやるようになりました。めっちゃ楽ですitamae。。 goo.gl totutotu.hatenablog.com PostgreSQLの設定は、以下を参考にしていつも自分でやってます。 totutotu.hatenablog.com 手順 手順をまとめると、以下のようになります。 前準備 nginxの設定 設定ファイルの用意 権限変更 Capistrano設定 Unicorn設定 ssh設定 デプロイ myAppの部分は適宜読み替えてやってください。また、設定ファイルのうち編集する必要がある場所にT
Capfileやdeploy.rbで使える変数。 https://www.freelancingdigest.com/articles/capistrano-variables/ # 設定が必須な変数 | application | required | | repository | required | # CAPFILE にてセットすることが出来る変数 設定しない場合はデフォルト値が利用される。 | scm | デフォルトは :subversion | | deploy_via | デフォルトは :checkout | | deploy_to | デフォルトは "/path/to/apps/#{application}" | | revision
capistrano 3.x系を使ってrailsをデプロイ 発端サテー久しぶりにrails projectでも作るかなー、いつも通りdeployはcapでやろう。 $ bundle install $ cap install よし、中身を設定するかー。 $ vim config/deploy.rb set :application, 'app_name' set :repo_url, 'git@repo:app.git' # ask :branch, proc { `git rev-parse --abbrev-ref HEAD`.chomp } # set :deploy_to, "/var/www/app_name" # set :scm, :git # set :format, :pretty # set :log_level, :debug # set :pty, true # s
メモです。 はじめに capistrano3の概要を知るには以下の記事がとても参考になる。 入門 Capistrano 3 ~ 全ての手作業を生まれる前に消し去りたい Capistrano3のデプロイフレームワークの使い方 業務での使用も経て何となく分かったつもりだったが、デフォルトで色々やってくれるのが逆に少し気持ち悪かった。 内部を理解しないことには気持ち悪さは解消されそうにないのでコードを読んだ。 だいぶ理解したものの、すぐに忘れそうなのでメモしておく。 対象 capistrano3について何となく知っている。使ったことがある capistranoの内部でどういう風に処理が走っているかは知らない capistranoのバージョンは3.4.0 長くなったので、各項目のまとめだけ読むと手っ取り早いと思う。 1. cap install 入り口としてcap installが何故実行出来るの
さくらVPSを借りてみたのでRailsを動かしてついでに手元のローカル環境で作ったアプリをデプロイ出来るようにしてみました。 完全に初心者なので、細かい所は分かってませんが初心者目線で出来ればと思います。 コピペしていけば構築出来るというサルでき方式を目指して書きました。 ##登場人物 ruby - rubyこれは知ってた。javaの親戚みたいなやつ rbenv - rubyのバージョンを選べるようにする便利なやつ rails - rubyを使ったサイトの構築を簡単に行うやつ nginx - サーバーソフト?だと思う。こいつがいれば複数のrailsプロジェクトを1つのサーバーで動かせる?っぽい。よくわからないけど人気っぽい unicorn - rails sで動くやつはWebrickって言うんだけど、それが重いからこれを使うらしい capistrano - デプロイするやつ。多分gitをサ
Railsアプリケーションの検証用環境のお話です。 普段Railsアプリケーションを開発しているローカル環境とアプリケーションが本番稼動する環境との間では、OS、ソフトウェアの種類、設定ファイルの設定値等にかなり差があります。そこで、本番環境相当の環境(以後、ステージング環境と呼びます)をローカル端末の仮想マシン上に作成し開発中のアプリケーションを動かすことができれば、本番環境でしか発生しないバグの対処や開発環境では動かす予定のない機能の検証が簡単にできるので非常に便利です。 環境構築は自動化し、環境を壊してもコマンド一つですぐにまた再構築できるようにします。 今回作成する環境の概要図です。 Vagrant ローカルマシン上に仮想環境をコマンドラインで作成、操作するツールで、仮想化ソフトウェアのフロントエンドになります。開発環境や本番環境で使いたいOS、ソフトウェアがインストールされた環境
2. 自己紹介 > 所属:GMOペパボ株式会社 > 部署:ホスティング事業部インフラチーム > 名前:渡邉 潔(@kyswtnb) > 年齢:37 > 社歴:ペパボ入社8年目 > 出身:長崎 > 住居:福岡県太宰府市
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く