問題タブ [webistrano]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - 必要な場合にのみdeploy:cleanupを自動的に実行するCapistranoレシピ
capistrano(実際にはwebistrano)を使用して1日に20を超えるデプロイメントを実行しますが、サーバーのディスク領域が古いデプロイメントフォルダーでいっぱいになるという問題があります。
時々、deploy:cleanup
タスクを実行してすべてのデプロイメントをクリーンアップします(最後のデプロイメントを保持し:keep_releases
、現在は30に設定されています)。クリーンアップを自動化したいのですが。
1つの解決策は、レシピに次を追加して、展開のたびにクリーンアップを自動的に実行することです。
ただし、すべての展開後にこれを実行するのではなく、以前の展開の数がしきい値(70など)に達したときにのみ制限したいと思います。これを実行する方法を知っている人はいますか?
考え:
- Capistranoは、以前の展開の数を保持する変数を提供しますか?
- そうでない場合、誰かがそれを計算する方法を知っていますか?すなわち
set :num_releases, <what-can-I-put-here-to-count-previous-deployments>
- そうでない場合、誰かがそれを計算する方法を知っていますか?すなわち
- 最小しきい値を使用するようにポン引きする方法はあり
deploy:cleanup
ますか?つまり、< :max_releases
以前の展開の場合は終了します(はと:max_releases
は異なり:keep_releases
ます)。 except
キーワードを使用できますか?つまり、のようなもの:except => { :num_releases < 70}
です。
ruby-on-rails - webistrano ssh-agent
独自の秘密鍵と公開鍵のペアでデプロイする Webistrano セットアップがあります。戦略の単純さを利用し:remote_cache
たいのですが、秘密鍵を展開サーバーにコピーしたくありません。
長い間、これらのタスクを設定しました:
これbefore :deploy
は途中でうまくいくようですが、問題はほとんどありません。
- デプロイ後 (およびデプロイの失敗後) にエージェントを停止する必要があります。
ssh:stop_agent
タスクをフックできるコールバックはありますか? - リポジトリ 'git@git.eenet.ee:base/mms.git' の 'master' のリビジョンを解決できませんというエラー
deploy:update_code
でタスクが失敗します
誰でもこれに光を当てることができますか?
drupal - Drupal Sites データベースの最適な展開ツールとベスト プラクティスは何ですか
drupal 7 に基づく情報/ニュース中心の Web サイトの開発チームを支援するよう依頼されました。これは、ステージングから本番環境への展開を自動化することを目的としています。現在、すべてが手動で行われており、多くのミスが発生しているため、正式な立ち上げが遅れています。ウェブサイトの。zend フレームワークまたは symfony で開発された PHP アプリケーションをデプロイするための phing などのツールに精通しており、Capistrano についての知識はほとんどありません。
あちこちでいくつかの調査を行った結果、特定のツールを見つけました。これらのツールを組み合わせることで、自動展開に適した式になる可能性があります。
- ドラシュ + カピストラーノ
- 片頭痛
発売日が非常に近いため、最初にベストプラクティスを探しています.drupalのDBに保存されているファイルと設定の両方の展開を自動化するには、カピストラーノ/drushを本当に習得するまでに時間がかかると思われるため、後で実装するためのツールを探しています.
ruby - レーキが中止されました! Bundler は、gem "bundler" の互換性のあるバージョンを見つけることができませんでした
Bundler 1.1.1 は rake と互換性がないようです。
何が起こっているのかわかりません。webistrano をインストールしようとしていて、次のコマンドを実行したときに
私が得た:
レーキが中止されました! Bundler は、gem "bundler" の互換性のあるバージョンを見つけることができませんでした:
Gemfile で:
現在のバンドラーのバージョン:
この Gemfile には、別のバージョンの Bundler が必要です。`gem install bundler` を実行して Bundler を更新する必要があるのではないでしょうか?
ここからどうすればいいのか本当にわかりません.2週間ほど前にルビーを手に入れたばかりで、さまざまなgemのすべてと、それらがどのように機能するかについてあまり詳しくありません.
他の情報
ありがとうございました。
capistrano - Webistrano でリモート ファイルを取得する
いくつかのリモート ファイルをまとめて、Webistrano ユーザーがこれらのファイルを自分のマシンにダウンロードできるようにするタスクが必要です。
Capistrano には、sftp または scp 転送を実行するDSL Download/Getがあります。これは webistrano で動作しますが、Webistrano サーバーにのみダウンロードします。
この時点から、このファイルをユーザーに提供するにはどうすればよいですか?
ruby-on-rails - ウェブストラノの代替品?
Railsデプロイメント用の自動化されたリモートデプロイメントシステムを探しています。Webistrano に代わる良いものはありますか。最初に試してみて、要件に最も適したものを選択したいと考えています。
ruby-on-rails - Webistrano のインストール時に "actionmailer":String の未定義のメソッド `name' を取得する
Webistrano で RAKE を実行しようとすると、次のエラーが発生します。
私は Ruby と RoR に精通していませんが、以前に多くのアプリケーションをインストールして遊んだことがありますが、問題が何であるかがわかりません。
私が実行しているコマンドは次のとおりです。
以下を生成します。
この問題と同様の問題を将来的に診断して修正するための最良の方法を知りたいです。
ruby -v を実行すると、次のようになります。
rvm - バンドラーのインストールに関する権限の問題
Rails アプリケーションの cap/deploy スクリプトに取り組んでいます。私のサーバーでは、RVM を使用して Ruby のインストールを管理しています。
私が見ている問題は、ランナー/ユーザー/グループを正しいユーザーに設定したにもかかわらず、gem をインストールしようとするとパーミッション エラーが発生することです。
これは私が見ているエラーです:
これは私のエクスポートキャップファイルです:
ruby - Webistrano - Phusion Passenger - レーキが見つかりませんでした
Webistrano でのデプロイ タスクの実行に問題があります。これは、Phusion Passenger を使用して Nginx から Webistrano を実行した場合のみです。
次のコマンドで Webistano を実行すると、すべて正常に動作します。
ruby スクリプト/サーバー -d -p 3000 -e プロダクション
しかし、Phusion Passenger (「passenger-install-nginx-module」でコンパイル) から実行し、デプロイを実行したい (アプリケーションが実行されている) と、ログに次のエラーが表示されます。
私のバンドルジェムリスト:
これは私の nginx.conf にあります:
そして、私の特定のサーバー構成:
これを Webrick で実行すると正常に動作するのに、nginx 経由のパッセンジャーでは動作しないのは奇妙です。私は Ruby にあまり興味がなく、どこから調べればよいのかよくわかりません。
rvm ではなく、ソースから ruby をインストールします。
前もって感謝します!
編集:
エラーは次の行から発生します。
ruby script/runner -e production ' deployment = Deployment.find(1085); Webistrano::Deployer.new(デプロイ).invoke_task! '
コマンドラインから実行するとアスペクトとして機能しますが、nginx/passenger を介してアプリ内から実行すると機能しません。
ruby - Debiansqueeze64ビットへのWebistranoのインストール
現在、新しくインストールしたdebian squeeze 64ビットにWebistranoをインストールしようとしていますが、解決できない問題に直面しています。
注:マシンはXen環境で作成されているため、手順に影響はないと思いますが、言及することが重要であるように思われます。
手順:
情報:
- Rubyバージョン:
ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux]
- Railsバージョン: `Rails 2.3.11
- パス修飾子:
/usr/lib/ruby/1.8:/var/lib/gems/1.8/bin
- Rails env:開発
- データベースが作成されました
- webistranoのデータベース設定は正しいと思います(user / pass / path_to_sock_file)
だから、これが私がしたことです:
私は最初にそのようなインストールのために「基本」パッケージをインストールしました:
次に、プロジェクトをダウンロードして/ usr/srcに抽出しました。電子メール/データベース設定用のファイルをコピーして構成した後(https://github.com/peritor/webistranoで提案されているように)、プロジェクトに必要なすべてのgemをインストールし続けました。
この時点で、コマンドはスタックし、1時間何もしていません。
Gemfileが複雑な場合に発生する可能性があることはわかっていますが、私には当てはまらないようです。(以下のGemfileを参照してください)
それで、先に進むことに決めたので、私は宝石を手でインストールしました。
したがって、実行しなくてもすべてが機能するはずだと思います。bundle install
これが、私がついにrakeを使用してデータベースの構造を作成しようとした理由です。
レーキのエラーメッセージによると、いくつかの宝石が正しくインストールされていないようです。これは奇妙に思えますが、彼はそれを見つけることができないと思います。
だから私はバンドルツールで再確認します:
そして、私はここで立ち往生しています、私はただ続行する方法がわかりません。私はモカやgemfileの問題についてグーグルで検索しましたが、あまり関連性がありません。
これが私の最初の投稿なので、すべてが明確で理解しやすいことを願っています。
返信/ヒントをありがとう、また私がなんとか進化することができれば、私はあなたを最新の状態に保つように努めます!