タグ付けされた質問 「builds」

最も単純なタイプのビルドは、(ソース)コードをコンパイルして実行可能なバイナリファイルに変換するプロセスです。より複雑なビルドでは、単体テストや統合テストを実行したり、ツールを使用してコードの品質に関するレポートを生成したりすることもできます。最後に、多くの場合、ビルドは継続的インテグレーション(CI)システムによって自動的にトリガーされます。

3
「make」の増分ビルドでハッシュアルゴリズムが使用されないのはなぜですか?
私はの初心者でmakeあり、いつ使用するか迷っていますmake clean。 ある同僚は、増分ビルドmakeはファイルのタイムスタンプに基づいていると私に言った。そのため、VCSで古いバージョンのファイルをチェックアウトすると、「古い」タイムスタンプが付けられ、「このファイルを再コンパイルする必要がない」とマークされます。その後、そのファイルは次のビルドに含まれません。 同じ同僚によると、それを使用する理由になりますmake clean。 とにかく、私make cleanは他のStackExchangeの質問から「いつ使用するか」という質問への答えを大まかに得ましたが、私のもう1つの質問は次のとおりです。 makeたとえば、SHA-1ではなくファイルのタイムスタンプに依存してインクリメンタルビルドを行うのはなぜですか?たとえば、Gitは、SHA-1を使用してファイルが変更されたかどうかを正常に判断できることを示しています。 速度の問題ですか?
10 builds  make 

9
開発者は、実際のプログラムの前に内部ライブラリをコンパイルする必要がありますか?
最近、私が一緒に仕事をしている上級開発者が、開発者に最新バージョンを入手し、プロジェクトの一部として主要な内部ライブラリをコンパイルするよう要求することを主張しました。これは、プロジェクトチームが内部のMavenリポジトリから取得する安定したバージョンを使用して作業する必要があるという反論とは対照的です。開発者は、ソースコードを開発者のマシンで利用できるようにすると、ライブラリのソースを読み取ることができるので時間を節約できると主張しました。必要な機能が利用可能かどうかを判断するコード。 上級開発者には有効な議論がありますか?それとも、開発者に、ライブラリのソースコードを読み取って、カプセル化の基本的な哲学に対抗し、そもそもライブラリを用意するように要求するのでしょうか。

1
TFSビルドプロセステンプレート(ワークフロー)を使用した展開
複雑な展開にTFSビルドワークフローを使用することを考えています。展開が必要なものがあります。 Webアプリケーションとサービス データベース SSRSレポート SSISパッケージ 他に何を知っている人 どのビルドをデプロイして実行するかなど、ワークフローにいくつかの基本的なパラメーターを与えることができるという事実が気に入っています。潜在的に、一部の部分は人間の承認を必要とする可能性があり、ワークフローもそれを処理できることを知っています。例として、ワークフローを使用してVisual Studioデータベースプロジェクトから変更スクリプトを作成する場合がありますが、DBAグループはスクリプトを実行する前に承認する必要があります。 他の人が過去にこの目的で「ビルド」を使用したかどうか、およびどのような問題が見つかったかを知りたいです。

9
.NETポートフォリオの自動ビルドプラットフォーム-最良の選択?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 6年前休業。 .NETアプリケーションのかなり大きなポートフォリオの維持に携わっています。また、ポートフォリオには、他のプラットフォーム(ネイティブC ++、ECLIPSフォームなど)の上に構築されたレガシーアプリケーションがあります。 NAntの上に、これらのすべてのアプリケーションのビルドを管理する複雑なビルドフレームワークがあります。ビルドフレームワークはNAntを使用してさまざまなことを行います。 Subversionからコードを引き出し、Subversionでタグを作成する MSBuild for .NETまたは他のプラットフォームの他のコンパイラを使用してコードをビルドします AssemblyInfoファイル内を調べてバージョン番号を増分する ビルド/リリースに含めるべきではない特定のファイルを削除する コードをリリースフォルダにリリース バックアップ用にZipコードを作成 Windowsサービスを展開します。それらを開始および停止する 等。 それらのほとんどはNAntだけで実行できますが、NAntが環境に固有のいくつかのことを実行するための拡張タスクをいくつか作成しました。また、上記のプロセスのほとんどは汎用化されており、さまざまなアプリケーションビルドスクリプトの多くで再利用されているため、ロジックを繰り返さないでください。したがって、これは単純なNAntコードではなく、単純なビルドスクリプトでもありません。ビルドを実行するために一緒に来るNAntファイルは数十あります。 最近、私はいくつかの理由でNAntに不満を感じています。(1)構文がひどい-XMLの上にあるプログラミング言語を維持するのは本当に恐ろしいです。(2)プロジェクトは蔓延してしまったようです。最近は大量の更新が行われておらず、実際には誰も舵を取っていないようです。.NET 4で動作するようにしようとすると、このアクティビティがないためにいくつかの問題が発生します。 それで、その背景のすべてを片付けて、ここに私の質問があります。上記のリストに基づいて達成したいことがいくつかあり、私は主に.NETショップにいるが、.NET以外のプロジェクトもビルドする必要があることを考えると、NAntに代わる代替案がありますか?に切り替えますか? 私のレーダー上のものが含まPowerShellの(の有無にかかわらずpsake)、MSBuildのを自分自身、そしてによって熊手。これらにはすべて長所と短所があります。たとえば、MSBuildは十分強力ですか?私はそれを何年も前に使用したことを覚えており、NAntほど強力ではなかったようです。本当にrakeを使用してビルドを行うためにチームにRubyを学習させたいですか?psakeは本当に自分のポートフォリオを固定するのに十分なほど成熟したプロジェクトですか?Powershellは「金属に近すぎる」ので、自分でビルドライブラリを作成して、それをそのまま使用するためにpsakeと同じようにする必要がありますか? 他に検討すべきツールはありますか?非常に複雑な.NETポートフォリオの保守に携わっていた場合、どのビルドツールを検討しますか?あなたのチームは現在何を使用していますか?

2
Automake-ソースツリーをきれいに保つ方法は?
自分でビルドするためにGNU autotoolsを使用するプロジェクトがあります。autotoolsがバージョン管理されていないすべての制御ファイルを別のディレクトリに生成するように変更しようとしています。そうすることで、ソースツリーに一時ファイルをきれいに保つことができます。誰でもこれを行う方法について何かアイデアがありますか?
10 builds 

4
引数はバイナリファイルをSCMにチェックインすることを再度示します
私は主にJavaアプリケーションを構築している会社で働いており、SCMへのバイナリファイル(依存関係と最終製品)のチェックインを停止するようにみんなを説得しようとしています。 彼らはそれが悪い習慣であることを知っていますが、彼らは「それはうまくいく」と考え、多くの人がMavenやAnt以外のビルドのための他のツールについて知っていても、実際には問題ではありません。PMとプログラマー(約50人)のどちらも、反対意見に耳を傾け、バックアップスペースの浪費であることを認める用意がありますが、習慣の変化には多大な労力が伴うため、私は本当に納得したいと思います。変更をサポートするためにどのような議論を使用しますか? 編集:さて、依存関係のようなほとんど変化しないファイルと生成されたファイルを区別することは理にかなっています。それでも、後者に反対する理由に興味があります。
10 java  builds 

1
ソース内ビルドとソース外ビルド
私の(主にC ++)開発では、長い間、ソース外ビルドの使用に固執してきました。つまり、私のソースは通常/project/srcディレクトリにあり、ビルド/project/build/bin/releaseは/project/build/bin/debugディレクトリにあります。これを行ったのは、中間ファイルからソースディレクトリをクリーンに保ち、すべてのバイナリを1か所にまとめ、パッケージ化がより簡単になり、クリーニングがより簡単になり、バージョン管理がより簡単になるからです。(私は何かを見逃しましたか?) 現在、ソース内ビルドを使用する(大きな)プロジェクトを継承しています。このタイプの構造の動機は何ですか?その利点は何ですか?(私は、エンジニアリングレベルの理由と個人的な好みのタイプの理由に最も懸念しています。) Lakosの "Large-Scale C ++ Software Design"がそれを考慮に入れてくれることを期待していましたが、そうした場合は見逃しました。

1
なぜApacheにはビルドと依存関係管理のための2つの別個のツールがあるのですか?
Apacheには2つの別個のツールがあります。 Apache Maven Apache Ant + Apache Ivy 彼らは両方とも同じニッチを埋めているようです。2つの質問があります。 2つのツールの主な違いのハイライトは何ですか? 2つの違いについて、本当に長い記事を書くことができると私は確信しています。詳細については探していません。 プログラミングの歴史-最終的に目的が非常に似ている2つの完全に独立したツールセットを作成するようにApacheが進化したのはなぜですか?

5
2つのDLLが競合して、ビルドするソリューションが妨げられる可能性はありますか
特定のケースがありますが、一般的な状況について疑問に思いました。 2つのDLLをVisual C#プロジェクトへの参照として追加すると、ソリューションが構築されないように互いに衝突する可能性がありますか?これが事実である場合、これを軽減する可能な方法は何ですか。

4
継続的ビルドサーバー(cc.net、hudson、bambooなど)のリモートビルドエクスペリエンス?
現在、ビルドプロセスには.net(msbuild&nantを使用)とjava(mavenとantを使用)の両方をビルドするcc.netサーバーを使用しています。 CC.netはソース管理を監視し、別のサーバーで実行されているリモートビルドをトリガーします。CC.netは結果を照合します。 リモートビルドを実行すると、通常は次のようになります。 模擬データを使用してnunitまたはjunitまたは類似のものを実行します オプションでDBスクリプトを実行して、新しいデータベースインスタンスを作成するか、既知の位置からデータベースを復元します。 セレンなどを実行してUIをテストする コードカバレッジのためにemmaまたはncoverを実行します さまざまなデプロイメント環境(テスト、受け入れ、本番)向けのシステムを構築します いくつかのビルドを同時に実行している場合があります。.netとjava(別のプロジェクトチームからの)があります。 新しいプロジェクトをセットアップするときにリモートビルドを動作させるにはかなりの時間がかかり、cc.netよりもリモートビルドに適したものがあるはずだと感じています。 継続的インテグレーションシステムを使用したリモートビルドの経験はありますか? CIサーバーの機能リストは本当に欲しくありません。多言語、マルチサーバー環境でCIサーバーをどのように使用したかについて聞いていただければ幸いです。

2
ソースコードまたはバイナリに依存するには?
BがAに依存する異なるチームによって開発された2つの社内プロジェクトAとBがあります。両方のプロジェクトのソースコードはgitに格納されているため、プロジェクトAをサブモジュールとしてプロジェクトBに含め、ビルドシステムを構成しました両方を正しい順序で構築します。別の解決策は、ArtifactoryやNexusなどのバイナリリポジトリマネージャーを介してAを使用することです。 ソースコードに依存するか、バイナリアーティファクトに依存するかの長所と短所について疑問に思います。どちらが他より優れているのですか?これまでのところ、次のような要素を考え出すことができましたが、他の意見を聞くのはとても楽しみです。 ソースコードに応じてより良いです バイナリレポジトリマネージャーがない場合 別のプロジェクトのプレリリースバージョンに依存する必要がある場合 別のプロジェクトにパッチを適用する必要がある場合 IDEで依存関係のソースコードを簡単に参照できるため バイナリに依存する方が良い ビルド時間を最小限にする 別のプロジェクトのビルド環境をセットアップする手間を避けるため


5
エラーをキャッチするためにコンパイラーに依存するよりも良い戦略はありますか?
私はしばらくCとC ++でプログラミングをしてきましたが、私は専門家とは程遠いです。しばらくの間、単体テスト、テスト駆動設計、コードレビューなど、さまざまな戦略を使用してコードを開発してきました。 私がBASICで最初のプログラムを書いたとき、実行できないことを見つける前に長いブロックを入力しましたが、デバッグするのは悪夢でした。だから私は少し書き、それをテストすることを学びました。 最近では、小さなコードを繰り返し記述してから、コンパイラーを使用してすべての間違いを見つけることがよくあります。タイプミスを拾えば問題ありませんが、コンパイルするためにパラメータタイプなどの調整を開始すると、デザインを台無しにすることができます。また、構文のチェックにのみ使用する必要がある場合に、コンパイラーが設計プロセスに侵入しているようです。 私のプログラムをより良くするために、コンパイラーに過度に依存する危険があります。これより良い戦略はありますか? 少し前に、追加のヘッダーファイルでもプロトタイプを指定したCコンパイラのタイプを開発している会社に関する記事を漠然と覚えています。異なる方法で2回定義する必要がある場合は、API定義の不整合を見つけやすくなるという考えでした。
8 design  tools  builds 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.