1

ビルド/パッケージ/デプロイ プロセスの一部として、一部の JS ファイルと CSS ファイルを縮小するために、Ajax ミニファイアーを手に入れました。これは優れたツールであり、私たちが必要としているものを正確に実行します。ただし、これをビルド/デプロイ プロセスに統合することは非常に困難です。

理想的には、このツールは、TFS 2010 ビルドの 1 つを実行する場合にのみ実行する必要があります (つまり、開発マシンでローカル (Ctrl+Shift+B jobbie) ビルドを実行する場合ではありません) また、このシナリオでは、「.min.js」などの名前の追加ファイルをロードするのではなく、現在「縮小されていない」ファイルを縮小されたファイル (つまり、同じファイル名の下) に置き換えたいと考えています。

たくさん読んだ後、重要なのはワークフロー内のカスタムビルドタスクだと思います-しかし、これにアプローチする方法がわかりません-特に、リリースから直接プルダウンされるファイルを縮小しようとしているためですTFS 2010 ビルドの一部として、TFS に (つまり、誰かのローカル ワークスペースではなく) ブランチを作成します。

これは、私が達成しようとしていることに最も近い議論です: Microsoft Ajax Minifier - TFS 2010 Workflow - AjaxMin in the TFS Build

ビルド ワークフロー内でカスタム コード アクティビティが必要になると思いますが、この問題を解決するために作成する方法がわかりません。展開前に縮小を可能にするプロセスに光を当てることができる人はいますか?

4

3 に答える 3

1

Invoke Process ActivityTFSビルド中にミニファイアが実行されるように実装する必要があります。

この目的のために、ビルドを実行するサーバーにミニファイア、いわゆるビルドエージェントをインストールする必要もあります。そうすることで、(ローカルVSビルドではなく)TFSビルド中にのみミニファイアが呼び出されるようになります。

生成された出力ファイル(* .min.js)の名前を変更するには、そのためだけに別のカスタムアクティビティを実装する必要があります。チェックインしたファイルを上書きするには、最初にそれらを書き込み可能にする必要があります。これは、さらに別のカスタムアクティビティを意味します(別の回答でそのスニペットを提供しました)。

全体のコレオグラフィーは
、InvokeProcessを使用してInvokeMinifier- >チェックインされたファイルを書き込み可能にする->チェックインされたファイルを名前が変更されたミニファイされたファイルで上書きします

TFSビルドでこれを行う正しい方法は、それらをでラップすることSequenceです。

呼び出しプロセスを実装する方法についての優れた紹介ブログ投稿は、ここにあります。
私はまた、E.Hofmanによる真の価値のあるシリーズを見つけました。

于 2011-09-20T19:14:27.167 に答える
1

これをカスタム コード アクティビティとして実行することは確かに可能ですが、ある程度の労力を費やす必要があります。私の提案は次のとおりです。

  1. 最初に、 http: //www.ewaldhofman.nl/post/2010/04/29/Customize-Team-Build-2010-e28093-Part-4-Create-your-own-activity にある Ewald Hofman の TFS 2010 カスタマイズ ブログに従ってください。カスタム アクティビティの作成について学習するための.aspx
  2. 次に、http: //www.ewaldhofman.nl/post/2010/06/01/Customize-Team-Build-2010-e28093-Part-10-Include-Version-Number-in-the-Build-Number をご覧ください。同じシリーズの.aspxを使用して、特定のパターンに準拠するすべてのファイルを検索するメカニズムを実装します。この例では、assemblyInfo.cs ファイルにインデックスが付けられ、その内容が変更されています。*.js ファイルを検索して置き換えます。
  3. ファイル選択で Ajax Minifier の力を解放し、元のファイルを縮小されたファイルに置き換えます。
  4. アクティビティをビルドし、TFS 2010 で使用するビルド プロセス テンプレート (同じブログ投稿でも説明されています) のステップとして含め、満足のいく点まで微調整します。

または、質問に含めた投稿の作成者に、彼が作成した Minifier TFS アクティビティを私たちと共有するよう依頼することもできます :-)

それがどのように機能するか教えてください。

于 2011-09-20T19:10:08.947 に答える