为了向Rollbar发布部署通知,我需要提供一个环境。我有多个发布配置文件设置,以便我可以部署到各种开发,测试和生产环境。是否有可用于从发布配置文件访问配置文件/ DeployIisAppPath的属性或命令?
我有以下目标设置:
<Target Name="NotifyRollbarOfDeploy" AfterTargets="MSDeployPublish">
<Exec Command="git log -1 --format=%%H" ConsoleToMSBuild="true" EchoOff="true" WorkingDirectory="$(ProjectDir)\..">
<Output TaskParameter="ConsoleOutput" PropertyName="GitSHA" />
</Exec>
<Exec Command="git config user.email" ConsoleToMSBuild="true" EchoOff="true" WorkingDirectory="$(ProjectDir)\..">
<Output TaskParameter="ConsoleOutput" PropertyName="GitEmail" />
</Exec>
<Exec Command="@powershell -NoProfile -ExecutionPolicy unrestricted -Command "(new-object net.webclient).UploadString('https://api.rollbar.com/api/1/deploy/', 'access_token=REDACTED&environment=@(dev|test|production)&revision=$(GitSHA)&local_username=$(GitEmail)')"" EchoOff="true" />
</Target>
如何为环境提供此值?
答案 0 :(得分:0)
我的解决方法相当丑陋。我没有尝试从目标中检索信息,而是决定回到Rollbar建议的RollbarSharp片段。我需要在我的案例中添加三个构建配置:dev,test和prod,并连接我的发布配置文件以使用这些构建配置。然后,我为每个构建配置添加了web.config转换,指定了实际的rollbar环境设置应该是什么。
转换部分看起来像
<appSettings>
<add
key="Rollbar.Environment"
value="development"
xdt:Transform="Replace"
xdt:Locator="Match(key)"/>
</appSettings>