問題タブ [sshkit]

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.

0 投票する
2 に答える
3394 参照

nginx - capistrano 3 タスク内での ruby​​ 関数の宣言と使用

ここで説明したのと同じ問題があります。

別のカピストラーノのタスク内でカピストラーノのタスクを呼び出す方法は?

ただし、Capistrano v3.0.1 および sshkit 1.0 にロールバックするという回避策はうまくいきません。

このチュートリアルを使用して、lib/capistrano/ に保存されている .rb ファイルに宣言された関数を使用する lib/capistrano/tasks でカスタム タスクを宣言しました。

キャップファイル:

deploy.rb

config/staging.rb

lib/capistrano/tasks/setup_config.cap

lib/capistrano/template.rb

Gemfile

Gemfile.lock

bundle exec cap staging deploy:setup_config を実行すると

私はこの出力を得る:

capistrano v3.0.1 と sshkit v1.0 を使用しても問題が解決しないようです。deploy:setup_config タスクは、lib/capistrano/template.rb で定義されている関数 smart_template を呼び出そうとしていますが、出力は関数が見つからないことを示しています。これを適切に機能させる方法がわかりません。この問題に対処するためのアドバイスは大歓迎です。また、nginx と unicorn の構成ファイルと実行可能ファイルを作成するためのより良い方法が存在する場合は、それについて聞きたいです。

編集

rubygems の sshkit gem にまだバグが含まれているのではないかと疑った後、追加しました。

Capfile に追加し、ローカルの gemset を再構築しました。ただし、これは問題に対処していないため、他の場所を探すように指示されました。そこから、問題が Capfile の次の行で定義された ruby​​ ファイルのインポートに関連していると診断できました。

行をコメントアウトして、次のように置き換えました。

関数は deploy:setup_config タスクによって適切に呼び出されるようになりました。作業中の gem セットをエクスポートし、sshkit を使用して ruby​​ gem から新しい gemset を作成しました。上記の require_relative 行により、rubygems の sshkit gem は正常に機能しました。したがって、問題は、使用しているソース (git または ruby​​gems) に関係なく、sshkit のバグではありませんでしたが、cap タスクが呼び出していた関数を含む ruby​​ ファイルのインポートに関するものでした。

0 投票する
1 に答える
4059 参照

ruby-on-rails - Rails 4、Capistrano 3 が bundle exec rake assets:precompile 中に失敗し、rake stdout: Nothing を返します

rake assets:precompile 中に Capistrano を使用したデプロイが失敗する:

プロンプトに次のエラーが表示されます。

ここに私のdebloy.rb

この問題の詳細については、この Gist を参照してください: https://gist.github.com/richardsondx/10092890 production.rb で言及した環境が、rake タスクで言及されていないことに気付きました。コマンドのプレフィックスを RAILS_ENV=production で上書きすると役立つ場合があります

タスクを次のように上書きしようとしました:

しかし、それはそれを上書きしませんでした。

0 投票する
1 に答える
1026 参照

ruby-on-rails - Capistrano : NoMethodError: 未定義のメソッド `recv' for #

Capistrano (> 3) でのこのエラーにより、Rails アプリケーションをデプロイできません。私の Capistrano 設定は、別の環境で正常に動作します。

リモートサーバーに接続するためにプロキシを使用しています(両方の環境で)。SSH 接続は完全に機能しています。

誰もこの問題を経験したことがありますか?

回避策

エラーについての私の弱い理解は、ssh ネゴシエーションの後、時々 net-ssh に返されたソケットが予期しないファイル記述子であるということです。私が追加しました:

ssh接続が一度だけ確立されるように、私のGemfileに。

関連する構成は次のとおりです。

この方法でうまくいきます。プルリクエストがマージされるのが待ちきれません。

0 投票する
1 に答える
1168 参照

ruby-on-rails - Cap が SSHKit エラーを中止しました

カピストラーノを使用して Rails アプリをデプロイしようとしていますが、コマンドの後に次のエラーが表示されます。

出力:

明確にするために、秘密にするために実際のサーバー名を「appname」に置き換えました;)アドバイスをありがとう!それが簡単な修正であることを願っています。エラーについても調査を続けます。

0 投票する
0 に答える
332 参照

capistrano3 - "on roles(:web)" を使用すると Capistrano 3 がフィルタリングしないのはなぜですか?

これが私の Capistrano と Rake に関する単なる誤解なのかどうかはわかりませんが、Capistrano 3 のセットアップ ページ (www.capistranorb.com) を参照し、いくつかの手順で、サーバーと:check_write_permissionsの基本的なタスクを実行する方法。

私の問題は、次のサーバー設定を使用してサーバーでサンプル コードを実行しようとすると、予期しない結果が発生することです。

config/deploy/production.rbファイルを次のように設定しています。

次に、 lib/capistrano/tasks/access_check.rakeに :check_write_permissions タスクを作成しました。「on roles(:all)」に小さな変更を加えたので、代わりに「on roles(:web)」になります。

タスクを実行すると:

また

... :web ロールを持つサーバーに対してのみ :check_write_permissions コードを実行することを期待しています。代わりに、私の出力は、:db サーバーも :check_write_permissions タスクに対して実行されていることを示しています。データベース サーバーにデプロイ ディレクトリがないため、例外がスローされます。

実行するコマンドで ROLE フィルターを使用してタスクを実行すると、次のようになります。

これは期待どおりに機能します。Web サーバーのみがそれに対してタスクを実行することがわかります。

この背後にある理由は何ですか? Capistrano 3.2.1 コードを少し調べましたが、これがわかりません。たぶん、これはロール(...) がどのように機能するかについての私の誤解にすぎませんが、私には理解できません。

0 投票する
1 に答える
475 参照

ruby - capistrano 3 純粋な ruby​​ エラー -- タスク ':check' のビルド方法がわからない

Rubyスクリプトのドキュメントでカピストラーノをフォローしました。

私のファイル:

カピストラーノ版:

ルビーバージョン:

ルビースクリプト:

実行:

よくわかりませんが、名前空間が欠落しているようです -- Don't know how to build task ':check'-- どこにある':check'はずですか'deploy:check'.

アップデート:

scm変数を設定する必要があるようです。

追加set :scm, "deploy"して続行しますが、失敗します

エラーの内容と修正方法を教えてください。

ありがとう。

0 投票する
1 に答える
884 参照

npm - Capistrano 3 役に立たないエラー メッセージ

capistrano タスクを介して実行したときに、このコマンドの何が問題なのかを理解しようとしています。サーバー上で直接実行すると、正常に実行されます。

あまり役に立たないエラー

カピストラーノを介して実行されているリモートタスクに対して、役立つエラーメッセージまたは何かを有効にする方法はありますか?

0 投票する
1 に答える
286 参照

capistrano3 - カピストラーノ 3 / SSHKit.config.umask が機能しない

構成されたテストコマンドを実行しようとしていSSHKit.config.umaskます:

deploy.rb:

deploy.rake

hello.txtパーミッションなしで構成することを期待していますが、次のように表示されます。

-rw-rw-r-- 1 deploy deploy 0 Apr 9 15:40 hello.txt

私は何を間違っていますか?