問題タブ [build-numbers]
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.
git - 複数の作成者がバージョン管理を使用している場合、ライブラリのビルド数をどのように追跡しますか?
これが一般的なことなのかどうかはわかりませんが、個人的にはコードをビルドした回数を常に記録しています。つまり、私が呼び出しmake
た回数とビルドが成功した回数の両方です。
私の現在の解決策
ファイルをパラメーターとして受け取り、それを開き、内部の数値を増やして上書きする単純なコードがあります。make
このコードは、呼び出されたときに最初にコンパイルされます。
その直後にが呼び出され、ライブラリをビルドするため./increase_build build.txt
に呼び出した回数が増えます。make
次に、コードをコンパイルして lib ファイルを作成します ( を使用ar cq ...
)。その後、./increase_build libbuild.txt
成功したビルドの数をインクリメントする が呼び出されます。最後に、テストがビルドされます。
これは、私の Makefile の 1 つの例です。
気になった理由
バージョン管理を使い始めるまで、これは常にうまくいきました。問題はないように思えました。私は自分のライブラリの唯一の作成者であり、機能を 1 つずつ追加しています。
しかし、ある日、ブランチとマージをテストしていたので (自分では git を使用し、仕事では svn を使用しています)、ブランチに 1 つの機能を追加し、master で何かを変更して、2 つをマージしました。ビルド カウント ファイルの値が異なるようになりました。
問題
問題は、ブランチの時点で、ビルド カウントが 100 であるとしましょう。その後、ブランチに何かを書くと、ビルド カウントが 110 になります。マスター ブランチに何かを書くと、ビルド カウントが 120 になります。 2 つ、1 つは 110 で、もう 1 つは 120 です (ちなみにこれは矛盾しています)。正しい解決策は、ビルドを 130 に設定することです。
ただし、ブランチが開始されたコミットに戻ることができません (読みたくありません)。それが 100 だったことがわかるので、100+(110-100)+(120-100) = 130 を計算します! これを自動化してほしい
質問
質問は明らかです。これを行うにはどうすればよいですか? バージョン管理を行っているときに、ビルド カウント (コミット カウントではない!) を追跡するにはどうすればよいですか? バージョン管理システムを変更すると、問題が新たに発生するため、バージョン管理の機能に基づく回答は必要ありません。
私ができることは、ビルドごとにビルドカウントファイルに1行追加することでした。データと時間で何かを言います。ビルド番号は、ビルド カウント ファイルの行数になります。また、正確に同時に実行された 2 つのブランチで 2 つのビルドを取得しない限り、ファイルのマージは 2 つの結合にすぎません。
私は疑問に思っていますが、これに対するより良い解決策はありますか?私が望むもの (ビルド数) は努力する価値がありますか?
PS なぜ私がビルド数と成功ビルド数の両方でそれを行うのか疑問に思っているなら、それは単なる個人的なものです。コードを書いているときに小さなタイプミスやエラーが発生した場合に、どの程度再構築されるかを確認するのが好きです。
編集:私は C と C++ でプログラミングしているので、どちらのソリューションでもうまくいきます。
teamcity - Teamcityカスタムビルド番号ジェネレータ
Teamcityビルドは現在、1.0.0。[SVN REVISION]の形式でビルド番号を生成し、MSBUILDに渡します。
これを1.0。[DLLVERSION]。[SVNREVISION]の形式に変更する必要があります。ここで、依存dllのドットのないバージョンを挿入します。たとえば、依存dllがバージョン1.2.3.4の場合、生成されるビルド番号は次のようになります。 1.0.1234。[SVNリビジョン]。
依存するdllはビルドソースの一部であるため、ビルドパラメータと、バージョン情報のためにそれを統合する小さなexeを使用して何かを実行できることを望んでいましたが、UIを介してこれを組み込む方法はわかりません。
これが可能であれば何かアイデアはありますか?
xml - Antは複数のマニフェストを持つ複数のjarファイルをビルドしますが、BuildNumberは1つです
必要な変数が 2 つあります。最初は yyyy-MM-dd 形式の DSTAMP で、もう 1 つは私の .build ファイルからの buildNumber です。このような単純な構造では:
私の質問は、${build.number} と DSTAMP をプロパティのように設定するにはどうすればよいですか? 私はこれをやろうとしました:
Ant スクリプトのどこにでも ${build.number} と ${DSTAMP} を使用してアクセスできると思っていましたが、予期しないトークンと表示されます。これらのプロパティを保存してどこからでもアクセスするにはどうすればよいですか?
Ant バージョン 1.5.4。Ant 1.6+ではそれを受け入れるようですが、これだけのためにライブラリを変更したくありません。
ruby-on-rails - ルビーコードでgithubからビルド番号と日付を追加するにはどうすればよいですか?
githubから最新のgithubコミット番号を自動的にインポートするにはどうすればよいですか?
目標は、SOが日付で行うように、その番号をWebページのフッターに表示することです。
構造は何ですか:
Capistranoを使用してデプロイされた本番ブランチがあります。最新のgithubコミット番号と、デプロイされた日付を表示したいと思います。
maven - maven buildnumber プラグインを使用して、scm チェックなしでビルド番号を生成することは可能ですか?
Maven ビルド番号プラグインの使用中に次の例外が発生します。ビルド番号プラグインの使用中に SCM チェックを無効にすることはできますか? このプラグインを使用して、非 SCM ビルドでビルド番号を生成できますか?
ビルド中の例外:
POM 構成:
visual-studio - アセンブリバージョン番号1を1増やす方法
AssemblyVersion属性を次のように設定しました。
[assembly: AssemblyVersion("1.0.0.*")]
組立や時間の変化に伴い増加しています。現在は次のとおり{1.0.0.20042}
です。アセンブリ内のcsファイルを変更しないと、増加しません。しかし、このアセンブリでクラスファイルの1つを変更した場合、バージョンは1つだけ増加しません。私が記事を誤解していなかったならば、それは時間に依存して増加しています。しかし、ビルド番号に応じて、このインクリームを設定したいと思います。
このバージョン番号からビルド番号を学習したり、それをインクリーム1に設定したりする方法はありますか?
maven-2 - 確実なレポートに新しいテーブル エントリを追加する方法
私はmavenが初めてです。そのため、それに対処するのは難しいと感じています。2 つの質問があります。
- 新しいテーブルなど、Maven Surefire レポート プラグインに新しいコンテンツを追加する方法はありますか。必要に応じてレポートをカスタマイズしたいと考えています。
- buildnumber プラグインを使用して実行ごとに一意の実行 ID を取得していますが、この ID がレポートに反映されていません。buildnumber プラグインは Subversion でのみ動作しますか?
ポンポンは;
もう 1 つクエリがあります。
3->完全なテストスイートのバッチファイルまたはexeファイルを作成すると、多くのJVMで同時に実行できます。たとえば、1つのJVMを実行しているEclipseで実行できます。しかし、Eclipse を使用しておらず、testsuite バッチ ファイルを直接実行するだけで、JRE が多くの JVM インスタンスをインスタンス化できる場合があります。可能であれば、各テスト スイートを .m2 リポジトリに関連付ける必要がありますか。