1. ホーム
  2. azure-devops

[解決済み] VSTSのビルド定義で$(Rev:r)を使用するにはどうすればよいですか?

2022-02-14 20:46:15

質問

今、私はabc.msiをabc_3.0.0$(Rev:r).msiにリネームするPowershellタスクを追加しましたが、Powershellタスクは失敗しています。 私はabc_3.0.0.1 ,abc_3.0.0.2,abc_3.0.0.3 ...などのビルド名の形式を持ちたいと思います。ビルドが増加するにつれて$(Rev:r)の値が増加し続けるはずです。

実行中のPowershellコマンドは以下の通りです。

Rename-Item -Path "C:\Softwares\vsts-agent-win-x86-2.147.1\_work\1\s\src\abcSetup\Release\abc.msi" -NewName "C:\Softwares\vsts-agent-win-x86-2.147.1\_work\1\s\src\abcSetup\Release\abc_3.0.0.$(Rev:r).msi"

エラーです。

Rev:r : 'Rev:r' という用語は、コマンドレット名として認識されません。 関数、スクリプトファイル、または操作可能なプログラムです。スペルを確認してください。 または、パスが含まれている場合は、そのパスが正しいことを確認し をもう一度試してみてください。で C:\Softwares\vsts-agent-win-x86-2.147.1_work_temp\fef4cc6a-e677-4a08-ab29-73c7c31da755.ps1:2 char:243 + ... ork1src³³³³Setup³Release³abc_3.0.0.$(Rev:r).msi" + ~~~~~ + CategoryInfo : ObjectNotFoundです。(Rev:r:String) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : CommandNotFoundException

[エラー]PowerShellはコード'1'で終了しました。

[セクション]終了:.MSIファイルの名前を変更する

解決するには?

Azure DevOpsの場合 $(rev:.r) は特殊な変数フォーマットで ビルド番号フィールド をエディタで表示します。

完成したビルドがすべて一意な名前を持つようにするには、$(Rev:.rr)を使用します。 ビルドが完了したとき、ビルド番号の他に何もない場合は、$(Rev:.rr) を使用します。 が変更されると、Rev 整数値が 1 つ増加します。

出典 ビルド定義全般の設定を指定する

BUILD_BUILDNUMBER は定義済み変数です。この名前で定義変数を作成すると、この変数を参照するすべてのタスクは、システム定義の値ではなく、この変数の値を取得します。

カウンタ変数を作成する場合は、counter()式で作成します。 詳しくはこちらのドキュメントをご覧ください . yaml中心ですが、エディターでも動作します。