在 MSDeployPublish 之后检索发布信息
Retrieve publish information after MSDeployPublish
为了 post 向 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>
如何在此处提供环境值?
我的解决方法相当丑陋。我没有尝试从目标中检索信息,而是决定使用 Rollbar 为 RollbarSharp 建议的代码片段。我需要添加三个构建配置:在我的案例中是开发、测试和生产,并连接我的发布配置文件以使用这些构建配置。然后我为每个构建配置添加了 web.config 转换,指定了实际的 rollbar 环境设置应该是什么。
转换部分看起来像
<appSettings>
<add
key="Rollbar.Environment"
value="development"
xdt:Transform="Replace"
xdt:Locator="Match(key)"/>
</appSettings>
为了 post 向 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>
如何在此处提供环境值?
我的解决方法相当丑陋。我没有尝试从目标中检索信息,而是决定使用 Rollbar 为 RollbarSharp 建议的代码片段。我需要添加三个构建配置:在我的案例中是开发、测试和生产,并连接我的发布配置文件以使用这些构建配置。然后我为每个构建配置添加了 web.config 转换,指定了实际的 rollbar 环境设置应该是什么。
转换部分看起来像
<appSettings>
<add
key="Rollbar.Environment"
value="development"
xdt:Transform="Replace"
xdt:Locator="Match(key)"/>
</appSettings>