tfs tfsbuild tfs2015

TFS 2015 Build vNext sustitución de variables recursivas



tfsbuild tfs2015 (2)

¿Es posible que la sustitución de la variable no sea recursiva?

Ejemplo 1:

Valor variable

SqlInstance (localDb) / mssqllocaldb

DbCatalogName FooDb

Fuente de datos ConnStr = $ (SqlInstance); catálogo inicial = $ (DbCatalogName) $ (Build.BuildId);

Durante la compilación, la cadena de conexión sustituye a: origen de datos = (localDb) / mssqllocaldb; catálogo inicial = FooDb3211;

Esta configuración funciona perfectamente. Pero si muevo el parámetro BuildId a la variable DbCatalogName, no será sustituido.

Ejemplo2:

Valor variable

SqlInstance (localDb) / mssqllocaldb

DbCatalogName FooDb $ (Build.BuildId)

Fuente de datos ConnStr = $ (SqlInstance); catálogo inicial = $ (DbCatalogName);

Con esta configuración, la cadena de conexión se sustituye por: origen de datos = (localDb) / mssqllocaldb; catálogo inicial = FooDb $ (Build.BuildId);

Entonces, ¿cómo puedo encadenar variables con vNext?


Si desea que la variable "DbCatalogName" contenga el valor de BuildID, le recomiendo que agregue un paso de compilación power-shell adicional para establecer el valor de "DbCatalogName".

El código para establecer un valor de variable:

##vso[task.setvariable variable=testvar;]testvalue


El encadenamiento variable parece funcionar con la Actualización 3 de TFS 2015.