如何恢复与发布配置文件关联的密码?

时间:2016-12-16 16:25:16

标签: visual-studio-2015 azure-web-sites webdeploy

我使用Publish(Web Deploy)将MVC和Web API应用程序部署到Azure Web服务。当我这样做时,会创建一个.pubxml文件并将其存储在源代码管理中,但密码(可以理解)不在该文件中。

现在想象我有5个开发人员,但我只希望其中2个能够进行部署。到目前为止,对于我和3个不能进行部署的开发人员来说,我们都很好。但那个其他部署者呢?或者如果我想从第二个工作站部署(或者必须擦除我的主工作站)怎么办?我该如何恢复其他计算机的部署密码或允许其他部署者为自己恢复?

我确定要通过Azure门户来下载发布配置文件是解决方案的一部分,但是在最佳实践方式中这样做的其余部分是什么?

更新:我不希望将部署过程从Visual Studio中删除。这是用于原型设计应用程序,我不会投入脚本化构建自动化,直到我们有更少的流失和我们不会丢弃的东西。但我仍然不会将Azure发布凭据放入源代码管理中。微软有一个如何做到这一点的愿景 - 这就是我正在寻找的。

附注:我有一个Jenkins构建服务器,它将一套14个应用程序推送到Azure中的37个不同的服务器(云服务,应用服务,虚拟机等)。我知道了。但这不是正确的解决方案。

3 个答案:

答案 0 :(得分:0)

正确的解决方案是停止从Visual Studio发布。在适当的工具(如TFS RM,VSO或Octopus Deploy)中创建一个小型发布管道,以部署您的应用程序。

在.pubxml文件中,您将输入一个伪造的密码,您将使用持续部署管道在部署之前及时插入正确的值。我上面提到的所有解决方案都有详细的访问控制,并且可以输入无法返回的替换值。

答案 1 :(得分:0)

目前,您正在使用开发计算机进行开发构建部署

您应该考虑将build serverautomatic deployment too l与访问控制一起使用。您选择的工具具有与Azure一起使用的在线支持和教程。

答案 2 :(得分:0)

最初发布的问题的答案是:

  1. 转到Azure门户并下载您需要执行此操作的所有应用程序的“发布配置文件”。您现在可以通过现代门户网站选择应用服务 - > [选择合适的应用服务] - >概述 - > “...更多”(在顶部) - >获取发布资料。
  2. 在Visual Studio中,拉出应用程序的“发布”对话框
  3. 选择您要更新的发布配置文件(如果您有多个,则必须为每个配置文件执行以下步骤)
  4. 单击“上一步”按钮,直到看到空白的密码文本框
  5. 打开您在步骤1中下载的相应发布配置文件XML文件,然后从userPWD字段中复制密码。
  6. 将该密码粘贴到步骤4中的文本框中。
  7. Image of the Password textbox in the Publish dialog

    1. 取消选中并重新检查“保存密码”框(我发现它有时不能真正保存,除非我这样做但有时确实如此 - 一旦我执行此步骤就没有问题)
    2. 验证连接。如果成功,你可能应该很好。
    3. 单击“下一步”直到结束,但作为添加的测试,请执行“预览”以确保一切正常。
    4. 这些步骤可能会对您的pubxml文件进行更改,但可能不会。密码不存储在该文件中,但是如果Visual Studio正在管理密码,则通常不在源代码控制之外。但是,我建议您采取重要的增加步骤,对您提交源控制的所有内容执行差异,以确保不会意外提交此发布密码!