首页 > 系统相关 >【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误

【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误

时间:2024-05-13 20:11:54浏览次数:14  
标签:kB git 06 Service 0000 54 App Azure remote

问题描述

Python Flash应用上云,本地Git部署(https://docs.azure.cn/zh-cn/app-service/quickstart-python?tabs=flask%2Cwindows%2Cazure-cli%2Clocal-git-deploy%2Cdeploy-instructions-azportal%2Cterminal-bash%2Cdeploy-instructions-zip-azcli),遇见两类问题。

1: src refspec master does not match any

> git push azure master
error: src refspec master does not match any
error: failed to push some refs to 'https://xxxxxxxxx.scm.chinacloudsites.cn:443/xxxxxxxxx.git'

2:remote: Error - Changes committed to remote repository but deployment to website failed.

> git push azure main   
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 295 bytes | 295.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Deploy Async
remote: The current deployment branch is 'master', but nothing has been pushed to it
remote: Error - Changes committed to remote repository but deployment to website failed.
remote: Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
remote:    at Kudu.Console.Program.PerformDeploy(String appRoot, String wapTargets, String deployer, String lockPath, IEnvironment env, IDeploymentSettingsManager settingsManager, TraceLevel level, ITracer tracer, ITraceFactory traceFactory, IOperationLock deploymentLock, IBuildService buildService) in /tmp/KuduLite/Kudu.Console/Program.cs:line 220
remote:    at Kudu.Console.Program.Main(String[] args) in /tmp/KuduLite/Kudu.Console/Program.cs:line 95
remote: Aborted (core dumped)
To https://xxxxxxxxx.scm.chinacloudsites.cn:443/xxxxxxxxx.git
   223b3cf..6250814  main -> main

 

问题解答

面对问题,反复尝试。

继续使用 " git push azure master " " git push azure main " 指令push本地文件到App Service, 但总是显示 error : xxxx 或 Everything up-to-date 。 根本无法完成App Service的部署操作。

对比文档,对有默认的 master  branch变换为main,检查官方文档中,需要设置DEPLOYMENT_BRANCH参数,并设置为 main。

应用服务的默认部署分支是 master,但许多 Git 存储库将从 master 移至 main。 可以在推送中指定本地分支名称和远程分支名称之间的对应关系(如下所示),也可以配置 DEPLOYMENT_BRANCH 应用设置

配置完成后,通过对本地文件修改,使得 push 时不再是 everything up-to-date。

# 添加修改的内容

git add  . 

# 提交修改到本地 Ropes

git commit -m "update" 

# Push到App Service Repostory

 git push azure main 

 此次,输出内容完成,并明确提示Deployment successful。

PS C:\MyWorkPlace\CaseFile\CASE\msdocs-python-flask-webapp-quickstart> git push azure main
Everything up-to-date
PS C:\MyWorkPlace\CaseFile\CASE\msdocs-python-flask-webapp-quickstart> git add  .
PS C:\MyWorkPlace\CaseFile\CASE\msdocs-python-flask-webapp-quickstart> git commit -m "update"
[main a7afc79] update
 1 file changed, 1 insertion(+), 1 deletion(-)
PS C:\MyWorkPlace\CaseFile\CASE\msdocs-python-flask-webapp-quickstart> git push azure main
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 283 bytes | 283.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Deploy Async
remote: Updating branch 'main'.
remote: Updating submodules.
remote: Preparing deployment for commit id 'a7afc79780'.
remote: PreDeployment: context.CleanOutputPath False
remote: PreDeployment: context.OutputPath /home/site/wwwroot
remote: Repository path is /home/site/repository
remote: Running oryx build...
remote: Operation performed by Microsoft Oryx, https://github.com/Microsoft/Oryx
remote: You can report issues at https://github.com/Microsoft/Oryx/issues
remote: 
remote: Oryx Version: 0.2.20230508.1, Commit: 7fe2bf39b357dd68572b438a85ca50b5ecfb4592, ReleaseTagName: 20230508.1
remote: 
remote: Build Operation ID: 749d23a7e7e13313
remote: Repository Commit : a7afc79780d8f7246cb32368c547078f5ffb36b7
remote: OS Type           : buster
remote: Image Type        : githubactions
remote: 
remote: Detecting platforms...
remote: .
remote: Detected following platforms:
remote:   python: 3.9.18
remote: Version '3.9.18' of platform 'python' is not installed. Generating script to install it...
remote: 
remote: Using intermediate directory '/tmp/8dc73196223c40d'.
remote: 
remote: Copying files to the intermediate directory...
remote: Done in 1 sec(s).
remote: 
remote: Source directory     : /tmp/8dc73196223c40d
remote: Destination directory: /home/site/wwwroot
remote:
remote: 
remote: Downloading and extracting 'python' version '3.9.18' to '/tmp/oryx/platforms/python/3.9.18'...
remote: Detected image debian flavor: buster.
remote: Downloaded in 3 sec(s).
remote: Verifying checksum...
remote: Extracting contents...
remote: .......
remote: performing sha512 checksum for: python...
remote: Done in 16 sec(s).
remote: 
remote: Python Version: /tmp/oryx/platforms/python/3.9.18/bin/python3.9
remote: Creating directory for command manifest file if it does not exist
remote: Removing existing manifest file
remote: Python Virtual Environment: antenv
remote: Creating virtual environment...
remote: ...............
remote: Activating virtual environment...
remote: Running pip install...
remote: ........
remote: [06:54:16+0000] Collecting Flask==2.2.2
remote: [06:54:17+0000]   Downloading Flask-2.2.2-py3-none-any.whl (101 kB)
remote: [06:54:17+0000]      ΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöü 101.5/101.5 kB 626.3 kB/s eta 0:00:00
remote: [06:54:17+0000] Collecting gunicorn
remote: [06:54:17+0000]   Downloading gunicorn-22.0.0-py3-none-any.whl (84 kB)
remote: [06:54:17+0000]      ΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöü 84.4/84.4 kB 2.6 MB/s eta 0:00:00
remote: [06:54:18+0000] Collecting Werkzeug==2.2.2
remote: [06:54:18+0000]   Downloading Werkzeug-2.2.2-py3-none-any.whl (232 kB)
remote: [06:54:18+0000]      ΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöü 232.7/232.7 kB 2.0 MB/s eta 0:00:00
remote: [06:54:18+0000] Collecting Jinja2>=3.0
remote: [06:54:18+0000]   Downloading jinja2-3.1.4-py3-none-any.whl (133 kB)
remote: [06:54:18+0000]      ━━━━━━━━━━━━━━��━━━━━━━━━━━━━━━━━━━━━━━━ 133.3/133.3 kB 9.3 MB/s eta 0:00:00
remote: [06:54:18+0000] Collecting click>=8.0
remote: [06:54:19+0000]   Downloading click-8.1.7-py3-none-any.whl (97 kB)
remote: [06:54:19+0000]      ΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöü 97.9/97.9 kB 8.9 MB/s eta 0:00:00
remote: [06:54:19+0000] Collecting importlib-metadata>=3.6.0
remote: [06:54:19+0000]   Downloading importlib_metadata-7.1.0-py3-none-any.whl (24 kB)
remote: [06:54:19+0000] Collecting itsdangerous>=2.0
remote: [06:54:20+0000]   Downloading itsdangerous-2.2.0-py3-none-any.whl (16 kB)
remote: [06:54:20+0000] Collecting MarkupSafe>=2.1.1
remote: [06:54:20+0000]   Downloading MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB)
remote: [06:54:21+0000] Collecting packaging
remote: [06:54:21+0000]   Downloading packaging-24.0-py3-none-any.whl (53 kB)
remote: [06:54:21+0000]      ΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöüΓöü 53.5/53.5 kB 4.0 MB/s eta 0:00:00
remote: [06:54:21+0000] Collecting zipp>=0.5
remote: [06:54:21+0000]   Downloading zipp-3.18.1-py3-none-any.whl (8.2 kB)
remote: [06:54:22+0000] Installing collected packages: zipp, packaging, MarkupSafe, itsdangerous, click, Werkzeug, Jinja2, importlib-metadata, gunicorn, Flask
remote: [06:54:24+0000] Successfully installed Flask-2.2.2 Jinja2-3.1.4 MarkupSafe-2.1.5 Werkzeug-2.2.2 click-8.1.7 gunicorn-22.0.0 importlib-metadata-7.1.0 itsdangerous-2.2.0 packaging-24.0 zipp-3.18.1
remote: 
remote: [notice] A new release of pip is available: 23.0.1 -> 24.0
remote: Not a vso image, so not writing build commands
remote: Not a vso image, so not writing build commands
remote: Preparing output...
remote:
remote: Copying files to destination directory '/tmp/_preCompressedDestinationDir'...
remote: Done in 4 sec(s).
remote: Compressing content of directory '/tmp/_preCompressedDestinationDir'...
remote: Copied the compressed output to '/home/site/wwwroot'
remote:
remote: Removing existing manifest file
remote: Creating a manifest file...
remote: Manifest file created.
remote: Copying .ostype to manifest output directory.
remote:
remote: Done in 60 sec(s).
remote: Running post deployment command(s)...
remote:
remote: Generating summary of Oryx build
remote: Parsing the build logs
remote: Found 0 issue(s)
remote:
remote: Build Summary :
remote: ===============
remote: Errors (0)
remote: Warnings (0)
remote:
remote: Triggering recycle (preview mode disabled).
remote: Deployment successful. deployer =  deploymentPath =
remote: Deployment Logs : 'https://********.scm.chinacloudsites.cn/newui/jsonviewer?view_url=/api/deployments/a7afc79780d8f7246cb32368c547078f5ffb36b7/log'
To https://********.scm.chinacloudsites.cn:443/********.git
   6250814..a7afc79  main -> main
   

 

 

参考资料

快速入门:将 Python(Django 或 Flask)Web 应用部署到 Azure应用服务 : https://docs.azure.cn/zh-cn/app-service/quickstart-python?tabs=flask%2Cwindows%2Cazure-cli%2Clocal-git-deploy%2Cdeploy-instructions-azportal%2Cterminal-bash%2Cdeploy-instructions-zip-azcli

更改部署分支 : https://docs.azure.cn/zh-cn/app-service/deploy-local-git?tabs=cli#change-deployment-branch

 

标签:kB,git,06,Service,0000,54,App,Azure,remote
From: https://www.cnblogs.com/lulight/p/18189874

相关文章

  • 【pywinauto】Application(backend='uia').connect(process=18080) 怎么应用程序不在
    【日期】2024/5/13【问题】Application(backend='uia').connect(process=18080) 怎么应用程序不在最前面?【分析】可能是应用程序没有获取到焦点?【原因】在 pywinauto 中,当你使用 Application(backend='uia').connect(process=18080) 连接到一个正在运行的应用程序进程......
  • uni-app实现上拉加载
     参考文档代码:1<template>2<view>3<!--省略其他内容-->4<viewv-for="itemindataList":key="item.id">{{item.title}}</view>5</view>6</template>78<script>9e......
  • three.weapp.js提示applyMatrix4 is not a function
    最近做项目使用three.weapp,因为是微信版的three,所以删减了好多方法。在使用applyMatrix4时报了 applyMatrix4isnotfunction的错误。解决方法简单,找thee里面有的方法代替。先console.log查看下three.weapp里面的Group prototype有什么可以看到有一个applyMatrix方法。......
  • vue3 - App.vue示例1
    示例1App.vue<!--插入Vue库的CDN链接--><scriptsrc="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script><scriptsetup>importHelloWorldfrom'./components/HelloWorld.vue'</script><templa......
  • react native 项目使用 Xcode 打包上架 App Store
    一、创建证书、标识符和描述文件等:1.前提条件可正常运行和打包的代码、Apple开发者账号点击注册Apple开发者账号注册完进入页面可以看到证书、标识符和描述文件创建入口2.创建AppID点击Identifiers旁边的加号选择AppIDs,点击Continue。选择App,点击Conti......
  • uniapp自定义input清除按钮
    uniapp小程序,引入uni-ui库后,观察到其他组件,有的默认有清除按钮,比如: 在写内置组件input框,查看文档没有此属性,官方示例在这里:https://github.com/dcloudio/hello-uniapp/blob/master/pages/component/input/input.nvue 还需自行复制对应的css,试了下效果不太好。我需要和级联......
  • Laravel Model中的$appends
    protected$appends是Laravel模型中的一个属性,用于指定哪些虚拟属性(Accessor)应该被包含在模型的数组或JSON表示中。虚拟属性是在模型中定义的,通过使用Accessors和Mutators来访问和修改模型属性的值。这些虚拟属性不会存储在数据库中,但可以通过模型实例进行访问和操作......
  • 【Halcon】示例程序学习——append_channel / tile_channels
    Name:1、append_channel——将其他矩阵(通达)附加到图像2、tile_channels——多张图像平铺成一个大图像signature:1、append_channel(MultiChannelImage,Image:ImageExtended::)2、tile_channels(Image:TiledImage:NumColumns,TileOrder:)Description:1、运算符ap......
  • uniapp循环请求接口之后跳转
    if(this.model.caseWorkPartyModelList.length>0){letpromises=[];//用于存储所有异步操作的Promiseletthat=thisthis.model.caseWorkPartyModelList.forEach(async(item,index)=>{......
  • LeetCode 1287. Element Appearing More Than 25% In Sorted Array
    原题链接在这里:https://leetcode.com/problems/element-appearing-more-than-25-in-sorted-array/description/题目:Givenanintegerarray sorted innon-decreasingorder,thereisexactlyoneintegerinthearraythatoccursmorethan25%ofthetime,returnthat......