https://rubygems.org/gems/capistrano-pending/versions/0.2.0 Capistranoのプラグイン方式がv3.7から大きく変わって:scm変数が非推奨になり、さらにv4.0からは消されるらしく、その対応のため。といってもいただいたPRの挙動を確認しただけだけど。 github.com 仕組みが変わるのはメンテする側からすると厄介だけど、見た感じフックする方法やデフォルト値の設定のタイミングなどが整備されるみたいなので良さげな感じ。あと:scmが消えるというのも、Capistrano本体はリモート実行のフレームワークという側面が強くなって正統進化してるように見受けられる。 しかし今回の対応では英語でやりとりされてるニュアンスや、Capistrano自体の挙動やらがなかなか理解できなくて戸惑うことが多かった。
背景 アカツキではRailsでゲームサーバを開発しています。インフラはAWSにあり、CloudFormation, Chef, Capistrano を用いて、Infrastructure as Code を実現しています。 エンジニアは普段ローカルマシンで開発していますが、ディレクター、レベルデザイナーなどは定義ファイルを変えた後、それを反映して動作を確認するための検証サーバ(以下、検証環境)を使っています。 検証環境へのデプロイも Capistrano で自動化しており、最初は問題が無かったのですが、ゲーム上のデータが増えることによって、一度のデプロイで10分程度かかるようになっていました。 以下、Capistrano ver.2系の話にはなりますが、検証環境のデプロイを高速化したので、その内容を紹介したいと思います。 現状分析 rsync について、capistrano_rsync_
先週、とうとう Mackerel にグラフアノテーション機能がリリースされました。 mackerel.io この機能を使えば、「デプロイ実施」とか「ミドルウェアの設定を変更」などといったオペレーションの実施の記録に加えて、「経験値2倍キャンペーン開始」「CM放映スタート」といったビジネス施策としてのイベントの投稿もできるようになります。これらのイベントの以前・以後、といったグラフの見方がしやすくなるので、これは便利!! "Mackerel オタク" を自称している身(参考)としてはスルーできないワクワク機能!ということで、早速自分のアプリケーションにも組み込んでみることにしました。 capistrano のデプロイタスクにグラフアノテーションの POST を組み込む 今回はとりあえずのお試しということで、capistrano のデプロイタスクのうち deploy:starting でデプロ
今年、稼働中のサービスであるはてなブログのデプロイ方法を新しい方式へ無事故で移行し、従来と比べて約6倍速くデプロイできるようになりました。 この記事では、安全にデプロイ方式を変えたプロセスを順を追って紹介します。 はてなブログと継続的デリバリー デプロイが遅い 複雑なデプロイ設定 デプロイのテストを書く ボトルネックの発見、そして pull 型から push 型のデプロイへ 新デプロイへの移行 結果 まとめ はてなブログと継続的デリバリー はてなブログは1日あたり平均して1.02回デプロイを行っています。これは土日を除いた週5日の営業日に対する平均です。ざっくりとした算出で、祝日は考慮していません。5月と9月の祝日を含めるともう少し多くなるかもしれません。 また、原則として休日の前日にはデプロイしないことになっています。もしもデプロイした変更にバグがあった場合、休日が明けてから対応するか、
amakanをUnicornからPumaに移行した - ✘╹◡╹✘ に引き続き、小さい改善を加えた。 変更の概要 https://amakan.net/ への今後の変更に備えて、テストやデプロイに掛かる時間を短くする恩恵が良いだろうと思い、node_modulesの管理に使うツールとしてyarnを使うことにした。結果的に、テスト用ビルドの所要時間が130秒から70秒に、デプロイ用ビルドの所要時間が300秒から200秒になった。 CircleCIの設定変更 継続的なテストとデプロイ作業の実行のために、amakanではCircle CIを利用している。Circle CIを使っている理由は、仕事でも使っている上にPrivateでも無料だから。 yarnを利用するためにCircle CIに追加する必要があった設定は、以下の通り。 指定したバージョンのyarnが入っていない場合はインストールする グ
Capistrano3.5.0以降ではデフォルトでログがターミナルの横幅いっぱいまでしか表示されない 新しいrailsアプリケーションを作成していつも通りCapistranoさんをインストール。バージョンは3.5.0になったみたいです。 そしてもろもろ設定していつも通りbundle exec cap staging deploy! そしてしばらく様子を見ているとなんとなくログがオシャレになった気が。そしてbundler:installタスクに入ったその時! ・・・ 00:12 bundler:install 01 RBENV_ROOT=/usr/local/rbenv RBENV_VERSION=2.3.0 /usr/local/rbenv/bin/rbenv exec bundle insta… ✔ 01 hoge@123.123.123.123 0.986s ・・・ 実行コマンドが途中
もっとシンプルにできるやり方があれば教えてくださいませ! chefを動かしているCapistranoのログをよしなにする必要があり 標準出力とファイル出力の両方に出力することはできないかなと悪戦苦闘した記録になります。 - 参考 capturing output to log file require 'capistrano' require 'capistrano/logger' output = '/var/log/capistrano.log' custom_logger = Capistrano::Logger.new(:output => output) custom_logger.level = Capistrano::Logger::TRACE self.logger = custom_logger まず、こちらの設定で標準出力は行わず、ファイル出力されることを確認。 では合
こんにちは! ヌリカエ / 開発基盤エンジニアの @selmertsx です。 chatopsを導入しているチームで、chatops使える人と見れるだけの人を分けたいってことありますよね。 今回はそのための機能をご用意しました。 その機能を SpeeeKaigiで話したところ、ぎりぎり3位入賞をもらえましたので、 今回はそのお話をしたいと思います。 SpeeeKaigi自体については、こちらを御覧ください。 tech.speee.jp トークテーマ Rubotyで認可認証 & Deploy機能を作った話 キーワード chatops ruboty 認可認証 deploy 発表スライド 作成した gemはこちら。 https://github.com/selmertsx/ruboty-capistrano https://github.com/selmertsx/ruboty-authoriz
Joumae(錠前)というサーバレスの分散ロックサービスをOSSとして公開したので、ご紹介させていただきます AWS LambdaとAPI Gateway、DynamoDB、JAWSフレームワークなどを利用していて、小規模な社内利用であれば月々数十円で運用できます。 Webアプリ(joumae-users、joumae-resources) クライアント(joumae-ruby) Joumaeとは Joumaeはサーバレスの分散ロックサービス(Distributed Locking Service, Distributed Lock Manager)です。 任意のシェルコマンドや、プログラム中の任意のコードブロックを、クラスタ全体で排他的に実行するために使うことが出来ます。 Joumaeの利用例 例えば、クラウドワークスではデプロイロックのために活用しています。 アプリとインフラのBlue
今日から使い始めるChef 2013-03-29 Xtone Ltd. ピザ会�(without pizza><) Aki / @nekoruri
Ruby on Railsで githubなどにcommitしたくないパスワードなどを環境変数に設定してcapistranoでdeployする方法RubyRailsCapistranodeploy やりたい事 パスワードとかSECRET_KEY_BASEとか、環境変数に設定するのがオススメの方法なのでそれに従う。 ローカルサーバーであれば、ログインしているシェルで環境変数を設定しておけば良いが、capistranoでdeployする場合でも環境変数にうまく設定しておきたい。 もうちょっと追加要件 sshでサーバーにログインした場合でも、環境変数が設定されていてほしい。アプリケーション側で問題が発生した時にサーバー上でrailsの再起動などの作業を行う可能性があるので。 将来的にrails以外のアプリケーションも動くかもしれないので、gemに依存した作りにしたくない。 実装 ①環境変数を記載
最近CircleCIもprivate repoのビルドが無料になった。(1コンテナまで) せっかくなので使ってみようということで、 Railsアプリのビルド実行に使うサービスをwerckerから乗り換えてみた。その設定などのメモ。 Continuous Integration and Deployment on CircleCI just got better: now it’s free. | The Circle Blog 設定ファイル 他のCIサービスと同じく、基本的にRailsプロジェクトのルートディレクトリに置いたyamlファイル(circle.yml)に記述していく。 設定については、ドキュメント見れば詳しく書いている。 Configuring CircleCI - CircleCI 凝ったことをする必要がなければ、そんなに設定をいっぱい書かずともビルドとデプロイができる印象。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く