2017-12-19 7 views
0

私が構築する彼らのVSTSで友人を助けていますし、我々は両方の識別子

  • $(Build.BuildId)
  • $を構築使用しているを更新することは可能です(Build.BuildNumber)

これは、新しいVSTSビルドタスクを使用してInfo.Plistを更新するXamarin.iOSビルドに固有です。私たちはバージョンコードのために$(Build.BuildId)を使用する必要があります。これは単に増分する数字です。次に、実際のバージョン名に$(Build.BuildNumber)を使用します。ビルド文字列にこれをフォーマットした場合、それは次のようになります。

  • $(Build.BuildNumber) = 1.0.0
  • $(Build.BuildId) = 148
  • 結果= 1.0.0(148)

を問題は、私たちは既にビルドIDが大きいアプリケーションストアにアプリケーションを提出してから現在のビルドが何であるかです。同期を行うためにビルドXを何度も実行する代わりに、BuildIdを手動で更新して完全なワークフローに使用できるようにしたいと考えています。

答えて

0

いいえ、不可能です。

事前定義の変数Build.BuildIdの値は、VSTSアカウントのエコービルドを記録するために固有の値です。

ロギングコマンドでも値を変更することはできますが、現在のビルドでのみ機能します。次にビルドをキューに入れると、ビルドIDは何の効果もなく増加し続けます。このような電流Build.BuildIdとして

には、ビルドにWrite-Host "##vso[task.setvariable variable=Build.BuildId]2148" 100に値を使用している場合でも、148ですが、別のビルドがキューに登録されている場合、Build.BuildIdは149

周りの作業は、ユーザーを使用してあるだろう定義された変数の代わりにBuild.BuildId

例えばcustom.BuildIdなどのユーザ定義の変数を追加し($(Build.BuildID)+GapNumber)で値を設定します。

現在のBuild.BuildIDが148の場合、アプリケーションストアで送信したビルドIDは2148ですので、の値は($(Build.BuildID)+2000)です。次に、変数$(custom.BuildId)$(Build.BuildNumber)をアプリに使用します。次のビルドのために

enter image description here

custom.BuildIdの値は1149になります。

+0

これは現在のところ最適な回避策です。私はマイクロソフトのChris Pattersonと話をしていました。彼は、BuildIDがどのように動作するかのようなシード番号で増分をサポートする2018年初頭に新しい機能が追加されている –

関連する問題