script ejemplos ejecutar desde crear comandos archivo powershell tfs vsts azure-web-sites vsts-build

ejemplos - ejecutar script powershell desde cmd



VSTS: pase las variables de compilaciĆ³n a la tarea de secuencia de comandos de Powershell (2)

Las variables de compilación se pasan automáticamente a todos los scripts de PowerShell como variables de entorno.

Entonces, si ha definido una variable myVar en la sección de Variables . Puede acceder a él como $env:myVar en su secuencia de comandos. Una cosa a tener en cuenta aquí es eso . se convierte en un _ . Por ej. si su variable es myVar.config , accederá a ella en su script como $env:myVar_config .

Las variables disponibles también incluyen variables como nombre de sucursal, número de compilación, etc. Para ver todas las variables disponibles, ejecute una definición ficticia de compilación / versión y agregue una tarea de PowerShell con tipo en línea y ejecute Get-ChildItem Env: Esto le mostrará todas las variables de entorno disponibles y podrá ver todas sus variables definidas personalizadas.

Más detalles están disponibles aquí

Idealmente, me gustaría configurar nuestra configuración de la aplicación Azure Web App utilizando variables de compilación (en VSTS), por ejemplo:

Realizamos nuestras tareas de publicación usando scripts de Powershell. Para establecer la configuración de la aplicación, se puede usar la siguiente secuencia de comandos:

param($websiteName, $appSettings) Set-AzureWebsite -Name $websiteName -AppSettings $appSettings

Podría pasar estas variables de compilación de forma manual en una tarea de compilación de scripts de Powershell, así:

PrepareAppSettings.ps1 -websiteName "MyWebApp" -appsettings @{"MyConnectionString" = $(MyConnectionString);"MyRandomService" = $(MyRandomService);"MyRandomServiceClient"=$(MyRandomServiceClient);"MyRandomServicePassword"=$(MyRandomServicePassword)}

¿Hay alguna manera de pasar todas las variables de construcción a un script sin tener que especificar explícitamente cada una en una tabla hash?


Las variables ya se han pasado al script de PowerShell cuando se inicia la compilación. Si entiendo su pregunta correctamente, quiere usar estas variables juntas en lugar de especificarlas una a una como las siguientes:

PrepareAppSettings.ps1 -websiteName "MyWebApp" -appsettings $(AllVariables)

Entonces no hay forma de hacer esto.

Si desea reducir las cadenas pasadas al script de PowerShell, puede establecer la variable de la siguiente manera:

VariableName: MyRandomService | Valor: "MyRandomService" = xxxxxxxx

Luego, solo necesita llamar al script de PowerShell con el nombre de variable aprobado.