小编Mat*_*ska的帖子

在Azure DevOps(VSTS)的发行阶段之间共享文件

大图:我们正在使用Azure DevOps发布过程(到目前为止,我们在设计器中创建步骤,而不是在YAML管道中创建步骤)。我们发布到具有3个不同数据库的3个环境。该发行版的一部分是从DACPAC文件部署数据库。由于使用SqlPackage.exe直接发布到数据库不是很透明(您不会看到并查看实际的SQL脚本),因此我们希望分两个阶段进行发布:

  1. 从DACPAC创建SQL脚本并对其进行检查
  2. 批准后,从先前生成的脚本运行app和db部署。

问题:如何在阶段之间共享sql脚本文件,以及如何查看该脚本以进行批准。可以在不同的代理上触发阶段。

我已经试过

  1. 将脚本发布为构建工件-这将无法正常工作,因为生成生成脚本需要连接到数据库,并且连接到脚本不应该是构建过程的一部分,尤其是连接到生产数据库。
  2. 作为发布步骤将工件发布到Azure Pipelines-不允许在发布时发布,仅适用于版本发布
  3. 将工件发布到文件共享-我不确定这是如何工作的,文档做得不好。而且,常规的Windows文件共享很难在我们的基础结构中设置,我宁愿避免这样做。

还有其他建议吗?

azure-devops azure-pipelines azure-pipelines-release-task

8
推荐指数
1
解决办法
794
查看次数

代码分析不适用于nuget包中的规则集(来自.props)

我正在尝试从nuget包中使用自定义规则集文件。我已经将.props文件添加到build文件夹中:

<Project>
  <PropertyGroup>
    <CodeAnalysisRuleSet>
      $(MSBuildThisFileDirectory)..\My.Shared.ruleset
    </CodeAnalysisRuleSet>
    <RunCodeAnalysis>true</RunCodeAnalysis>
  </PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

规则集文件位于程序包的根文件夹中,路径正确,正在将.props文件的导入添加到csproj文件中。

<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="..\packages\My.Shared.Rulesets.1.0.0.7118\build\My.Shared.Rulesets.props" Condition="Exists('..\packages\My.Shared.Rulesets.1.0.0.7118\build\My.Shared.Rulesets.props')" />
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  ...
Run Code Online (Sandbox Code Playgroud)

但是Visual Studio没有看到正确的规则集。当我从“引用”->“分析器”中打开活动规则集时,它指向另一个文件:MinimumRecommendedRules.ruleset,它使用的是该文件中的规则,而不是我的自定义规则。

  • Visual Studio社区2017版本15.5.0
  • 项目目标框架4.6.1

c# stylecop nuget visual-studio-2017

3
推荐指数
1
解决办法
1476
查看次数

具有动态 IP 的 Azure

目前我在家工作,从专用网络和动态IP(目前不可能获得静态IP)。

我们有几个虚拟机,将其他服务与 Azure 结合在一起,并且在网络安全组和防火墙中设置了 IP 限制。

是否有可能仅在一个地方设置我的“随时更改 IP”,以便它可以在 Azure 门户中用作变量,所以我只需要在一个地方更新它?

azure

1
推荐指数
1
解决办法
1495
查看次数