2016-01-20 71 views
0

我对Azure和PowerShell完全陌生,但其任务是为多个应用服务设置构建和部署解决方案。通过PowerShell部署预构建的Azure Web服务

我们目前有一个运行CruiseControl.NET的构建服务器(Azure VM),用于构建和测试应该部署在Azure中的一些C#.NET解决方案。

此版本服务器当前处理以下任务:

  • 从源头控制拉代码时提交发生
  • 建设项目
  • 运行一些单元测试用例
  • 复印输出/二进制文件的输出位置

但是,现在,每个应用程序的开发人员一旦服务器验证构建和测试用例已通过服务器上的测试环境,服务器就需要通过点击Visual Studio中的按钮来从他们的开发机器手动“发布”他们的服务。

因为我希望有一个完全自动化的解决方案,我希望我需要使用像PowerShell或Azure跨平台CLI(npm)这样的东西?

我对Azure服务管理和Azure资源管理版本与新的Azure Powershell 1.0非常混淆。我们所有的服务似乎都是较新的资源管理版本,而不是“经典”。

的最终目标是让构建服务器上执行以下

  • 从源头控制拉代码时提交发生
  • 建设项目
  • 运行一些单元测试用例
  • 复印输出/二进制文件到输出位置
  • 如果构建和测试用例成功,则将服务以azure更新到最新版本

我希望有一种方法来设置这些项目,或者从构建中获取现有的二进制文件,并使用新的Azure资源管理PowerShell功能将它们部署到Web Apps中。

有关如何完成此操作的更多信息,请提供任何建议或资源?

希望这是有道理的。请让我知道,如果我正在以完全错误的方式去解决这个问题,或者让我去一个更正确的论坛。 谢谢!

回答

0

您是否考虑过使用Azure应用服务?你可以在那里免费获得这些构建基础设施。即摹https://azure.microsoft.com/en-us/documentation/articles/web-sites-publish-source-control/

一旦你设置的不断部署,你会得到下面的第三时有推送事件(如果你使用Git)

  • 从源头控制拉代码时提交发生
  • 建设项目
  • 复印输出/二进制文件的输出位置

和“运行一些单元测试的情况下”,你可以创建自己的批处理或PowerShell的脚本部署后挂钩https://github.com/projectkudu/kudu/wiki/Post-Deployment-Action-Hooks

+0

是的,这几乎就是我最初计划使用的解决方案! CruiseControl.NET处理构建并提供一个漂亮的Web前端的要求使得我无法再使用内置的Azure持续部署功能。 – Repkam09