You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将现有Azure Functions迁移至源代码控制并恢复开发?

解决Azure Functions迁移至源代码控制的问题

我来帮你一步步搞定这个问题——既要把现有Azure Functions迁移到源代码控制仓库,还要恢复正常的开发能力,具体操作如下:

1. 先恢复函数的可编辑与运行能力

连接Deployment Center后,Azure会自动切换到源代码控制部署模式,这时候门户里的在线编辑器会被锁定,现有函数的运行也可能受影响。先暂时切换回来:

  • 登录Azure门户,进入你的目标Function App
  • 左侧菜单找到「Deployment Center」,切换到「Settings」标签页
  • 把「Deployment source」改成「None」,保存后等待3-5分钟,门户里的在线编辑器就会恢复可用,函数也能正常运行了

2. 导出现有函数代码到本地

现在可以把所有函数的完整代码导出到本地,这样才能推送到你的空仓库:

  • 方法一:用VS Code(推荐)
    安装Azure Functions扩展,登录你的Azure账号,在左侧Azure面板找到你的Function App,右键点击选择「Download Function App Content」,选一个本地文件夹保存即可。
  • 方法二:用Azure CLI
    运行以下命令(替换占位符为你的实际信息):
    az functionapp deployment source export --name <你的FunctionApp名称> --resource-group <资源组名称> --output-path <本地文件夹路径>
    
  • 导出后检查本地文件夹,确保包含所有必要文件:比如每个函数的function.json、代码文件(.cs/.py/.js等)、host.json、requirements.txt(Python)或csproj(.NET)等。

3. 将本地代码推送到空仓库

现在把导出的代码提交到你之前创建的空仓库:

  • 打开本地代码文件夹,初始化Git(如果还没做的话):
    git init
    git add .
    git commit -m "Initial commit: 导入所有现有Azure Functions"
    
  • 添加远程仓库地址(替换为你的仓库URL):
    git remote add origin <你的仓库HTTPS/SSH地址>
    git push -u origin main
    
  • 推送到仓库后,刷新仓库页面,就能看到所有函数代码了。

4. 重新连接Deployment Center并验证部署

现在代码已经在仓库里,重新配置Deployment Center:

  • 回到Azure门户的Function App「Deployment Center」
  • 重新选择你的仓库(GitHub/Azure Repos等),指定要部署的分支(比如main),点击「Save」
  • 等待Azure自动完成部署(可以在「Logs」标签页查看进度),部署完成后测试函数是否能正常运行
  • 之后你就可以通过本地修改代码、提交到仓库,Azure会自动同步部署;如果偶尔需要临时在门户编辑,可以暂时把Deployment source改成None,但建议尽量通过仓库管理所有变更,避免代码不一致。

额外注意事项

  • 一定要把local.settings.json添加到.gitignore里,这个文件包含本地调试的敏感信息(比如连接字符串、密钥),绝对不能推送到公共仓库,私有仓库也不建议。
  • 如果你的函数依赖第三方包,确保依赖文件(比如requirements.txt/package.json/csproj)已经包含在导出的代码里,否则部署时会因为缺少依赖失败。
  • 如果部署后函数运行异常,先看Deployment Center的「Logs」找部署错误,再去Function App的「Monitor」查看函数运行日志排查问题。

内容的提问来源于stack exchange,提问作者Just Shadow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:56:42