1

バージョン管理を使用してセットアップしている Web サイトがあります。gitでBeanstalkを使用します。今、彼のウェブサイトに CMS を追加するリクエストを受け取りました。これは基本的に、クライアントが編集できるようにしたい div に「cms」クラスを追加するだけです。

CMS には、非常に軽量な CMS であるPagelimeを使用しています。ただし、クライアントは変更を行うための独自のログインを取得し、FTP 経由でそれらの変更をライブで自動的にアップロードします。

私のバージョン管理設定ではどのように機能しますか? クライアントが CMS を使用して新しいコンテンツを追加している場合、その Web サイトのリポジトリ内のファイルは古くなります。

ありがとう!

4

2 に答える 2

1

PHPを使用していますか?Pagelime FTP-XML パブリッシング システムを使用してから、この GIST のコードを使用できます: https://gist.github.com/945294

ソース コードを上書きするのではなく、XML を使用してクライアント サイトにコンテンツをプッシュするように Pagelime を設定します。次に、PHP (またはその他の言語) を使用してコンテンツをページに取り込みます。

すべては引き続き FTP でホストされますが、ソース コードは変更されません。

「cms-assets」フォルダは、Pagelime がアップロードする XML、画像、およびドキュメントが存在する場所であるため、絶対に削除しないでください。

それが理にかなっていることを願っています!

于 2012-04-30T19:43:04.413 に答える
1

当社の S/FTP デプロイメントでは、ファイルがリモート サーバーに自動的にコピーされますが、Beanstalk でホストされている git リポジトリへのリンクは保持されません。代わりに、Beanstalk リポジトリをリモート サーバーに複製することでデプロイできます。その後、デプロイするたびに、サーバー上のそのリポジトリ内から「git pull」を発行して、Beanstalk から変更を取得します。

Pagelime によって行われた変更を補正するには、プルの前後にいくつかの追加の手順が必要になります。

1) 次のコマンドを発行して、pagelime によって行われたすべての変更をコミットします。

git commit -am "commit pagelime changes"

2) 変更を Beanstalk からサーバーにプルする

git pull origin master

3) Pagelime の変更を Beanstalk にプッシュする

git push master

これは最も単純なワークフローであり、Pagelime の変更と、開発環境から Beanstalk に行ってコミットする変更との間で自動解決できない競合を考慮していません。

好みのスクリプト言語 (ruby、python、php) でこのワークフローを構成および/またはスクリプト化したら、S/FTP デプロイメントの代わりに Beanstalk の SSH デプロイメントの使用を開始できます。その後、デプロイを実行するたびに、Beanstalk はサーバーとスクリプトまたはコマンドに自動的にログインできます。

于 2012-04-29T18:43:33.667 に答える