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.