以下のような git ワークフローを使用して、さまざまな開発者のチームで作業しています。
- チケットを受け取る
- gitプル/チェックアウト
- 機能/バグ修正ブランチを作成する
- 変更を行う
- ブランチにコミットする
- テスト ブランチにマージし、テスト環境に git pull します。
- ライブと同じ環境でテストする
- テストが成功したら、マージして証明し、git pull して証明します
- クライアントのサインオフ
- マージしてライブ
- git pull on live
しかし、開発者が変更をライブサーバーにプルするための最良の方法を決定することはできません.
現在、開発者は (個々のユーザー アカウントを使用して) ライブ サーバーに SSH で接続し、git pull を実行しますが、サーバー上のコードベースへの読み取り/書き込みアクセスが必要です。
1 人 (またはシステム管理者) だけが展開を実行する必要があるため、これは嫌いです。
別の方法は、Web アクセス可能な git pull スクリプトを作成することです。これにより、開発者がプルを実行したい場合、スクリプトは文字通りサーバー上で git pull を実行し、ブラウザーに出力します。
私の意見では、リポジトリがプッシュされたときにフックをトリガーするのが最善の方法です。gitlab を使用しているため、この実装は比較的簡単だと思います。Web サーバー上のスクリプトは、リポジトリに関する情報を含む POST オブジェクトを受け取ります。 、したがって、フックを受け取るブランチが更新された場合にのみプルをトリガーするようにスクリプト化できます (それが理にかなっている場合)。プッシュを実行したユーザーに git pull メッセージの出力を含む電子メールを送信して、すべてが計画どおりに進んでいることを確認することもできます。ただし、開発者が誤って間違ったブランチにプッシュし、コミットが時期尚早にライブになる可能性があることに不快感を覚えます。理想的には、ある種の github スタイルのマージ リクエスト機能が必要です。
他の推奨事項や提案はありますか?