タグ

Capistranoに関するNyohoのブックマーク (18)

  • はてなブログのデプロイを約6倍高速化したはなし - Sexually Knowing

    今年、稼働中のサービスであるはてなブログのデプロイ方法を新しい方式へ無事故で移行し、従来と比べて約6倍速くデプロイできるようになりました。 この記事では、安全にデプロイ方式を変えたプロセスを順を追って紹介します。 はてなブログと継続的デリバリー デプロイが遅い 複雑なデプロイ設定 デプロイのテストを書く ボトルネックの発見、そして pull 型から push 型のデプロイへ 新デプロイへの移行 結果 まとめ はてなブログと継続的デリバリー はてなブログは1日あたり平均して1.02回デプロイを行っています。これは土日を除いた週5日の営業日に対する平均です。ざっくりとした算出で、祝日は考慮していません。5月と9月の祝日を含めるともう少し多くなるかもしれません。 また、原則として休日の前日にはデプロイしないことになっています。もしもデプロイした変更にバグがあった場合、休日が明けてから対応するか、

    はてなブログのデプロイを約6倍高速化したはなし - Sexually Knowing
  • Docker + Capistrano3で簡単にWebアプリをデプロイする

    こんにちは。@ryuzeeです。 アプリケーションのデプロイを楽にするためにDockerを使いたいけど、別にクラスタは必要ない規模だったりクラスタの管理もしたくないという人は多いのではないかと思います。 そこで、今回は、DockerとCapistrano3を組み合わせて単にデプロイを楽にする方法を紹介します。 構成図まず今回の構成図はこんな感じです。AWS上での構成例になっていますが別にどの環境でもあまり関係ない普通のWebアプリケーションを想定してください。 実現したい要件次に実現する要件です。特に変わったことはありません。 いつも同じ方式でデプロイするダウンタイムなしでデプロイするデプロイに失敗したら簡単にロールバックできるようにするサーバが増えてもデプロイの方式は変えなくて済むようにするサーバを再起動してもサービスは自動で復旧する方式では方式を見ていきましょう。 Webアプリケーショ

    Docker + Capistrano3で簡単にWebアプリをデプロイする
  • stretcher + consul + capistrano を使ったデプロイを導入しようと思います | feedforce Engineers' blog

    こんにちは。フィードフォース ボドゲ部の kano-e です。 こないだ『Last Night on Earth』というアメリカB級ゾンビ映画ゲーム(オリジナルサウンドトラック付き)で遊んで楽しかったのでまた遊びたい! さて、最近 stretcher + consul を使ったアプリケーションのデプロイを tjinjin に布教1され、実際のプロダクト導入に向けてデモ用の環境で動かしています。 これまでの (capistrano を使った) デプロイとの違い stretcher や consul が何をしているか 良い点と現状の課題 について、社内勉強会で話した内容をまとめます。 これまでの capistrano でのデプロイ これまでの capistrano を使ったプロダクトのデプロイは、以下のようなフローでした cap production deploy などと実行するだけですので、

    stretcher + consul + capistrano を使ったデプロイを導入しようと思います | feedforce Engineers' blog
  • Zero Downtime Deployment With Unicorn And Capistrano - benjaminknofe.com

    Everytime we're fixing a bug or adding a new feature, we want it to go live very fast to have happy users at gigmit. Thats why we really love to deploy several times a day. While running a pretty standard Rails stack with Unicorn and handling deployments with Capistrano, we always had a few seconds when the Unicorn workers were restarted. We did this only at night, because it wasn't always sure[1]

  • Capistrano3を最後にもう一度だけ懇切丁寧にまとめてみる - そのねこが学ぶとき

    2017-08-15 追記 Googleの「Capistrano」検索順位で上位にあるためか、いまだにこの記事がたびたびブクマされるんですが、3年前の情報ですし、執筆者はRubyを専門としたプログラマーではないのでその点ご注意ください。(追記ここまで) いろいろエントリーを上げながら苦しんでいたCapistranoだが、ようやっとそこそこ落ち着いてきた気がするのでそろそろ完結編といく。Capistranoの基とかはすでにこちらのエントリーで書いたので、今回は各設定ファイルの書き方とか、その他ハマったポイントを中心に。 今回作成したファイル 以下4ファイルを作成した。 Capfile config/deploy.rb config/deploy/staging.rb lib/capistrano/tasks/unicorn.cap 基的にCapistranoを使う場合「必須」なのは上2つ

    Capistrano3を最後にもう一度だけ懇切丁寧にまとめてみる - そのねこが学ぶとき
  • Consul + Capistrano でオーケストレーションさせてみた - log.fstn

    はじめに Serfに続いてHashiCorpからConsulが発表されて、2ヶ月少々経ちました。 公式では Serf: service discovery and orchestration Consul: service discovery and configuration と言っていますが(http://www.serfdom.io/intro/vs-consul.html)、Consulも使い方によってはオーケストレーションできるかなと思って、試してみました。 ちなみに Serf や Consul の最近の動向については @zembutsu さんの記事がわかりやすいです ご注文は監視自動化ですか? SerfとConsulの記事まとめ そもそもオーケストレーションとは webサーバをproxyから追加したり抜いたり webサーバにデプロイしたり 障害が発生したサーバを撤去したり db

    Consul + Capistrano でオーケストレーションさせてみた - log.fstn
  • ニートが1週間でアイデア共有サービスをつくったときの記録 - kamiのサービス制作ログ

    こんにちは、どうしようもないニート無職の@kami30kです。 ここ最近つくっていたサービスをようやくリリースしたので、作業ログ的な記事を書いてみます。 なにをつくったか 今回つくったのは、HIRAMEKI CAFEというサービスのアイデア共有サービスです。 KPT LOG、SHOMEI DESIGNにつづいて自身3つめのサービスとなります。 サービスのアイデア共有コミュニティ HIRAMEKI CAFE 簡単に説明すると、知っている人は多い(と思う)ideamiのようなサービスです。 ぼくはこのサービスがとても好きだったのですが、最近あまり使われていないようで、とはいえサービス自体のニーズはあると思うので、今回サクッとつくってみました。 機能自体はとてもシンプルで、 Twitterで認証する アイデアを投稿する グッド(いいね!のようなもの)、コメントなどをつけてもりあがる だけのサービ

    ニートが1週間でアイデア共有サービスをつくったときの記録 - kamiのサービス制作ログ
  • rails4 での assets:precompile の高速化 - HsbtDiary(2014-05-29)

    rails4 での assets:precompile の高速化 rails4 で assets:precompile を有効にするようにしてから、デプロイ毎に precompile しているとデプロイ途中にデザインが崩れたり、そもそもデプロイ時間が5分以上かかるようになってしまってリリースの高速化も何もあったもんじゃないなーということで、技術的に解決しておいた。 rails3 の頃は turbo-sprockets とかあって、こういうのを入れれば変更されたファイルだけを precompile するので、こういう gem あるのかなあと探していたら、そもそも体に組み込まれているというのを知った http://yetimedia.tumblr.com/post/33320732456/moving-forward-with-the-rails-asset-pipeline ようは p

    rails4 での assets:precompile の高速化 - HsbtDiary(2014-05-29)
  • Capistrano 3系でRails 5.1のデプロイ[rbenv][ruby2.4]

    デプロイツールのデファクトスタンダードとなった『Capistrano3』。stagingやproductionといった複数環境へのデプロイを標準で対応していたり、bundleやmigration、pumaとの連携なども抜群です。 かなり乗り遅れてしまいましたが、最近ようやくRails 5.1をcapistrano3系でデプロイしました。ずっとHerokuやElastic Beanstalkにばっかり頼っていたのでちょこちょことハマって苦労しました。今後忘れないための忘備録メモっす! rbenv, rvmの両方に対応しました。オリジナルのcapコマンドの作り方も書きました!

    Capistrano 3系でRails 5.1のデプロイ[rbenv][ruby2.4]
  • Upgrade to Capistrano 3.0 - Qiita

    はじめに 「Capistrano のバージョンが上がったので使おうとしたら丸一日ハマっていた。」 「な… 何を言ってるのか わからねーと思うが (ry」 Table of Contents Gemfile cap install Capfile config/deploy.rb config/deploy/production.rb | staging.rb 参考文献 基的な使い方などはREADMEを読んでください。 まあ、読んでてもアレだったんですけどね。 Gemfile Capistranoはどのような言語やフレームワークからでも利用可能」by 公式サイトとのことで、もはやRailsだけのものではありません(以前からですけど)。 よって、体とは別に、プラグイン形式でGemを追加していきます。 group :development do # ... gem 'capistrano'

    Upgrade to Capistrano 3.0 - Qiita
  • Upgrading from v2.x.x

    Search Overview What is Capistrano? Getting Started The Readme, start here! Installation Structure Configuration User Input Preparing Your Application Flow Rollbacks Cold Start Version Locking Tasks Local Tasks Before / After Hooks Authentication & Authorisation Task cookbook Introduction Rails related tasks Advanced Features Console PTYs Filtering Properties Property Filtering Host filtering Role

    Nyoho
    Nyoho 2014/05/19
    Capistrano 2.x から 3.x への移行ガイド
  • https://github.com/capistrano/capistrano/blob/master/CHANGELOG.md

    https://github.com/capistrano/capistrano/blob/master/CHANGELOG.md
    Nyoho
    Nyoho 2014/05/19
    Capistrano 3.x Changelog
  • Capistrano: Managing an uploads folder — Simone Carletti

    Quite often you might want to integrate upload capabilities in your Rails application. For example, you want to provide users the ability to configure their avatar or your e-commerce needs to display an image in the product page. Creating an upload system in Rails is a piece of cake. There are tons of plugins out of there that you can install and configure in a couple of click. Here's a couple of

  • 入門 Capistrano 3 ~ 全ての手作業を生まれる前に消し去りたい | GREE Engineering

    はじめに この記事はGREE Advent Calendar 2013年の21日目です。お楽しみください! こんにちは、アゴひげがダンディーだと評判の九岡です。GREEでは、JavaScalaを布教するための土台を固めるため、デプロイや監視の仕組みづくりなどを横断的にやっています。今回はその過程で得られた知識を「Capistrano 3の入門記事」という形で共有させていただきます。 この記事ではCapistrano 3の基礎をご紹介します。Capistrano 3はRubyをベースにしたサーバ操作およびデプロイの自動化ツールです。Capistrano 3を利用することで、デプロイなどの複雑なサーバ操作を自動化することができます。ここの記事では、特にデプロイに焦点をあてながら、Capistranoでサーバ操作を自動化する考え方と実現方法をご説明していきます。 Capistrano 3の習得

    入門 Capistrano 3 ~ 全ての手作業を生まれる前に消し去りたい | GREE Engineering
  • Chef Casual Talks Vol.1で「ChefとCapistranoの境界線」について問題提起してきた #eytokyo - めもおきば

    ChefとCapistranoの境界線 (Chef Casual Talks Vol.1) #eytokyo #opschef_ja 大きく分けて二つの話をしました。 Chefを導入する時の「考え方」 Chefのような構成管理ツールは万能でやり方もたくさんある(TMTOWTDI)ので、最初にどういうポリシーで組み立てるかが重要になります。今回「気で使う」にあたり、以下のようなポリシーを設定しました。 原則サーバ上で作業せず、Chefで環境設定を実装する 公開されたcookbooksを再利用する opscode-­cookbooksにあればそれを探す communitygithubにあるcookbookを使う あきらめの心を持つ 必要ならばopscode-cookbook�sなど既存のcookbookをforkして手を入れる 半日調べて難しそうなことはあきらめる(自前Chef recip

    Chef Casual Talks Vol.1で「ChefとCapistranoの境界線」について問題提起してきた #eytokyo - めもおきば
  • RVMとCapistranoを組み合わせて使う - ひげろぐ

    デプロイ先のRubyをRVMで入れている場合、そのRubyをCapistranoが見つけてくれないのでうまくデプロイが進まない現象が起こる。 それをうまく動かすためにひと工夫。 rvm capistrano plugin Capistranoを実行するマシンとデプロイ先のマシンの両方にRVMの1.0.1以上が入っている場合は、RVMのプラグインで解決できる。これはデフォルトで入っているので特にインストールしたりする必要はない。 deploy.rbの先頭に以下のコードを追加。 set :rvm_type, :user $:.unshift(File.expand_path('./lib', ENV['rvm_path'])) require "rvm/capistrano" set :rvm_ruby_string, '1.9.2' rvm_typeはRVMをrootでインストールしている場

  • Capistrano tasks for starting unicorn

    Capistrano tasks for starting unicorn.rb P ���U � ��U set :rails_env, :production set :unicorn_binary, "/usr/bin/unicorn" set :unicorn_config, "#{current_path}/config/unicorn.rb" set :unicorn_pid, "#{current_path}/tmp/pids/unicorn.pid" namespace :deploy do task :start, :roles => :app, :except => { :no_release => true } do run "cd #{current_path} && #{try_sudo} #{unicorn_binary} -c #{unicorn_confi

    Capistrano tasks for starting unicorn
  • 1