2015-11-10 40 views
4

問:如何在使用Azure Web作業和時間表部署Web項目時啓用非交互式身份驗證(通過管理證書)以實現多個訂閱?如何在使用Azure Web作業和時間表部署Web項目時啓用非交互式身份驗證?

全文: 前段時間,我們在Azure/.NET項目中添加了一個Azure WebJob(預定)。在嘗試部署它之前,我們非常喜歡它的簡單性,特別是使用CI。我們使用Jenkins進行「單擊」部署到生產。

但是,爲了使WebJobs與Web項目一起發佈(特別是要創建Scheduler),我們需要啓用Non-Interactive Azure Authentication,這是WebJobs帶來的一個令人不快的驚喜。但是我們通過將「webjob.props」文件添加到包含Management證書的WebJob項目的Properties中來解決這個問題。下面是代碼:

<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(詹金斯)多種簽約支持部署。非交互式身份驗證應該適用於所有這些身份驗證。什麼是實現這個最簡單的方法?我無法找到有關此主題的良好資源。我正在考慮以某種方式對webjobs.props文件進行構建特定的轉換。但我希望儘可能避免使用更乾淨的解決方案。

回答

3

部署計劃WebJob包括在兩個截然不同的部分:

  1. 部署WebJob文件複製到Web應用程序
  2. 設置

我猜你的問題涉及多個調度到#2比#1。好消息是,有一種使用CRON表達式來安排WebJob的替代方法,這可以簡單地通過將文件部署到Web應用程序(所以不需要#2)。你可以找到更多關於它的細節in the documentation

相關問題