タグ付けされた質問 「capistrano」

15
推奨されるphp配備戦略は何ですか?[閉まっている]
現在のところ、この質問は、Q&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 私はPHPで新しいプロジェクトを始めており、他の開発者から、PHPのデプロイメントの好ましい戦略についてフィードバックを得たいと思っています。少し自動化して、変更がコミットされるとすぐに開発サーバーまたは本番サーバーに移行できるようにしたいと思っています。 CapistranoとRubyの基本的なシェルスクリプトを使用したデプロイメントの経験があります。 自分で最初に飛び込む前に、プロジェクトで他の人がこれにどのように取り組んでいるのかを聞くのは素晴らしいことです。 さらに詳しい情報 現在、開発者はサイトのローカルインストールに取り組み、変更をsubversionリポジトリにコミットしています。タグ付けされたリリースをsvnからエクスポートし、それをサーバーにアップロードすることにより、最初のデプロイメントが行われます。 追加の変更は、通常、変更されたファイルを手動でアップロードすることにより段階的に行われます。

4
カピストラーノ-古いリリースのクリーンアップ
通常、カピストラーノを使用する場合は、デプロイしたアプリケーションから古いリリースを手動で削除します。実行できることは承知していますcap deploy:cleanupが、それでも5つのリリースが残っています。これは意図された目的ですか?以前のリリースを1つだけデプロイするように古いリリースをクリーンアップする別の方法はありますか?
125 capistrano 

13
capistranoを使用して異なるgitブランチからデプロイする
capistranoを使用してRoRアプリケーションをデプロイしています。コードベースはgitリポジトリにあり、ブランチは開発で広く使用されています。Capistranoはdeploy.rbその設定にファイルを使用し、そのうちの1つはデプロイ元のブランチです。 私の問題はこれです:masterから新しいブランチAを作成するとします。デプロイファイルはマスターブランチを参照します。これを編集して、Aをテスト環境にデプロイできるようにします。機能の作業を終了し、ブランチAをmasterにマージします。Aからのファイルはより新しいので、マージされ、マスターブランチ内でAを参照します。もう一度編集します。deploy.rbdeploy.rb これは一見不要な手動編集の多くです-パラメータは常に現在のブランチ名と一致する必要があります。その上、毎回設定を編集することを忘れがちです。 このプロセスを自動化する最良の方法は何でしょうか? 編集:判明誰かがすでに私が必要な正確に何行っていました: 今朝、私はgitリポジトリのブランチをステージングサーバーにデプロイする機会がありましたが、その方法については最もわかりにくいものでした。capistranoソースコードをざっと検索したところ:branch "branch_name"、デプロイスクリプトでset を使用できることがわかりました 。試してみましたが、うまくいきました。次に、すべてのブランチで同様の変更を行う必要があると考えました。もちろん、私は怠惰な芝生なので、もっと良い方法がないのではないかと思いました。 gitに慣れていない場合、gitブランチコマンドの出力は、ローカルマシンで現在チェックアウトされているブランチをアスタリスクでマークしたブランチのリストです。例えば: > git branch * drupal_authentication fragment_caching master そのため、出力を解析し、currentとしてマークされたブランチを検索した場合はどうなるかを考えました。 set :branch, $1 if `git branch` =~ /\* (\S+)\s/m これで、ローカルマシン上の現在のブランチを単一の共有されたデプロイスクリプトからデプロイできるようになりました。
125 git  capistrano 


6
Capistranoエラーtar:これはtarアーカイブのようには見えません
INFO [050fe961] Running mkdir -p /home/rails/rails- capistrano/releases/20140114234157 on staging-rails DEBUG [050fe961] Command: cd /home/rails/rails-capistrano/repo && ( PATH=/opt/ruby/bin:$PATH GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/rails/git-ssh.sh mkdir -p /home/rails/rails-capistrano/releases/20140114234157 ) INFO [050fe961] Finished in 0.142 seconds with exit status 0 (successful). INFO [2dea2fe5] Running git archive feature/Capistrano | tar -x -C /home/rails/rails-capistrano/releases/20140114234157 on staging-rails DEBUG [2dea2fe5] Command: …

2
キャピストラーノの「役割」とは正確には何ですか?
Capistranoレシピの「役割」の目的と機能は何ですか?サンプルレシピを見ると、次のようなものがよく見られます。 role :app, 'somedomain.com' role :web, 'somedomain.com' role :db, 'somedomain.com', :primary => true したがって、ロールは基本的にCapistranoがコマンドを実行するサーバーのように見えます。その場合、なぜ「ホスト」や「サーバー」ではなく「ロール」と呼ばれるのでしょうか。 上記の例では、:appとの:web役割の違いは何ですか? :primary => trueオプションは何をしますか?

19
Bundler:Gemfileを変更した後、デプロイメントモードでインストールしようとしています
私はbundleとcapistranoにかなり慣れていないので、それらを一緒に使用しようとしています。デプロイしようとすると、次のメッセージが表示されます。 Gemfileを変更した後、デプロイメントモードでインストールしようとしています。他の場所で「bundleinstall」を実行し、更新されたGemfile.lockをバージョン管理に追加します。 苦情を言っているシステムを満足させる方法がわかりません。また、ドキュメントを読んだため、苦情が発生する理由がわかりません。 Gemfile.lockが存在し、Gemfile(5)を更新した場合、bundleは、更新しなかったすべてのgemに対してGemfile.lockの依存関係を使用しますが、更新したgemの依存関係を再解決します。 。この更新プロセスの詳細については、以下の「保守的な更新」を参照してください。 私はそれを、Bundlerが私のGemfileが期待したものではないという事実を処理できることを意味すると解釈します。何か助けはありますか? 仕様:Ruby 1.9.3、Rails 3.2.3、Capistrano 2.12.0、Bundler 1.1.4、Windows 7、Posixマシンへのデプロイ。 編集:私のGemfileには、次のようなロジックブロックが含まれています。 unless RbConfig::CONFIG['host_os'] === 'mingw32' # gem 'a' ... end

19
なぜbundleはJSONgemをインストールしないのですか?
を実行しようとすると、次のエラーが発生しますcap production deploy。 DEBUG [dc362284] Bundler::GemNotFound: Could not find json-1.8.1.gem for installation DEBUG [dc362284] An error occurred while installing json (1.8.1), and Bundler cannot continue. DEBUG [dc362284] Make sure that `gem install json -v '1.8.1'` succeeds before bundling. エンコーディングエラーを削除するためにRuby2.1.0にアップグレードするよりも、このデプロイメントが機能していたことに注意することが重要かもしれません。ローカルでアップグレードしましたが、問題なく動作しました。私が走ったrvm install 2.1.0し、rvm use 2.1.0その後、私の変更.ruby-versionこのRubyのアップグレードを反映するためにファイルを。 このbundle installコマンドはローカルで機能しますが、宛先サーバーにSSHで接続してこのコマンドを実行すると、上記と同じエラーが発生します。 実行するgem listと、宝石のリストにこれが表示されます。 ... jquery-rails (3.0.4) …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.