繁体   English   中英

如何在使用Azure Webjobs和计划部署Web项目时启用非交互式身份验证?

[英]How to enable non-interactive authentication when deploying Web project with Azure Webjobs and schedules?

问:在使用Azure Webjobs和计划部署Web项目时,如何为多个订阅启用非交互式身份验证(通过管理证书)?

全文:前段时间我们在Azure / .NET项目中添加了一个Azure WebJob(预定)。 在我们尝试部署它之前,我们非常喜欢这种简单性,特别是使用CI。 我们使用Jenkins进行“一键式”部署到生产。

但是,为了使Web项目与Web项目一起发布(特别是为了创建调度程序),我们需要启用非交互式Azure身份验证 ,这是WebJobs带来的令人不快的惊喜。 但是我们通过将“webjob.props”文件添加到包含管理证书的WebJob项目的属性来解决这个问题。 这是代码:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="AfterSetScheduleProperties" AfterTargets="SetScheduleProperties">
      <PropertyGroup>
        <ManagementCertificate>Here is the cert.</ManagementCertificate>
        <SubscriptionId>Here was our production subscription ID</SubscriptionId>
      </PropertyGroup>
  </Target>
</Project>

所以现在最后问题是:我们需要支持从CI(Jenkins)到多个订阅的部署。 非交互式身份验证应该适用于所有这些身份验证。 实现这一目标最简单的方法是什么? 我找不到关于这个主题的好资源。 我正在考虑以某种方式进行webjobs.props文件的构建配置特定转换。 但是如果可能的话,我想避免使用更清洁的解决方案。

部署计划的WebJob包含两个不同的部分:

  1. 将WebJob文件部署到Web App
  2. 设置调度程序

我猜你的问题更多地与#2相关而不是#1。 好消息是,有一种使用CRON表达式调度WebJob的替代方法,这可以通过将文件部署到Web App(因此没有#2)来实现。 您可以在文档中找到有关它的更多详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM