WebアプリケーションをデプロイするためのツールとしてGitを使用する

こんにちは、Habrosociety!



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を実行し、このスクリプトを実行します



同様に、チェックアウト後のフックの場合



長所:







短所:







UPD:目標は、単一で適切な展開を示すことではなく、Gitフックの使用方法を示すことです。 そして、はい、私はカピストラーノ、ヴラッド・ザ・デプロイヤー、シェフ(ソロ)、パペットなどについて知っています



All Articles