如何将现有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
相关产品推荐
相关产品推荐

