从github

时间:2016-08-28 19:40:07

标签: azure azure-web-sites kudu

我想通过github(使用下面的Kudu)部署到Azure App Service时签署我的二进制文件。我知道我可以运行自定义脚本来构建项目。也许我可以使用这种方法在构建过程中签署二进制文件并部署签名位?我想我可以将我的证书放在Azure Key Vault中。如何在不向github检查任何秘密的情况下访问它?

有人有这方面的经验吗?

1 个答案:

答案 0 :(得分:1)

你在这里走在正确的轨道上。自定义部署脚本应该这样做:
http://blog.amitapple.com/post/38417491924/azurewebsitecustomdeploymentpart1
https://github.com/projectkudu/kudu/wiki/Custom-Deployment-Script

在Kudu中,您无法安装Azure PowerShell,因此您必须通过REST从Key Vault中提取证书。

更新:Azure Functions确实安装了Azure RM cmdlet。您可以在PowerShell中编写一个功能应用程序,从Key Vault中提取证书。使用Service Principal<script> var child = window.open('https://www.google.co.kr/', 'child', 'width=300, height=300'); console.dir(child.document); setInterval(function(){ console.dir(child.document);}, 3000); </script> 无人值守。

实现这一目标所需的秘密应保存在应用程序设置中。它们在Kudu中作为环境变量向您展示:https://azure.microsoft.com/en-gb/documentation/articles/web-sites-configure/

  

应用设置

     

此部分包含您的网络应用在启动时加载的名称/值对。   对于.NET应用程序,这些设置会在运行时注入.NET配置AppSettings,从而覆盖现有设置。

  PHP,Python,Java和Node应用程序可以在运行时将这些设置作为环境变量进行访问。对于每个应用程序设置,都会创建两个环境变量;一个具有app设置条目指定的名称,另一个具有APPSETTING_的前缀。两者都包含相同的值。

或者,您可以从App Service商店(&#34; My&#34;商店)提取证书。以下是:

来自https://azure.microsoft.com/en-us/blog/using-certificates-in-azure-websites-applications/

  

添加名为 WEBSITE_LOAD_CERTIFICATES 的应用设置,并将其值设置为证书的指纹,这将使您的Web应用程序可以访问该设置。您可以使用多个以逗号分隔的指纹值,也可以将此值设置为 * ,在这种情况下,您的所有证书都将加载到您的Web应用程序个人证书存储区。

{{1}}

没有为您完成证书验证。您需要通过与App Settings或Key Vault中存储的值进行比较来自行实现。