最近、開発者がどこからでも作業できるようにし、次に全体的な展開プロセスを自動化できるようにすることを目標に、GITの調査を開始しました。
テストやデモの目的ですべてのアプリ/サイトをホストする中央テストサーバーがあり、開発とテストが完了したら、アプリケーションをそれぞれのライブサーバーに移動します。
GITで設定したものは、次のとおり
です。1.テストサーバーでベアリポジトリを作成します
。2。関係する開発者ごとにローカルクローンを取得します。開発者はリモート(テストサーバー)開発ブランチにプッシュします。3
。誰かがからのすべての変更をマージします。 devブランチをmasterブランチにプッシュし、リモート
4にプッシュします。テストサーバー(bare repo)にはpost-receiveフックがあり、masterブランチをpublic_htmlフォルダーにチェックアウトします(GIT_WORKING_DIRとcheckout -fを使用)。
今のところ、すべてが正常に機能しており、ホストされているページのマスターブランチでマージを確認できます(もちろん、テストサーバー上で)。今私の質問は...
1。私はこれを正しくやっていますか?
2.私が設定した受信後フックは、devブランチへのプッシュでも実行されると思います。これを回避する方法は?
3.これらのコンテンツをライブサーバーに送信するにはどうすればよいですか?コードベースが大きいプロジェクトがいくつかあるので、テストサーバーですべてをチェックしてから、ライブで出荷するだけでは十分ではありません。
CIサーバーについて聞いたことがありますが、私が知っている限り、ローカルでチェックアウトし、「rsync」(変更を同期するだけなのか、すべてをアップロードするだけなのかわからない)またはそのようなツールを使用してすべてをライブにアップロードします。何か問題が発生した場合は、すべての部分を避け、ロールバックのオプションを開いたままにしておきたいだけです。ライブサーバーでgitを設定するのは得意です。