git コマンドを実行してナイトリー ビルドを実行する node.js スクリプトを作成しようとしています。私はいくつかの検索を行い、浅いクローン、参照キャッシュ、1 つのブランチのみのクローン作成などについてあちこちでさまざまなビットを見つけましたが、効率的なビルドシステムを実現するためにすべてを組み合わせた場所や例を見つけることができません。
私の想像では、必要なワークフローは次のとおりです。
中央レポのマスター ブランチの最新のクリーン コピーを取得し
--depth 1 --single-branch
ます。プロジェクトを専用のフォルダーにビルドします (これは PHP プロジェクトなので、composer、minification などを実行します。すべての作業用の node.js スクリプトが既にあります)。
version.txt ファイルのバージョン番号を増やします (そのための node.js スクリプトがあります)
更新された version.txt をローカル マスターにコミットします (浅い単一ブランチ クローンで実行できますか?)
最後のコミットにバージョン番号のタグを付ける
タグを使用してリモート マスターにプッシュします (浅い単一ブランチ クローンでそれを行うことはできますか?)
クローン フォルダーを削除して、次のビルド用にクリーン コピーを作成します。
開発サーバーにデプロイします(
git push
別のリポジトリで実行するだけです)
現在、Azure VM で実行されている TeamCity を使用する予定です。Git リポジトリはローカル サーバーにあります。このセットアップを続けるかどうかはわかりません。したがって、node.js スクリプトでほとんどの手順を実行して、プラットフォームやビルド システムに依存しないようにしたいと考えています。
このワークフローは実行可能ですか、それとも問題が発生する可能性がありますか? また、キャッシュ(git clone --reference
)で高速化する必要がありますか(または私の場合は冗長ですか?)