如何使用Git部署Azure来实现以下部署目标?
我目前使用Github和临时分支部署到暂存Azure网站。由于我部署到公共存储库,git会忽略web.config文件。 (编辑:我刚刚得知忽略web.config实际上会导致azure上的部署错误)
感谢任何帮助/建议。
答案 0 :(得分:1)
实际上应该比这更简单。请参阅this page。基本上,我们的想法是您在Azure门户中设置一些AppSettings来覆盖提交给您的仓库的默认值。
答案 1 :(得分:0)
嗯......这就是我现在所做的对我有用的事情。
要在本地快速切换虚假的内存数据,我使用编译符号LOCAL
和预处理器指令#if LOCAL
。
当您部署到Azure时,相同的编译符号有效,因此我可以处理虚假数据,直到我准备切换到真正的数据库。如果我真的想让它更容易切换,我也可以使用应用程序设置。
面临的挑战是在本地保留带有“秘密”(如连接字符串)的web.config,而不是将其暴露给Github。我将它添加到.gitignore,但随后我的部署开始在Azure上失败,因为它无法找到web.config。只是通过ftp将其复制到wwwroot没有帮助 - Azure正在寻找存储库中的web.config。
因此,为了完成这项工作,我先“稍微”改变了部署过程,首先将Web.config从wwwroot复制到存储库,然后再运行默认的deploy.cmd。这很简单 - 这就是你要做的:
使用以下内容在存储库的根目录中创建.deployment
文件:
[配置] command = deploy.my.cmd
使用以下脚本创建deploy.my.cmd
:
xcopy%DEPLOYMENT_TARGET%\ Web.config%DEPLOYMENT_SOURCE%\\ / Y
deploy.cmd
现在,我在本地拥有了秘密的web.config。 Git忽略了这个文件。我通过FTP将正确的web.config上传到Azure,每当我部署时都会使用它。