VSTS在带参数的Mac上运行Powershell脚本

问题描述:

我有一个Xamarin.Forms项目,其中Android项目是使用在运行时运行powershell脚本的托管构建代理在VSTS中构建的。VSTS在带参数的Mac上运行Powershell脚本

我需要运行相同的PowerShell脚本对Xamarin.iOS使用本地Mac版本代理。但是如何?

我发现这个answer和答案下的评论也有关于参数的同样的问题,所以我发布解决方案在这里,因为问题是有点不同,这个问题有一个公认的答案。

首先,我使用these instructions在mac上安装了powershell,并修改了shell脚本任务以包含我想传递给powershell脚本的Visual Studio Team Services(VSTS)环境变量。

enter image description here

接下来,我通过稍微修改由referenced answer提到的shell脚本通过对所谓的PowerShell脚本传递参数。

#!/bin/bash 
powershell ./Version.ps1 $1 $2 

最后,在PowerShell脚本,我赶上已经通过使用使用PARAM这样传递的参数:

param([string]$version, [string]$path) 

其中我现在可以使用包含变量$版本和$路径在VSTS中输入原始参数以满足我的powershell脚本的需要。

+0

限制阻止我这样做的一天和那天后,我忘了它:P –