4

少し一般化された「最善の解決策は何だと思いますか」という質問ですが、読んで読みましたが、すべての質問に対するすべての答えが見つからないようです.

私は 3 人の開発者 (オンサイト 2 人、オフサイト 1 人) を持つ小さな Web エージェンシーで働いており、まだ FTP (style-1.css、style-2.css) を使用して、プレビュー URL でオンラインでホストされているサイトで作業しています。作業を完了し、ライブ URL に再アップロードします。それはかなり古い学校であり、今日の基準では完全に間違っていることを知っているので、Git を調べ始めました。展開の管理にも使用できるようにしたいと思います。

私ができるようにしたいのはこれです:

  • 開発者はローカルで動作します
  • サーバー上のプレビュー/ステージングへの開発者のプッシュ (一般にアクセス可能)
  • クライアントが承認する
  • 開発者はプレビューをライブにプッシュします / 開発者はプレビューからプルするようにライブに指示します

私が知りたいのは:

  • 作業中のすべてのファイルを保持するようにサーバー上にリモート リポジトリを設定して、プレビュー/ステージング サイトとして使用するこれらのファイルへの URL を指定できますか? (つまり、なぜこれが裸のレポであるべきだと読んだのですか?)
  • このシナリオで「ライブ」サイトをセットアップする最善の方法は何ですか? 安定していると判断したときに、プレビュー サイトからライブ サイトにプルするコマンド (フック? ) を設定する方法を誰か説明してもらえますか?

ワークフローへの読み込みを試みましたが、パブリック (クライアント) がアクセス可能なライブのワークフローでこれを使用する方法が見つかりませんでした

前もって感謝します!

編集

GitHub を使用するよう提案を受けましたが、GitHub を使用したくありません。独自の専用サーバーがあり、それを学習して正しくセットアップする時間を気にしないからです。(私は個人的な仕事のために GitHub を使用するので、サービスとしてノックするつもりはありません)

タイトルにGitoliteが付いているのは、もともとgitoliteを使って設定する方法を聞くつもりだったのですが、書いている途中で基本を正しく理解していると思ったので編集して、タイトルから削除するのを忘れていたに違いありません。gitolite を含むこれに関する提案があれば、喜んで試してみたいと思います。

これまでの提案に感謝します

4

3 に答える 3

2

ご了承ください:

于 2013-01-25T07:40:54.180 に答える
1

自分の質問に答える

私と同じ問題を抱えている他の人のために、私が行ったことの最新情報を提供したかっただけです.

結局、git を使用してデプロイを管理するために、私はBeanStalkを使用しましたが、 Capistranoの使用も検討しており、両方を一緒に使用することさえあります。

記事を書いてくれたSimonに、私がフックを何に使うかを説明してくれたMakisに、そしてサーバーを台無しにして自分にとって物事をより困難にすることから私を遠ざけてくれたVonCに感謝します。

于 2013-01-29T17:15:48.350 に答える
0

数ドルを節約でき、この手間をかけないようにしたい場合は、GitHubにレポをセットアップします。これにより、多くの手間が省けます。GitHub のコストは、プライベート リポジトリで月額 $7 から始まっているようです。このようにすることには多くの良いことがありますが、あなたの場合の最大のものは、セットアップなしでどこからでもリポジトリをすぐに利用できることです.

あなたが求めているスクリプトは、a) 期間中、「メンテナンスが進行中」のページを指すようにサイトを設定する、b) GitHub リポジトリから変更をプルする、c) サービスを再起動する (MySql など) だけです。これを完全に自動化するつもりはありませんが、それほど難しくはありません。

ブランチを使用して、プレビューと配信レベルを管理します。したがって、スクリプトはリリース ブランチから head をプルします。

同様に、開発者は、最適な分岐戦略を使用して GitHub にプッシュします。

于 2013-01-25T08:40:19.390 に答える