web-dev-qa-db-ja.com

ワークフローを改善するにはどうすればよいですか?

だから私は主にWordPressでウェブサイトを自分でデザインして開発しています。ローカルサーバー上のサイトに満足したら、サイトとそのデータベースをWebサーバーにアップロードし、クライアントにサイトに変更を加えさせます。彼/彼女が私にコードまたはWPのバックエンドを変更する必要があるとき、私は通常、それ以降、サイトのリモートバージョンで作業します。これは、ローカルで作業する場合に比べてかなり遅いプロセスです。

私が求めているのは、リモートバージョンのサイトに加えられた変更を同期するローカルバージョンのサイトで作業する方法はあるのでしょうか。このバージョン管理は万が一ですか?

これが私の典型的なワークフローです:

  • ローカルデータベースを設定する
  • ローカルコードWordPressサイト
  • ローカルデータベースをエクスポートする
  • ローカルデータベースをリモートサーバーにインポートする
  • すべてのファイルをリモートサーバーにアップロードする
  • リリース後にリモートで変更を加え続ける

現在のワークフローを改善する方法はありますか?

3
realph

サーバーへのSSHアクセスがあり、Linuxシェルコマンドに精通している場合は、Capistranoを使用して自動化できます展開プロセス。これは、Rubyに組み込まれている自動展開ツールであり、多くのRuby on Railsプロジェクトで広く使用されています。もちろん、これはRailsのRubyだけに限定されません。他のRubyフレームワーク、および他の言語にもCapistranoを使用できます。

Capistranoが実行する一般的な手順は次のとおりです。

  • SVN/Git/Mercurialリポジトリへのアクセスを取得します
  • プロジェクトをリモートサーバーに複製します
  • 必要に応じて追加のタスクを実行します(データベースのインポートなど)

これは、バージョン管理をワークフローにも組み込む必要があることを意味します。これは、作業が楽になるため、実際には便利です。 CapistranoはSVN、Git、Mercurialをサポートしているため、好きなものを使用できます。

別の注意点として、Capistranoは元々Ruby on Railsプロジェクトをデプロイするために構築されているため、PHPで動作するようにカスタマイズする必要があります。 この記事はPHPプロジェクト にCapistranoを使用する方法。

1
Terence Ponce

git および svn/Subversion は、これを処理できる一般的なバージョン管理システムです。今ではもっと広く使われているので、gitをお勧めします(最近は誰もが github を持っているようです)。 gitを使用すると、追跡するファイルと追跡しないファイルを選択できます。この場合、リモートとローカルの2つのリポジトリがあります。ローカルで変更を加える場合は、それらをコミットしてから、いくつかのコマンドでリモートサーバーにプッシュできます。これにより、クライアントが以前のバージョンに戻したいと判断した場合や、問題が発生した場合にも、変更が追跡されます。

また、 vim は、ワークフローを改善したい人のための私の最初の提案です(または、そのような場合は emacs )。 vimが上手になれば、中間者をカットしてリモートで非常に効率的に開発できることがよくあります。多くのエディターでは、リモート編集も可能です。 Vimは、Tim Popeによる fugitive.vim プラグインを介してgitとうまく連携します。これにより、gitとvimの効率が合理化されます。

rsync もあります。これはあなたが説明している音のようです。リモートかローカルかに関係なく、ディレクトリの同期を維持します。比較的高速ですが、バージョン管理オプションはありません。

0
Conner