【发布时间】:2015-12-06 17:26:17
【问题描述】:
我想通过 GitHub 将我的 Node.js 应用程序部署到 Azure。
我打算将应用程序开源,因此不会在 repo 中发布私人信息;但是,我仍然需要推送必要的凭据、API 密钥等,以便应用连接到其他服务。
如何在不使用私有 Git 端点的情况下部署应用程序,然后在存储库之间进行尴尬的复制粘贴?
【问题讨论】:
-
你可以看看node-github
我想通过 GitHub 将我的 Node.js 应用程序部署到 Azure。
我打算将应用程序开源,因此不会在 repo 中发布私人信息;但是,我仍然需要推送必要的凭据、API 密钥等,以便应用连接到其他服务。
如何在不使用私有 Git 端点的情况下部署应用程序,然后在存储库之间进行尴尬的复制粘贴?
【问题讨论】:
通常,您需要使用像 nconf 这样的 npm 模块从文件或环境变量中加载环境变量。
config.json 只是一个 JSON 文档,列出了您的键:值对。您需要将config.json 添加到您的.gitignore 文件中,以确保您不会公开分享您的凭据。
在Azure Portal 中,您需要在应用程序设置下将您的凭据添加为键:值对。
注意:您可能想知道如果找不到 config.json 会发生什么。 nconf 将简单地转到下一个链接选项。您可以继续将配置选项链接在一起,如下面的代码 sn-p:
var nconf = require('nconf');
// Create nconf environtment
nconf
.file({ file: 'config.json' }) // Committed to repo; public settings
.file({file: 'local_config.json'}) // Not committed to repo; private or dev environment settings
.env();
【讨论】:
Persistent data 可以存储在d:\home 下,所以我建议将您的私人定制放在那里。如果需要以某种方式将它们应用到网站,您应该写一个deployment hook。
【讨论】:
将配置设置为设置->应用程序设置下的“应用程序设置”部分中的环境变量。基本原理here.
【讨论】:
您的问题似乎是通过 GitHub 存储库中的 Git 持续部署 Web 应用程序。 所以我认为@Dark Falcon 的回答是正确的。
Azure 持续部署支持 GitHub 只需要在 Azure Portal 中做 OAuth 认证即可。
在 Azure WebApp Dashboard 页面找到“从源代码管理设置部署”链接,然后一步一步进行,如下图所示。
有一些博客和视频教程可以帮助您的详细信息。
该博客解释了如何对托管在 GitHub http://azure.microsoft.com/en-us/blog/using-app-service-web-apps-continuous-deployment-with-github-organizations/ 上的 repo 使用持续部署支持。
您也可以按照这些视频教程尝试这样做,如下面的参考。
最好的问候。
【讨论】: