問題タブ [build-process]
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.
java - Mavenでの統合テスト中に外部プロセスを開始する
Mavenプロジェクトの完全に自動化された統合テストが必要です。統合テストでは、実行する前に外部(プラットフォームに依存する)プログラムを開始する必要があります。理想的には、単体テストが終了した後に外部プログラムを強制終了しますが、必須ではありません。
これを実現するためのMavenプラグインはありますか?他のアイデア?
build-process - 無人ビルドでダイアログが表示されないようにする
あらゆる種類の対話型ダイアログが表示されないことが保証されるように、Windowsでプログラムを実行するための絶対確実な方法があるのではないかと思っていました。
レジストリの ErrorMode ハック、_CrtSetReportMode() の呼び出しなどを試しましたが、それらにはすべて穴が開いているか、プログラムを変更する必要があります。
任意のプログラムを実行し、実質的に Windows に強制的に実行させて、ウィンドウが開かないようにする方法が必要です。ウィンドウを開こうとすると、プログラムがクラッシュしてもまったく問題ありません。
プログラムをサービスとして実行することで問題は解決しますか?
sql-server - SQL サーバーの更新スクリプトを生成する比較ツール
Web アプリケーションの更新をできるだけ自動化したいと考えています。
データベースの 2 つのインスタンスを比較し、更新スクリプトを生成できるツールを探しています。ビルド プロセスの一環として、データベースの最新バージョン (つまり、現在運用中) のインスタンスを作成し、それを開発バージョンで変更された内容と比較します。
どんな入力でも大歓迎です。
visual-studio-2008 - Visual Studio 2008 でソリューションをビルドした後で、外部の実行可能ファイルを実行する方法はありますか?
プロジェクトのビルド後のイベントについて話しているのではありません。むしろ、ソリューション全体がビルドされた後に実行可能ファイルを自動的に実行したいと考えています。ソリューションのビルド後のイベントを行う方法はありますか?
build-process - BAT ファイル内のディレクトリにある最新のファイルを解凍するにはどうすればよいですか?
私はビルドシステムに取り組んでいます。ビルド システムは、結果を zip ファイルとしてディレクトリにポストします。残念ながら、タイムスタンプが付けられているため、zip ファイルの名前を簡単に知る方法はありません。次の操作では、この zip ファイルを特定の場所に解凍してから、さらにファイル操作を行う必要があります。
ビルドシステムを変更できると思いますので、コマンドラインから結果のzipファイルの名前を指定しますが、最新のファイルを見つけて解凍するのが最も簡単かもしれません(前のプロセスが成功)。
ディレクトリ内の最新の zip ファイルに対してのみ有効な unzip コマンドを発行し、他のすべてのファイルを無視するにはどうすればよいですか?
編集: 代わりに、このタスクに ANT の機能を使用することにしました。ただし、袖を立てるのはまだ巧妙なトリックです...答えてくれてありがとう!
com - ActiveX / COM / VB6 エンタープライズ プロジェクトのビルド プロセス
Microsoft社のActiveX/COM(VB6)技術を利用したソフトウェアシステムを開発しました。昨年、私は自動化されたビルド プロセスと SCM 全体にますます興味を持つようになりました。COM ベースのソフトウェア システムで scm を実行する方法のベスト プラクティスに関する情報を求めて、Web の大部分を集中的に検索しました。
COM の「問題」は、参照コンポーネントが一意のインターフェイス ID によって参照を保持していることです。参照されたコンポーネントを再コンパイルすると、ID が変更され、参照が無効になる場合があります。ここでの主な問題は、iid がバイナリにコンパイルされることです。したがって、コンパイルされたファイルをバージョン管理にチェックインしたくない場合、すべての開発者は自分のバージョンをコンパイルして他の ID を取得する必要があります。
システムをコンパイルするためにクリーン ビルド マシンでソースをチェックアウトしたい場合、すべての参照が無効であるため (バイナリ ファイルもインターフェイス ID もありません)、それは不可能です。
COM プロジェクト (VB6) 用の自動ビルド システムをセットアップする方法を教えてください。
編集: はい、互換性設定を認識しています。しかし、バイナリを使用せずにクリーンなビルド マシンで wohle システムをビルドするシナリオを考えてみましょう。プロジェクトがバイナリ互換性があると言うときは、プロジェクトが互換性のあるバイナリを提供する必要があります。
プロジェクトをコンパイルする前後に、プロジェクト ファイルの参照と互換性設定を変更するカスタム ビルド ツールを作成する必要があると思います。
VB6 / COM は非常に広く普及しているテクノロジであるため、すぐに使用できるソリューションが必要であると考えていました。
通常、バイナリ互換でコンパイルします。コンポーネントのパブリック インターフェイスを変更する場合、プロジェクトの互換性でコンパイルします。しかし、他の多くのコンポーネントで使用される基本的なコンポーネントのインターフェイスを変更する場合、参照しているすべてのプロジェクトをプロジェクトの互換性に手動で変更し、それらを再コンパイルして、バイナリ互換性に戻す必要があります。それが私が自動化したい主なプロセスです。
version-control - 常に変更されている外部依存関係を管理する方法
私たちの開発では多くのオープンソース コードを使用しており、これらの外部依存関係を管理する最善の方法を見つけようとしています。
現在の構成:
- LinuxとWindowsの両方で開発中
- 私たちは独自のコードにsvnを使用しています
- 外部の依存関係 (boost、log4cpp など) は svn に保存されません。代わりに、それらを ./extern (または Windows では c:\extern) の下に置きます。そのように更新することができないため、それらをリポジトリに入れたくありません。これらのいくつかは常に更新されています。
私の質問
外部コードを変更する必要がある場合はどうすればよいですか? 現在、extern_hacks という名前の svn リポジトリにフォルダーを作成しており、そこに変更した外部コードを配置しています。次に、ファイルを外部ディレクトリ構造にリンク (または Windows ではコピー) します。ファイルのコピーを追跡するのは難しく、ファイルが2つのリポジトリにある場合、svnから更新するのは非常に難しいため、このソリューションには問題があります(変更されたファイルの私のもので、元のリポジトリはsourceforgeと言います)
外部依存関係のバージョンを管理するには?
他の人がこれらの問題にどのように対処しているかを聞くことに興味があります。ありがとう。
c - C プロジェクトを自動的にビルドする
私は他の人たちと一緒にフリー ソフトウェア (bsd ライセンス) プロジェクトに取り組んでいます。ソース コード (svn) をチェックアウトし、それをビルドしてテスト (Check やその他のツールを使用した単体テスト) できるシステムを探しています。
Web ベースのインターフェイスがあり、レポートを生成する必要があります。
このようなシステムを null から自分で作成する必要がないことを願っています...
java - Maven ビルドの一部としてのソース コードの前処理
カスタムの前処理が必要な Java ソース コードが多数あります。処分したいのですが、今は無理なのでやめておきます。そもそも存在してはならない不幸な問題があることを考えると、maven を使用してどのように解決すればよいでしょうか?
(完全な話として、私はpythonベースのビルドシステムをmavenのものに置き換えているので、一度に1つの改善をお願いします。非標準のソースコードを修正するのは難しいので、後で行います。)
既存の Maven プラグインを使用して、コンパイル時にソース ファイルを実際に変更することは可能ですか? (明らかに、元の未処理のコードをそのままにしておきます)
明確にするために、前処理とは、アンテナまたは C コンパイラがコードを前処理するのと同じ意味での前処理を意味し、カスタムとは、完全に独自のものであり、C またはアンテナの前処理とはまったく似ていないことを意味します。
build-process - アプリケーションを自動ビルドするためにどのツールをお勧めしますか?
つい数年前まで、開発者は実際にクライアント向けのビルドを作成していました。これは、列挙するにはあまりにも多くの理由から、明らかに惨事でした。
その後、自分たちのやり方の誤りを学び始めたとき、専用のビルド マシンでアプリケーション全体を自動ビルドする方法を探しました。当時の文化は外部ツールを持ち込むことを非常に嫌っていたので、VB アプリを作成して独自の自動ビルド システムを構築しました。
プロジェクトの構造が変更され始め、新しいプロジェクトが追加され、さまざまな方法でアプリケーションを構築する必要が生じるまで、これはしばらくの間うまくいきました。その後、手巻きの自動車ビルダーの弱点が明らかになり、時間が経つにつれて、ますます面倒になりました。この病気は、ますます多くのプログラミング スキルが必要になるため、QA (ビルド プロセスの所有者) が autobuilder を維持することさえできないところまで進行しています。プロジェクトを追加したり、既存のプロジェクトで何かを変更したりするたびに、それを機能させるためにより多くの開発者の時間が費やされます。システムが壊れてビルドできない日もありました。
私は今、このプロセスを変更できる立場にあり、システム全体を破棄して、別のものを代わりに配置しようとしています。私の目標は次のとおりです。
- 毎日特定の時間に人的介入なしで実行できる自動構築システムを用意します。すべてのソース コードを収集し、すべてのアプリをコンパイルし、セットアップを作成し、完成した製品をネットワーク共有に配置し、自動テスト システム (QTP を使用) を起動できるようにする必要があります。
- autobuild システムは、大幅なオーバーホールを必要とせずに、プロジェクトの変更に容易に適応できる柔軟性を備えている必要があります。
- QA がシステムを所有でき、開発者のリソースがビルドの作成方法を変更する必要がないように、十分にシンプルにする必要があります。
あなたの経験は何ですか?自動構築システムをお勧めできますか? 違う目標を持つべきですか?