問題タブ [build-management]
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.
cross-compiling - ターゲット環境が異なるクロスコンパイル用のビルド環境を構築することは可能ですか?
オープンソースの世界の楽しさを学んでいる今日この頃です。Mac OS X のHomebrewパッケージ ビルド管理システムを使用すると、私の目的に合わせたソフトウェアのビルドは非常に簡単でシンプルになりました。
いずれにしても、これらのパッケージ システムはホスト システム専用に設計されています。OpenCV
他のシステム (iOS、Android、Ubuntu など) 用のライブラリ (例) を構築したい場合、オプションはありますか?
※クロスコンパイルB
とは、ホストシステム上でターゲットシステム用にコンパイルすることですA
。
maven - マスター pom ファイルを使用して Web アプリケーションのすべてのモジュールをチェックアウトし、すべてのモジュールをビルドする方法
複数のモジュールに依存する Web アプリケーションがあります。それを構築するために、マスター pom.xml ファイルがあります。この pom ファイルでやりたいことは、すべてのモジュールをチェックアウトすることです。以下は私のpomファイルです。
mvn scm:checkout とmvn scm:checkout -check-out-project1を試しましたが、次のエラーが表示されます: チェックアウト コマンドを実行できません: scm プロバイダーを読み込めません。connectionUrl パラメータを定義する必要があります。
すでにpomファイル内でconnectionUrlパラメーターが定義されているため、これがなぜ起こっているのかわかりません。取得したいアイデアのポイントは、複数のプロジェクトを同時にチェックアウトできるようにpomファイルを構成することです。ここで何が間違っているのか教えてください。事前に感謝します。
project-management - Perforceでのシャドウコピー?
私はチームと協力しており、perforce デポを管理するアプローチを再構築しようとしています。現在の解決策は、別の「作業」フォルダ構造を維持することです。各人は、規律フォルダーとして盛り上がる自分の作業フォルダーに制限されます。私たちには常にプロジェクトに出入りする人がいるので、芸術の誰もが誤ってプログラミングで何かを台無しにすることはありません. アセット (これはゲームです) が完成したら、チーム リーダーの 1 人がそれらを実際のビルドにコピーする必要があります。このようにして、ビルド自体の外で物事をきれいに整理して整理することができ、人々の一時ファイル/ソリューション/コード/その他で散らかることはありません。このアプローチで私が抱えている問題は、作業構造にファイルのコピーが既にあるという側面です。ゲーム フォルダにディープ コピーを行う必要はありません。ユーザー/グループの個人用フォルダーに存在するアセットからゲーム ビルドにファイルをシャドウ コピーする方法はありますか? ビジュアル (p4v) クライアントを使用しています。
jenkins - Jenkins を介してデプロイメントを管理するのは悪い習慣でしょうか?
Jenkins は当然、自動ビルド/デプロイ/テストおよびレポート アクティビティに使用されます。しかし、すべての環境関連のアクティビティを Jenkins でも管理するのは悪い習慣でしょうか? 私たちは、Microsoft Team Foundation Server でこのようなことを行いました。自動ビルド/デプロイ/テスト アクティビティがありましたが、データベースとアプリケーションのデプロイ アクティビティも TFS から管理しました。したがって、特定のデータベースを再構築する必要がある場合は、データベースを展開する手動スクリプトを実行する代わりに、データベースの展開を "右クリックして実行" するだけです。テストでも同じです。一連の UI テストを実行する必要がある場合は、UI テストのビルド アクティビティを開始します。
ただし、これが Jenkins での適切なプラクティスであるかどうか、またそれが適切なアイデアであるかどうかはわかりません :) 私の理解では、Jenkins は Ant を使用できるため、Jenkins を介して個々の Ant ターゲットを実行するのは非常に簡単です。
c# - TFS Build CopyDirectory エラーがビルドを停止しない
ビルド テンプレートに CopyDirectory ステップがあり、存在しないディレクトリが見つかった場合にエラーがスローされると想定していました。ただし、警告がスローされるだけで、ビルド自体は成功とマークされます。
私はそれを try/catch ブロックにラップしようとしましたが、手動で「スロー」例外ステップを実行しましたが、それでも機能しませんでした。buildStatus を failed に設定しようとしましたが、それもうまくいきませんでした。これを達成できる別の方法はありますか?コピー ディレクトリのいずれかが失敗した場合、ビルドを成功させたくありません。
編集:
これは、コピー ディレクトリがあるスニペットです。サーバーのリストをループして、一連のディレクトリをコピーしています。
java - Maven: ライフサイクル外のタスク (ファイルの更新/コピーなど) を構築しますか?
Maven を使用する場合、ビルド タスクを管理するための一般的なアプローチは何ですか? 私は現在、依存関係の管理に Maven を使用していますが、Ant や Rake が提供するものと同様に、ライフサイクルとは無関係にいつでも実行できるいくつかの「タスク」を定義する必要があります。名前で呼び出されるたびに一連のステップを実行する単純な「関数」です。
たとえば、1 つの「タスク」はjar
、ユーザー提供のフォルダーからファイルを取得し、コマンドを使用して私の Maven モジュールの 1 つに関連付けられたローカルの Maven リポジトリーにインストールし、mvn install:install-file -DlocalRepositoryPath=repo
そのモジュールの pom.xml を新しいものを指すように変更することです。 jar のバージョン。このタスクはライフサイクルとは関係ありません。特定のことを行う一般的なタスクであるため、手動で実行する必要はありませんmvn task:update-jar
。
もう 1 つの例は、Maven モジュールの 1 つ内のディレクトリの内容を削除し、ユーザー提供のディレクトリから空のディレクトリに内容をコピーする「タスク」です。繰り返しますが、このタスクは Maven や依存関係とは何の関係もありませんが、常に手動で行う必要はありません。
人々はこれらのタスクをどのように記述しますか? これはよくある問題に違いありません。Mavenがプラグインを提供してantrun
いることは知っていますが、私が知る限り、それは私が望むものではないMavenライフサイクルフェーズにしかバインドできません。build.xml ファイルを使用して maven 以外に Ant を使用することもできますが、Maven が自分でやりたいことを実行するように構成できるとしたら、それはばかげています。また、プロジェクトを管理するために Maven と Ant の両方を必要とするのは、最適とは言えません。
java - コード管理、同じパッケージの下の異なる環境の異なるコード
私はWebサービスへのクライアントコードを持つアプリケーションを持っています.アプリケーションは正常にテストされ、本番環境に移行されました.ライブ展開では、クライアントを再度生成する必要があり、実際には同じコードの下に2つの異なるクライアントを持つ同じコードがあります.パッケージ。
クライアント パッケージ aa A.java QA クライアント ファイル パッケージ aa A.java ライブ クライアント ファイル
問題は、そのようなシナリオのビルド管理であり、これを効果的に管理する方法についての提案です。
continuous-integration - マルチプラットフォームビルド & CI サーバー
私たちは UrbanCode の AnthillPro ビルドと CI サーバーを使用して、Linux、Windows、Solaris、hp-ux、aix などのさまざまな環境で C++ マルチプラットフォーム アプリケーションをビルドしています。はい、AnthillPro は当初、C++ アプリケーションをビルドするために設計されたのではなく、Java アプリケーション用に設計されたことを知っていますが、必要なことを実行することができました :)。現在、UrbanCode は IBM に属しており、AnthillPro を廃止しようとしているようです。そのため、現在代替ソリューションを探しています。Anthill で高く評価されている主な機能/新しいソリューションでサポートされることが期待される機能:
- 複数の C/C++ コンパイラのサポート (上記を参照)
- 優れた効率的な依存関係の管理と解決
- JavaC のサポート (将来的には非常に重要)
- 独自の「artifactory」 / Anthill の CodeStation アナロゴン
- ビルド ステーション間の作業配分 (Anthill's Agents コンセプト)
- ロギングおよびレポート ツール (obvoius)
この機能リストに準拠したソリューションを推奨できる人はいますか? 1 つまたは 2 つの機能がそのままではサポートされていなくても、オンボード ツールまたは unix のシェルやその他の管理ツールを使用して実装できる場合は、問題ありません。
jenkins - HA ジェンキンスのセットアップ
次のセットアップで高可用性 Jenkins 環境をセットアップすることに興味があります。
- 同じスレーブを使用する 2 つのアクティブ/パッシブ jenkins マスター
- 自動または手動のフェールオーバーを実行できるプロキシまたはロード バランサー。
Apache mesos がこの種の作業を実行できることがわかりましたが、セットアップは非常に複雑です。この問題に直面しているのは私だけではないと感じています。このセットアップの推奨事項は何ですか? できればオープンソースツール。
ありがとう!