gitフックの使用に関するトピックを続けて、マージ後およびチェックアウト後について説明します。
何がありますか
開発中のWebアプリケーションがあります。 本番環境に変更をすばやく簡単に追加する必要があります
Gitが提供するもの
post-merge-このフックは、ローカルリポジトリで「git-pull」または「git-merge」を実行した後に「git-merge」によって呼び出されます。 マージと競合する場合、フックは失敗します。
post-checkout-このフックは、「git-clone」または「git-checkout」を実行した後、「git-checkout」と呼ばれます。
私たちは何をしますか
展開メカニズムは次のようになります。
1. gitサーバーを上げます。 すべての開発をgitに変換します。 テストしたコードをリポジトリに注ぎます
2.展開後に必要なことを行うフックを作成します。 この場合、マージ後フック。
3.クリーンなサーバーに動作中の構成をデプロイする場合は、チェックアウト後のフックを記述します
たとえば、展開後、いくつかのフォルダーをクリーンアップし、Apacheを再起動する必要があります。
#!/bin/bash /etc/init.d/apache2 stop find /path/to/folder -type f -delete /etc/init.d/apache2 start
このスクリプトを.git / hooks / post-mergeに配置します。
git pullを実行し、このスクリプトを実行します
同様に、チェックアウト後のフックの場合
長所:
- 本番への変更の高速配信。
- 自動化
- 動作中のWebプロジェクトの集中ストレージ
短所:
- git checkout -b newBranchで新しいブランチを作成すると、このスキームは機能しません。
- ローカルストレージの変更を手動でマージする場合、このスキームは機能しません。
UPD:目標は、単一で適切な展開を示すことではなく、Gitフックの使用方法を示すことです。 そして、はい、私はカピストラーノ、ヴラッド・ザ・デプロイヤー、シェフ(ソロ)、パペットなどについて知っています