問題タブ [nant]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
svn - .Net プロジェクトの svn:external ビルドからのビルド アーティファクトの参照
これは私が尋ねた前の質問からの続きの質問です
プロジェクト ツリーのルートに /externals ディレクトリが作成されました。この中には、別のプロジェクトへの参照があります。メイン プロジェクトの NAnt スクリプトですべての外部のビルドをスクリプト化できます。これらのビルドの結果は次のとおりです。
/externals/external-project1/build/buildartifacts/{dlls|html|js}
/externals/external-project2/build/buildartifacts/{dlls|html|js}
これで問題ありませんが、私のメイン プロジェクトがこれらのビルド アーティファクトをどのように参照するかについて興味があります。たとえば、外部プロジェクトが、コードベースの一部が依存する DLL をビルドするとします。ビルド アーティファクト ディレクトリの DLL を参照するだけですか、それとも / thirdparty/libs/ フォルダーにコピーする別の NAnt タスクを実装する必要がありますか?
これは、私のビルドがこの外部プロジェクト (内部またはサードパーティのいずれか) をビルドする機能に依存していることを意味します。ビルド アーティファクトの最新セットをチェックインして、依存ビルドが壊れたためにメイン ビルドが壊れないようにするのは良い考えですか?
それが十分に明確であることを願っています。これを書き留めるだけで、私にとって問題はほとんど明確になりません:-)。
- 編集 -
みんなありがとう。「リビジョンのチェックアウト」を実装すると思いますが、ビルドが非常に速いため、ビルド アーティファクトをチェックインするつもりはありません。また、外部プロジェクト (プロトタイプ、swfobject など) の依存関係を処理する方法を理解する必要があります。
nant - 一部の NAnt タスクを静かにするには?
MailLoggerを使用して、リリースの失敗/成功に関するメッセージを送信しています。メール本文はシンプルで読みやすいものにしたい。特定のタスクの出力を抑制するにはどうすればよいですか?
continuous-integration - Nant との継続的統合
初めて継続的インテグレーションを使用する準備をしています。自動化されたビルドおよびテスト タスクに Nant を使用し、リポジトリをポーリングして Nant スクリプトを実行するための適切な CI ツールを見つけようとしています。
私はこれまで大まかに次のことを調査してきました。
- ハドソン
- クルーズコントロール
- ドラコ
これまでの私の感覚では、ほとんどの作業は Nant によって行われるので、Draco はインストール/セットアップが簡単であるはずなので問題ありません。一方、Cruise Control と Hudson は、より優れたレポート オプションを提供する可能性があります。
ビルドおよびテスト タスクに Nant を使用する場合、継続的インテグレーションを実行する最良の方法は何ですか?
ant - TeamCity からアーティファクトをプルするにはどうすればよいですか?
teamcity からアーティファクトを取得したいと思います。
私は c# と HtmlAgilityPack を使用して Web サイトにアクセスし、最新バージョンとその成果物を見つけようとしています。私は現在、ログインで立ち往生しています。セッション Cookie を送信する必要があると思います。
私は正しい方向に進んでいますか、他の誰かがこれを試しましたか?
ビルド スクリプトを使用してファイルをプッシュするのは簡単ですが、これを 100 個のアプリにスケーリングすることを検討しているため、Ant、NAnt ファイルへの変更を最小限に抑えたいと考えています。
編集:この質問は有望に見えます ログインの背後にあるページから HTML を取得する
編集:これは今すぐ機能します。解析するコードを書くだけです
svn - バージョンとパスを SVN 作業コピーから nant 変数に抽出するにはどうすればよいですか?
Subversion で保持される DotNet プロジェクトの新しいビルド プロセスを作成しています。
(Nant 経由で) コンパイルする dll/exe ごとに、ビルドされる dll に 2 つの追加属性を含めたいと思います。
「asminfo」ナントタスクの仕組みはすでに理解しています。しかし、バイナリに埋め込みたい情報を取得するには助けが必要です。
ビルドは常に完全な作業コピー (ビルド プロセス自体によってチェックアウトされます) から行われるため、常に .svn ディレクトリが利用可能になります。
追加したい属性は、RepositoryVersion と RepositoryPath です。(これらは、この情報がsvnで使用する名前ではないことを理解しています)
これを行うには、BuildFile が含まれる作業コピー フォルダーによって表される RepositoryVersion と RepositoryPath を抽出する必要があります。
この情報を特定の .svn フォルダーから 2 つの nant 変数に抽出するにはどうすればよいですか?
configuration - パラメーターが Web インターフェイスによって公開されるように、CruiseControl.NET プロジェクト構成をパラメーター化できますか?
現在、NAnt と CruiseControl.NET を使用して、ソフトウェア開発のさまざまな側面を管理しようとしています。現在、NAnt は、コマンド ラインで指定した入力ターゲットに基づいて、環境固有の設定(データベース接続文字列など)を置き換えることを含め、ほぼすべてを処理します。
CruiseControl.NET は、新しいコードがコミットされるたびに、既定の環境(dev)用のアプリケーションをビルドするために使用されます。また、CruiseControl.NET で追加環境のテストとステージのビルドを呼び出したいのですが、テストとステージの展開がはるかに少ない頻度で行われるため、開発ビルドが (毎日) 呼び出されるたびに、これらが自動的に呼び出されることは望ましくありません。テストおよびステージ展開は、アプリケーションの QA の準備が整ったときにのみ行われます。
環境ごとに 1 つずつ、複数のプロジェクトを指定することで、これを簡単に行うことができます。ただし、アプリケーション内のマイルストーンごとに 1 つずつ、すでに多くのプロジェクトが構成されています。マイルストーンごとに 3 つのプロジェクトをセットアップする必要がある場合、CruiseControl.NET 構成はすぐに手に負えなくなります。
これが私の質問です: パラメータが Web インターフェイスによって公開されるように、CruiseControl.NET プロジェクト構成をパラメータ化できますか?
できれば (私が思うに)、各環境 (開発、テスト、ステージなど) のチェックボックスを Web インターフェイスに公開することができます。ビルドが強制的か自動かに関係なく、チェックされる環境ごとにビルドが作成されます。チェック済みの状態をデフォルトにできればさらに良いでしょう。
nant - Nant を使用して、ファイル内の xml ブロックのコメントを外します
NAnt で作業しているファイルの xml の一部をコメント解除する必要があります。xml のサンプルを次に示します。
私がやりたいのは、 --> 部分を取り、「ナビゲーションセクション」の隣に移動することです。--> のグローバル検索は、ナビゲーション ノードの下だけでなく、ファイル内にも --> が多数あるため機能しません。この終了コメント文字は、ナビゲーション ノードの最後の文字です。
誰?
nant - ネイティブ コード環境の NAnt
ネイティブ コードのビルド プロセスの指示に NAnt を使用することに関する良いチュートリアルを知っている人はいますか?
ネイティブ コード環境により適した、ビルド プロセスの自動化のための他のツールはありますか?
Win32 モバイル アプリケーションを開発しており、CAB ファイルとしてオンラインでダウンロードできるようになります。CAB ファイルには、ダウンロード前にユーザーが入力した情報が含まれている必要があります。これにより、アプリケーションのインストール プロセスによってユーザーの情報がデバイス レジストリに書き込まれます。
continuous-integration - NAnt と DB 統合テスト、そして最終的には継続的統合
いくつかの Nant ビルド スクリプト内で統合テストを実行するためのさまざまな戦略を検討してきました。通常、多くの異なるスクリプトが、個別のターゲットを持つ 1 つのモノリシック ビルドにチェーンされます。ステージング (ビルドのようにステージング バージョンをビルドする)、ビルド (ビルドするだけ)、統合 (ビルドして統合テストを実行する)。これはかなりうまく機能し、ビルド ターゲットは統合ターゲットとして実行するのに約 3 分の 1 の時間を要します。
一方、統合ターゲットには時間がかかるため、あまり頻繁に実行したくありません。理想的には、デプロイの準備が整う直前です。これは合理的な戦略のように思えますか? IOW、私はそれを正しくやっていますか?
最終的にこのプロジェクトを継続的インテグレーションに移行する計画です。私は継続的インテグレーション全体に慣れていませんが、「ビルドを壊す」という概念を理解していると思うので、それを最大限に活用するために、どのような良い実践をすればよいのでしょうか?
このテーマに関する優れた情報源も評価されます。ありがとう!
msbuild - NUnitおよびNAntの将来の考慮事項
.NET v1の期間中、私はNUnitとNAntの追加ツールを使用して、テスト駆動および自動ビルドの作業習慣を開発するよう同僚を説得することに成功しませんでした。.NETFramework2.0とVisualStudio2005 Team Suiteが登場したとき、私はチームにテストの作成を「強制」し、VisualStudio内で視覚的なテストを提供することができました。さらに、追加のMSBuildタスクを使用してプロジェクトファイルを微調整し、ビルドの自動化をさらに実行することができました。
もちろん、これはマイクロソフトが完璧なシステムを提供したことを意味するものではありませんが、彼らはこれらを正しいステップで進めてきたと思います。これらすべての機能がフレームワークと製品に組み込まれ、「ネイティブ」になることで、開発者をより良い開発手法に移行させることが少し簡単になりました。
オープンソースのオプション(私は見逃している)を長い間忘れていたので、NUnitとNAntの現在の化身はどのような価値提案を持っているのだろうかと思います。チームにMSBuildまたはMSTestを使用しないように説得するために、この段階でどのようなケースを主張できますか?
明確化:私の会社は純粋なMicrosoftSIです。Visual Studio Team Suiteエディション、Database Professionalエディション、TFSなどを使用できます。VisualStudioProfessionalエディション以下は使用していません。