タグ

capistranoに関するamari3のブックマーク (30)

  • capistrano-pendingというgemを作った - There's an echo in my head

    http://rubygems.org/gems/capistrano-pending Capistrano 2で使えていたdeploy:pendingというコミットの差分ログを表示するレシピが3になってから使えなくなっていたので、同じ動作をするものを作った。 Capistranoは3.2.0以上が必要。このバージョンからrevision.logだけでなく、各リリースディレクトリにREVISIONファイルを作ってくれるようになったので、このファイルを見てローカルで比較してる。 今のところgitにのみ対応してる。他SCMへの対応PRお待ちしております。 https://github.com/a2ikm/capistrano-pending

    capistrano-pendingというgemを作った - There's an echo in my head
  • デプロイツールCapistranoいいよー - webネタ

    正月だし書き溜めてある記事を除々に投下していく(。´ω`。) デプロイについて 開発環境で作ったものを番環境にUPするときデプロイとか言いますが、色々な方法があります。 優劣的には、WinSCP <<< rsync <<<<<<<<<<<<<<<<< Capistrano です。 rsyncだけとかもうツライです。 Capistranoのインストール 簡単インストール sudo gem update --system sudo gem install capistrano sudo gem install capistrano_colors sudo gem install capistrano-ext sudo gem install capistrano_rsync_with_remote_cache デプロイ先の設定ファイルを生成 mkdir ~/deploy cd ~/deplo

    デプロイツールCapistranoいいよー - webネタ
  • AWS + Capistrano + PHP + Opcache でデプロイが反映されない - pospomeのプログラミング日記

    AWSの問題かな? と思ったが違った。 以下によるとPHPのOpcacheはシンボリックリンクの切り替えではクリアされないっぽい。 http://kohkimakimoto.hatenablog.com/entry/2014/09/13/154342 なので、Capistranoでデプロイすると 「ソースコードは変更されているはずなのに前と挙動が変わらない」 という現象が発生する。 どうすればいーのか? 結論から言うと、Capistranoでデプロイ後に php-fpm を reload するタスクを deploy.rb に追加しました。 namespace :deploy do # ここが追加した部分 desc "clear opcache" task :clear_opcache do on roles(:web) do execute "/etc/init.d/php-fpm rel

    AWS + Capistrano + PHP + Opcache でデプロイが反映されない - pospomeのプログラミング日記
  • CakePHPのプロジェクトをcapistranoでデプロイ | 江島@システム開発

    capistranoはRuby On Rails用に作られたデプロイツールで、 設定をすればPHPプロジェクトにも利用できる。 デプロイを自動化できるため、最初の設定さえしておけば後が楽。 ツールのインストールはデプロイをする端末だけにすれば良く、 各サーバーには特に何もする必要はなし。 複数サーバーに対して一気にデプロイすることもできるので 同じソースを複数のサービスに使っている場合などには便利。 準備 Rubyで作られているツールなので gemでインストール。 $ gem install -y capistrano プロジェクトごとに適用 $ cd {project_path} $ capify . これで {project_path}/Capistrano {Project_path}/config/deploy.rb が作成される。deploy.rbが設定ファイルなので これを自

  • CapistranoでCakePHPのデプロイ時にはまったこと - Qiita

    常識かもしれませんが、はまったので書きます。 TL;DR Capistranoを使用したCakePHPのデプロイ時には キャッシュを削除 webサーバを再起動 したほうが良さげ? 前提 CakePHP 2.4.10 引継ぎ案件、運用中 訳あってファイルキャッシュ もろもろサーバ数は6+α。やってられないのでcap3導入 微妙なディレクトリ構成 AWS ELB使用 DocumentRootは、/var/www/html デプロイ先は、/home/cap 以下のようなシンボリックリンクを貼って対応 /var/www/html/cake -> /home/cap/current/path/to/app 問題1 デプロイ直後にPHP Fatal error: Class 'XXX' not found in ... app/tmp/cache/persistent/xxx_cake_core_fi

    CapistranoでCakePHPのデプロイ時にはまったこと - Qiita
  • [Capistrano] Gitのブランチ名を指定してアプリケーションを配備する | CreativeStyle

    Capistranoを使ってStaging環境にRailsアプリケーションを配備するときに、普段はmasterブランチでいいんだけど、状況によっては特定のブランチを配備して検証したい、なんて状況ありますよね。 Capistranoの設定ファイルで、配備対象のGitのブランチ名を指定するには以下のように書けばいいのですが、これだと常に同じブランチ(例だとmasterブランチ)が配備されてしまいます。

    [Capistrano] Gitのブランチ名を指定してアプリケーションを配備する | CreativeStyle
  • 結局Node.jsアプリケーションのデプロイはどうすればいいの? - Qiita

    node.js アプリケーションのデプロイをする時の選択肢が あまりにもありすぎて、結局どうすればいいのよ?ってなったので、 いったん基礎からまとめてみます。 デプロイとは何か? アプリケーションのデプロイは大きく2つのフェーズに分かれます。 ファイルを所定の場所に置く 置かれたファイルの再ローディング 文章にするならば『ファイルを各サーバーの所定の場所におき、それらのファイルを再度ロードをする。』になると思います。 Webアプリケーションの場合 ファイルを所定の場所に置く前にテストを走らせたり 置いた後に静的ファイルを生成したりと、この2つの前後にはもっと色々なフェーズがありますが、 デプロイのタスクは、大きく分けてこの2つになります。 ファイルを所定の場所に置く サーバーにファイルを置く作業は、以下のような方法があります。 FTP tar などで圧縮scpで転送して解凍 rsync g

    結局Node.jsアプリケーションのデプロイはどうすればいいの? - Qiita
  • capistrano2でcapistrano_rsync_with_remote_cacheを使ってみる - Qiita

    問題:ssh_optionsがサポートされていない 問題の内容 使ってみるとrsyncのオプションでuserとportしか使われず、ssh_optionsが設定されない(該当コード) 例えばsshの鍵認証したいからと思ってssh_optionsを設定しても反映されずにrsyncが失敗する 対処方法1 .ssh/configあたりで対象サーバーの設定を書いておく => でも、動的にサーバーが変更になる場合に面倒くさい、外部環境に依存するのも嫌な感じ 対処方法2【今回採用】 githubリポジトリをforkしてきて修正(修正したリポジトリ) オリジナルリポジトリは3年前くらいから更新されておらず、pull requestも受け入れられていない感じなので 修正内容1:bundlerでgithubからinstallできるように 修正内容2:ssh_optionsを利用するように(そんなに良い修正で

    capistrano2でcapistrano_rsync_with_remote_cacheを使ってみる - Qiita
  • Capistranoのdeploy.rbを今更よんでみて、タスクの挙動をまとめてみた(その1) - massの日記

    最近はデプロイもツールを使って一発になったけど、タスクの挙動をよく忘れてしまうので、備忘録をつけてみた。 フレームワーク:RubyOnRails バージョン:3.1.0 デプロイツール:Capistrano バージョン:2.9.0 書き方の例 $ 実際に打つコマンド # 内部処理 稼働しているサービスにリリース作業=デプロイを行う。 deployのDefaultのタスクはソースの更新と再起動。起動していることが前提。 $ cap deploy # update # restart 新規に追加したサーバに初期ディレクトリを作成する。 Capistrano用のディレクトリの作成。既存のサーバには影響がない(既にディレクトリが存在する場合はなにもしない)ので、新規にアプリケーションサーバを1台追加した時などは、まずこのコマンドをたたく。 $ cap deploy:setup # setup_di

    Capistranoのdeploy.rbを今更よんでみて、タスクの挙動をまとめてみた(その1) - massの日記
  • Capistranoでデプロイ環境を構築する

    今までずっと使わず嫌いだったCapistranoをやっと使ってみようと思う。 やりたい事はこんな感じ テスト環境で開発したソースをSVNにコミットする ステージ環境にて、テスト環境でコミットされたソースをアップデートで取得 デプロイ後の公開環境と、現在の公開環境の修正差分をrsyncで確認し、修正差分を取得する 3.で作成したデータを元に、修正差分のみデプロイする ※前提として、同じサーバ内にステージ環境と公開環境があるものとする ※修正差分のみデプロイの部分は、rsyncで実現してみる とりあえずCapistranoをインストールしなきゃ始まらない。 $ gem install -y capistrano $ cap --version Capistrano v2.12.0 こんな感じでバージョンが帰ってきたらインストール完了。 通常だと、次にはcapifyコマンドでCapfileとde

  • Capistranoを使ってRails以外のアプリケーションをデプロイ。 - Develop with pleasure!

    CapistranoはRailsのデプロイツールとしてメジャーだけど、Rails以外のアプリケーションのデプロイもできる。 ただ、デフォルトの設定のままだと、デプロイ時に、ログファイルやPIDファイルの格納先へシンボリックリンクをはったり、publicフォルダ以下のimages、javascripts、stylesheetsフォルダに格納されてるリソースファイルに対しtouchコマンドを実行する。 Railsだと構成上、↑の処理をしてくれて便利だけど、Rails以外のアプリケーションでは↑のような構成も無いので、デプロイの途中でエラーになる。 そんなRails以外のアプリケーションでCapistranoを使う場合、↓のサイトで紹介されてるように、deploy.rb内で、該当するCapistranoのタスクをオーバーライドする必要がある。 CapistranoをRails以外で使う方法 -

    Capistranoを使ってRails以外のアプリケーションをデプロイ。 - Develop with pleasure!
  • Capistranoでデプロイする | kenkennote

    PHPアプリケーションのデプロイ自動化にCapistranoというツールを使ってみて、相当便利だったのでメモがてら書いておく。 Capistrano(これを書いてる時点での最新バージョンは2.12.0)はRubyベースのデプロイ自動化ツールで、RoR用に最適化されているものの設定ファイルをちょろっと工夫すれば色んな形式のアプリケーションに応用できる。おおまかな動きとしてはこちらで図示されているようにデプロイ元でSCMからソースを取得しSCPでデプロイ先にコピーするか、もしくはデプロイ先にSSHログインしてからSCMからソースを取得するか、みたいな感じになる。(deploy_viaで何を指定するかで変わってくる) ツールの特長としては大体以下のような感じかなぁと思う。 コマンド一発でデプロイできるようになる 既存のタスクの中身を変えたり、タスクの前後に処理を追加したりが簡単にできる 複数台の

  • Capistranoでローカルリポジトリからソースを取得する。 - Develop with pleasure!

    Capistranoを利用してデプロイを行う場合、デフォルトの設定では、デプロイ先のサーバからモジュールを取得するためにソースが管理されているリポジトリにアクセスする。 ただ、ソースを管理しているリポジトリは社内にあって、デプロイ先のサーバからは直接アクセスできな環境というのが結構多いと思う。 そうったケースの場合は、deploy.rbの設定を以下のように設定する必要がある。 # リポジトリのソースをCapistranoを実行するマシンに取得→圧縮→デプロイ→解凍→配置する。 set :deploy_via, :copy # ↑でリポジトリからソースを取得する際にエクスポートするように設定。(デフォルトはエクスポートではなく、チェックアウト) set :copy_strategy, :export # 圧縮ファイルのタイプを指定。(デフォルトは、tar.gz) set :copy_comp

    Capistranoでローカルリポジトリからソースを取得する。 - Develop with pleasure!
  • Capistrano + rsync で省エネデプロイ - 肉とビールとパンケーキ by @sotarok

    こんにちは。 タイトルの通りなんですが、Capistrano みんなつかってるよねー。 ってことで独自のデプロイシステムをもってなくてさすがにFTPでUPはしてませんって人は結構使ってるもんだと思ってるんですけど、Capistrano ってなんかデフォルト各サーバで vcs の update 的なことをするか、ローカルにソースツリーを用意してやる場合に使えるのは scp で、なんかエコじゃないよねと言う話で、いちいちソースツリー全部配布されてたら転送量も時間もかかってしょうがないので、まーrsyncがいいんだよね、ということで、そんな時は capistrano_rsync_with_remote_cache (なげえよ) を使えばいいよね!ってお話です。 *1 luisparravicini/capistrano_rsync_with_remote_cache · GitHub このご時世

    Capistrano + rsync で省エネデプロイ - 肉とビールとパンケーキ by @sotarok
  • Capistrano is dead - use Mina - weluse GmbH - Blog

    Up until lately I was happy using Capistrano for my deployments. But then I noticed the following: Capistrano was utilizing 70 % of a physical CPU core when deploying on the go. I'm on a dual core system so this impacts my Mac Book Pros overall performance, battery life and it kept me waiting for a long long time. My iPhone was at edge speed so I figured Capistrano spent most of the time waiting f

  • capistrano + chef-soloで構成管理する - Kentaro Kuribayashi's blog

    問題 VMをぽこぽこ作りながらあれこれツールを入れて試してみたりしたいという時に、chefを使って構成管理はしたいけど、chef-serverを入れるのは面倒、というか、構成パッケージの記述・インストールだけできればいいという要求からするとオーバスペックなように感じるのだし、また、ホストの管理にはcapistranoを使っているので、cap実行側のみで処理が完結する方がよいという場合もあろうかと思う。 前提 デプロイ先ホストには、公開鍵認証でログインできるものとする(capを使うので) デプロイ先ホストでは、既にgit, chef-soloが使える状態であるものとする(そこまではなんらかの方法でがんばる) 解決案 そこで、chef-soloという、chef-serverなし、スタンドアロンにレシピの実行を行うコマンドをcapで実行するようにしてみる方法を試してみた。例として、GrowthF

    capistrano + chef-soloで構成管理する - Kentaro Kuribayashi's blog
  • Webistrano はもっと評価されてもいいと思うので、紹介します « blog.udzura.jp

    業務でも便利に使わせていただいております、 Webistrano 、言ってみれば capistrano の web UI なんですけれど、大変有用なので、ちょこっと紹介します。 What’s good Webistrano は、リモートサーバーへのデプロイを大変簡単にしてくれる capistrano と言うコマンドラインツールを、ウェブアプリケーションでラップしたものです。 やれることは素の capistrano と同じなんですが、ブラウザベースアプリケーションになることで以下のようなメリットが生まれます。 ブラウザベースなので、 CUI に抵抗がある人でも簡単にデプロイできる (CUIをいつまで経っても覚えてくれない人っていますよね~…) テスト、ステージング、番、などで別々の設定を保存できる (Highline などを使ってインタラクティブに尋ねる必要なし) プロジェクトをまたい

  • Capistrano を Rails 以外で使う設定。 - こせきの技術日記

    Page not found · GitHub Pages Rails と関係ないプロジェクトで Capistrano を使うための設定を作成した。 最小限の設定 SSHでリモートを操作するための、単純な設定の例。ファイル名は Capfile 。 # sshユーザ名 set :user, "username" # サーバをroleでまとめる role :abc, "server1.example.com", "user@server2.example.com" role :xyz, "server3.example.com" # 全roleで実行。 task :ls do run "ls" end # 特定のroleで実行。 task :myname, :roles => [:xyz] do run "echo " + user end サーバが1つだけならroleは1つでよい。 1行目の

    Capistrano を Rails 以外で使う設定。 - こせきの技術日記
  • CapistranoをRails以外で使う方法 - jesterseraの日記

    CapistranoはRailsと非常に親和性高いんですが、他の言語でも使えます。 例としてEthnaのプロジェクトを capistranize してみます。 1.Ethnaのプロジェクト作成 $ ethna.sh add-project test creating directory (/path/to/project/test) [y/n]: y 2.Rails環境の適用 $ rails rails-tmp $ cp rails-tmp/Rakefile test $ cp -a rails-tmp/config test $ cp rails-tmp/db db $ cp -a rails-tmp/test test $ cp -a rails-tmp/lib/* test/lib $ cp rails-tmp/vendor test/vendorこれでRails環境が動作するように

    CapistranoをRails以外で使う方法 - jesterseraの日記
  • つくるぶガイドブログ: capistrano で本番環境にデプロイ

    Ruby(とRails)を担当している石原です。 ソーシャル「OSを入れた後にインストールする10のアプリケーション」(仮) を作る過程をレポートしています。 これまでのエントリーはこちら ↓ つくるぶガイドブログ: Ruby on Rails を使ってひとりでサービスを作ってみよう つくるぶガイドブログ: ひとりサービスの雛型をつくる(リキッドレイアウト、GetText、Acts as Authenticated) つくるぶガイドブログ: Rails で楽々ソーシャルブックマークの仕組みを作る つくるぶガイドブログ: Rails プラグイン acts_as_taggable_redux でタグクラウドを作ろう つくるぶガイドブログ: ドラッグアンドドロップで並べ替え(Rails + Ajax) つくるぶガイドブログ: Rails + rcov でテストカバレッジを調べる まだ開発途中では