問題タブ [build-automation]

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.

0 投票する
5 に答える
13651 参照

java - Apache ANTターゲットを一般化する方法はありますか?

アプリケーションをビルドするためのApacheANTスクリプトがあり、結果のJARファイルをバージョン管理(この場合はVSS)にチェックインします。ただし、このプロジェクト用に2つのJARファイルをビルドしてから、両方をVSSにチェックインする必要がある変更があります。

元のJARファイルをVSSにチェックインする現在のターゲットは、いくつかのプロパティを介してJARファイルの名前を検出します。このターゲットを「一般化」して、任意の名前のJARファイルをチェックインするために再利用できるようにする簡単な方法はありますか?通常の言語では、これは明らかに関数パラメーターを必要としますが、私の知る限り、ANTには同等の概念は実際にはありません。

0 投票する
2 に答える
255 参照

sql-server - ソース管理からのDBオブジェクト移行の自動化

ソース管理からのストアドプロシージャ/ビュー/関数/テーブルの変更の展開を自動化するためのいくつかの「ベストプラクティス」を探しています。私はStarTeam&ANTを使用しているので、ラベリングは処理されます。私が探しているのは、ソースからのこれらのオブジェクトのプルを自動化する方法です。必ずしもStarTeamである必要はありません。

最終的に、実行、チェックイン、およびラベル付けできる1つのスクリプトを作成したいと思います。

私は誰かにそれを書くように求めているのではありません-過去にうまくいった(またはうまくいかなかった)いくつかのアイデアやアプローチだけです。

私は混乱を一掃しようとしていますが、これをできるだけ「正しく」近づけたいと思っています。

テーブル/ビュー/関数などをStarTeamの個々のファイルに保存しており、DBはSQL2K5です。

0 投票する
1 に答える
151 参照

svn - SVNのみのホストをgitリポジトリからプルするにはどうすればよいですか?

ファイルを手動でアップロードするのではなく、ホストにGitリポジトリからプルさせたいのですが、Gitがインストールされていません。

では、Subversion(彼らが持っている)をだましてGitリポジトリをチェックアウトさせる方法はありますか?

私はすでに答えを知っていると思います。つまり、ホストにGitを追加して、Gitが追加されるまでそれを使用するようにバグを報告しますが、とにかく質問したいと思いました。

0 投票する
1 に答える
205 参照

.net - .NET プロジェクトとソリューションの任意のビルドを一元化/制御する

何年にもわたって、完全なプロジェクト ビルドを実行するために一連の NAnt スクリプトを作成および調整してきました。メイン スクリプトは、単一のアプリケーション エンドポイント (たとえば、Web アプリケーション プロジェクト) を取り、ソース管理から完全なビルドを行います。スクリプトは、ビルド出力場所、ソース管理アドレスなどに関する必要な情報で事前構成されています。主なポイントは、スクリプトにほとんど情報を供給せず、特定のプロジェクトをゼロから構築できることです。これは、私の質問の「任意」の部分を満たしています。

過去に、いくつかのソフトウェア製品 (主に Web アプリケーション) を作成する会社で働いていました。この環境は、製品ごとにインテグレーターが存在する典型的な継続的インテグレーションのセットアップに非常に適しています。CI ビルドの両方として機能するインテグレーターと、完全なリリース候補ビルドと QA 展開を処理するインテグレーターをセットアップしました。これらのインテグレーターはマスター ビルド スクリプトを使用するため、インテグレーター自体は、ソース管理の監視とマスター NAnt スクリプトの呼び出しにすぎません。

私は現在、多くのアプリケーションを作成する開発グループで働いています。多くの場合、開発者は、最初に他の人が作成したアプリケーションをサポートするよう求められます。私が始めたとき、ビルド管理はありませんでした。私は、1 つのビジネス ユニットの製品スイート (約半ダースの完全なシステム) の 4 人のチームの主任開発者として、グループ内で特にユニークな立場にあります。CI ビルドと RC ビルドの両方を実行するためのマスター ビルド スクリプトを使用して、CruiseControl.Net を実装しました。これは、ビジネスの製品スイート内の固定されたプロジェクトのセットに対して機能します。

私は何年もの間 CCNet を使用してきたので、CCNet で何ができるかを十分に認識しています。製品スイートのすべてのプロジェクトで使用しているため、継続的インテグレーションの分野への貢献に大きな敬意を払っています。私は自分のチームに、開発以外の場所に向けられたもののマスター ビルダーとして、公式の RC ビルド インテグレーターを使用することを強調しました。これにより、CCNet の管理下にあるプロジェクトの固定セットを大幅に管理できます。

ただし、他のアプリケーションを構築している他の開発者もいます。これらのいくつかは、プロジェクトのライフ サイクル (私が変更しようとしている他の何か) に入るまでソース管理さえされないことが多い 1 つの開発者プロジェクトです。これらのプロジェクトの多くは 1 回限りのものであり、デプロイされた後はあまり開発されません。それにもかかわらず、彼らはまだサポートする必要があります。それらをサポートする上で不可欠なのは、これらのプロジェクトの集中ビルド管理がなければ、QA に送られ、最終的には本番用のリリース候補ビルドが個々の開発者マシンで行われることになります。もちろん、これは、開発者のマシン ビルドの他の要因の中で、すべてがソース管理下にあるという保証をまったく提供しません。

私が解決しようとしている問題は、この種の任意のビルドを集中管理するためにどのようなシステムを使用できるかということです。これは間違いなく固有の問題ではありません。ただし、集中型ビルド、ビルドの自動化、および継続的インテグレーションについて私が行った多くの読書では、固定されたプロジェクト/製品と、それらの継続的な開発をサポートするタスクに焦点が当てられています。常に新しいプロジェクトの開発を行っているビジネスでは、どのようなプロセスが使用されていますか? これらのタイプのプロセスを使用していませんか?

マスター ビルド スクリプトはビルド サーバー上に存在しますが、使いにくいです。また、ビルド サーバーへのコンソール アクセスを制限したいと思います。そのため、中央システムで任意のビルドを起動するためのより簡単なアクセスを提供するために、何らかの管理システムが必要です。

私が探しているものは、MS Team Build のカバーの下にある可能性があることに気付きました。残念なことに、MS について読み始めると、MS のマーケティング資料を読み始めると流砂のような気分になり、すぐに道に迷い、自分がやりたいことがそれでできるかどうかを実際に知ることができなくなります。さらに、ライセンス コストは、Team Foundation Server と Team System のトピックに関する過去の一般的な議論で、目立たないものとして取り上げられてきました。

この問題を解決した人からの提案をお待ちしています。私は、マスターの "build-any-project" ビルド スクリプトに基づいた集中型ビルド システムでいくつかの作業を行いました。ただし、私が持っているものはまだ初期段階にあり、主に私が取り組んでいるプロジェクトの種類だけをサポートするように構築されています。現時点では、多くの種類のアプリケーションや、Visual Studio で可能な大量のプロジェクト/ソリューション構成を処理するために必要なサポートが不足しています。

0 投票する
9 に答える
4310 参照

asp.net - ASP.NET Web アプリケーションのビルド出力 - すべての展開ファイルを含めるにはどうすればよいですか?

ASP.NET Web アプリケーションをビルドすると、Web サイトのコードを含む .dll ファイルが生成されます (これは素晴らしいことです)。ただし、Web サイトにはすべての .aspx ファイルとその関連ファイルも必要であり、これらを正しい場所に配置する必要があります。ディレクトリ構造。各ビルドの結果として、これをすべて 1 つのディレクトリに入れるにはどうすればよいですか? ソース ディレクトリから適切なファイルを選択しようとするのは面倒です。

最終結果は、xcopy でデプロイ可能になるはずです。

更新:私が認識している Publish コマンドを手動で使用する必要はありません。アプリケーションが必要とするファイルの完全なセットをビルド出力にしたい - これは、MSBuildを実行することで、ファイルの完全なセットも 1 か所で取得できることを意味します。

0 投票する
10 に答える
46370 参照

svn - ディレクトリに根ざした最新のSVNリビジョン番号をどのように判断しますか?

デプロイしたバイナリに最新のSVNリビジョン番号のタグ付けを開始したいと思います。

ただし、SVNはファイルベースであり、ディレクトリ/プロジェクトベースではないため、最大のリビジョン番号を特定するには、すべてのディレクトリとサブディレクトリのファイルをスキャンする必要があります。

ルートでの使用svn infoは機能しません(サブディレクトリ内のファイルではなく、そのディレクトリのバージョンを報告するだけです):

svnこれを行うためのコマンドを使用するショートカットがあるかどうか疑問に思いました。それ以外の場合、誰かがネットワーク効率の良い簡単なスクリプトを提案できますか(リモートサーバーにまったくヒットしなかった場合は私が好むでしょう)?

また、代替アプローチの1つは、バージョンファイルを。で保持することであることも理解していますsvn:keywords。これは機能しますが(他のプロジェクトで使用しました)、ファイルがダーティであることを確認し、避けられないマージの競合に対処することにうんざりしています。

回答ルートディレクトリsvn upを呼び出す前に適切な処理を行わないと、問題が発生することがわかります。svn info

0 投票する
2 に答える
864 参照

build-process - Rational Robot を使用した回帰テスト

私の最初のテストでは、アクティブで表示可能なデスクトップがないと Robot は動作しないことが示されました。たとえば、スケジュールされたタスク (または継続的インテグレーション サーバーから実行されたコマンド) はコマンド ライン プロセスとしてロボットを起動できる場合がありますが、ロボットは実際には記録されたスクリプトの実行に失敗します。

ビルド マシンにログインして「アクティブなデスクトップ」にすることは、受け入れられる解決策ではありません。

何か不足していますか?マシンに物理的にログインする必要がない方法で、事前に記録された Rational Robot スクリプトを継続的インテグレーション サーバーで実行することは可能ですか?

0 投票する
12 に答える
52172 参照

build-automation - 有望な代替案はありますか?

私は何年にもわたってメイクとメイクファイルを使用してきました。コンセプトは健全ですが、実装には何かが必要です。

問題を過度に複雑にしないための良い代替案を見つけた人はいますか?

0 投票する
4 に答える
1562 参照

ant - Rake に移行する価値はありますか?

アリからレーキに移行することは本当に有利ですか?

ant から移行して何か記念碑的なものを見つけた人はいますか?

参考までに: 現在の環境は、J2ME ビルド用の Ant です。

0 投票する
15 に答える
23021 参照

java - AntはWindows上のいくつかのファイルを削除できません

私はディレクトリを作成し、javacとすべての通常のものを呼び出すantビルドを持っています。私が抱えている問題は、クリーンアップ(生成されたものをすべて削除)しようとすると、一部のファイルを削除できなかったという削除タスクレポートが表示されることです。それらを手動で削除しようとすると、問題なく動作します。ファイルは他のプロセスによって開かれていないようですが、antはまだそれらを削除することができません。私に何ができる?