首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用az webapp部署源来部署来自git的代码,但当应用程序位于git存储库子文件夹中时。

使用 Azure CLI (az 命令) 部署 Web 应用程序时,如果你的应用程序位于 Git 存储库的子文件夹中,你需要指定子文件夹路径。以下是如何实现这一点的详细步骤。

前提条件

  1. Azure CLI: 确保你已经安装并配置了 Azure CLI。
  2. Git 存储库: 确保你的代码已经推送到 Git 存储库中。
  3. Azure Web App: 确保你已经创建了一个 Azure Web App。

步骤

1. 登录到 Azure

首先,使用 Azure CLI 登录到你的 Azure 账户:

代码语言:javascript
复制
az login

2. 设置默认订阅(可选)

如果你有多个订阅,可以设置默认订阅:

代码语言:javascript
复制
az account set --subscription "your-subscription-id"

3. 创建或选择一个资源组

如果你还没有资源组,可以创建一个:

代码语言:javascript
复制
az group create --name myResourceGroup --location eastus

4. 创建或选择一个 Azure Web App

如果你还没有 Azure Web App,可以创建一个:

代码语言:javascript
复制
az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name myWebApp --runtime "PYTHON|3.8"

5. 配置 Git 部署

使用 az webapp deployment source config 命令配置 Git 部署,并指定子文件夹路径。

代码语言:javascript
复制
az webapp deployment source config --name myWebApp --resource-group myResourceGroup --repo-url https://github.com/yourusername/yourrepo.git --branch main --manual-integration

6. 配置应用程序路径

Azure Web App 需要知道你的应用程序位于 Git 存储库的哪个子文件夹中。你可以通过设置 SCM_DO_BUILD_DURING_DEPLOYMENTPROJECT 应用程序设置来指定子文件夹路径。

代码语言:javascript
复制
az webapp config appsettings set --resource-group myResourceGroup --name myWebApp --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true PROJECT=subfolder-path

在上面的命令中,将 subfolder-path 替换为你的应用程序在 Git 存储库中的子文件夹路径。

7. 触发部署

你可以通过推送到指定的分支来触发部署,或者手动触发部署:

代码语言:javascript
复制
az webapp deployment source sync --name myWebApp --resource-group myResourceGroup

示例

假设你的 Git 存储库 URL 是 https://github.com/yourusername/yourrepo.git,你的应用程序位于 src 子文件夹中,并且你的 Azure Web App 名称是 myWebApp,资源组是 myResourceGroup

代码语言:javascript
复制
# 登录到 Azure
az login

# 设置默认订阅(可选)
az account set --subscription "your-subscription-id"

# 创建资源组(如果还没有)
az group create --name myResourceGroup --location eastus

# 创建 Azure Web App(如果还没有)
az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name myWebApp --runtime "PYTHON|3.8"

# 配置 Git 部署
az webapp deployment source config --name myWebApp --resource-group myResourceGroup --repo-url https://github.com/yourusername/yourrepo.git --branch main --manual-integration

# 设置应用程序路径
az webapp config appsettings set --resource-group myResourceGroup --name myWebApp --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true PROJECT=src

# 手动触发部署
az webapp deployment source sync --name myWebApp --resource-group myResourceGroup

通过这些步骤,你可以成功地将位于 Git 存储库子文件夹中的应用程序部署到 Azure Web App。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何在Ubuntu上使用Jenkins自动构建

运行该流程整套说明Jenkinsfile位于存储根目录。该单个文件告诉服务器该做什么,何时做以及如何执行这些任务。...编写一个Node.js应用程序示例 如前一节所述,自动化过程首先提交版本控制系统。 在GitHub创建一个新存储。...本指南将使用一个简单Node.js应用程序展示Jenkins管道工作原理。...--link为了与之通信,使用相同网络以及标志非常重要nodeapp-dev。您会注意到容器报告文件夹JUnit将安装在当前存储根目录。这是reports.xml在主机上编写必要条件。...从控件推或拉。 转移档案。 创建Docker镜像,dockerize应用程序,拉取图像。 几乎所有你能想到行动都可以通过步骤实现。

7.9K10

几个简单步骤教你在GitHub Pages上部署Angular应用!

首先,您需要将代码放在本地存储位于github.com远程存储,因此,如果您没有GitHub帐户,则需要立即创建它。 然后,登录到GitHub帐户并创建一个存储,您将在其中上传本地代码。...假设您已经在机器上安装了git,并且已经在本地存储master分支中提交了代码,请在app文件夹打开git bash,然后使用GitHub存储URL运行以下命令以将代码上传到github. com...在生成可分发文件以部署在GitHub Pages上,需要此URL设置我们网站基本URL。...因此,在使用git bash窗口中base-href选项网站URL运行以下命令,以在docs文件夹中生成可分发文件。...转到您app文件夹,并检查docs文件夹是否已创建并包含所有可分发文件。 ? 现在,通过在git bash窗口中运行以下命令,将该文件夹提交到本地存储,并将其推入GitHub存储

1.8K20
  • Argo CD 实践教程 05

    我们还将对一些Git存储进行更改,因此需要安装Git(https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)以及代码编辑器,如Visual...为了简单起见,我们试图将所有演示放在同一个存储,所以安装在一个文件夹。但是,建议将它放在一个单独存储。...在本节,我们将创建一个Argo CD应用程序,该应用程序指向我们保存清单文件夹。通过这种方式,Argo CD将开始监视该存储文件夹更改。我们对文件夹进行任何新提交都将自动应用。...Argo CD应用程序由三部分组成:目标,即应用清单地方,我们用来创建特定限制(例如,此应用程序应只将资源部署到集群和特定名称空间),以及资源存储,包括分支和存储文件夹: apiVersion:...只有在对Git存储有新提交(将提交SHA视为键),才会删除缓存。如果缓存丢失,则需要重新创建一切,这意味着应用程序仍然可以工作,性能不佳。

    48620

    开发者openshift4使用入门教程 - 9 - 通过IDE插件无缝衔接

    git-使用git存储作为组件。 binary 二进制文件-使用二进制文件作为组件 New Service -执行服务目录(如果已启用)操作。 Delete -删除现有项目。...git-使用git存储作为组件。 binary 二进制文件-使用二进制文件作为组件 New Service -执行服务目录(如果已启用)操作。...not pushed - 组件在本地配置没有部署到集群。...no context - 没有与项目中组件关联上下文文件夹. pushed 组件操作 New URL-将组件暴露给外界。使用此命令生成URL可用于从群集外部访问已部署组件。...项目内应用程序可用动作 Application -> New Component–在所选应用程序创建一个新组件。 git使用git存储作为组件源文件。

    3.8K20

    Terraform:多云、混合云环境下实现基础设施即代码

    接下来,将live和modules文件夹配置为独立Git存储。以下是将modules文件夹配置为Git存储示例。...● 代码必须使用遵循语义版本规则Git标签(x.y.z)进行发布。...“……1:1形式代表……” 浏览实时存储,通过快速扫描代码,应该可以看出在哪些环境中部署了哪些资源。换句话说,每个资源都应该能找到1:1匹配,签入实时仓库代码行。...也就是说,如果使用Terraform工作区部署了3个或30个环境,实时代码也可能只有一个代码副本。仅通过浏览代码,是无法知道实际部署了什么资源,这将导致错误并使维护变得更加复杂。...其基本思想是,modules存储定义所有相同Terraform代码,而在实时存储,通过terragrunt.hcl文件,提供一种简洁方式配置和部署每个环境各个模块。

    69610

    Argo CD 实践教程 03

    每次手动更改Kubernetes资源和所需状态(位于Git存储且不匹配),控制器都会尝试重新应用所需状态,以便始终将Git存储作为事实来源。...GitOps核心组件之一是应用程序控制器,它在实际对正在运行应用程序进行连续观察,并将当前应用程序状态与期望目标状态进行比较,目标状态真实Git存储。...以下用例可以使用Argo CD: 自动部署:在任何Git提交操作,或CT管道运行和手动同步触发器之后,Argo CD控制器将以自动化方式将所需状态从Git存储推到集群。...应用程序类型:我们用于构建应用程序工具,如Helm, Kustomize,和jsonnet。 目标状态:应用程序期望状态,如Git存储中所示,这是真相来源。...简单地说,就是部署在Kubernetes应用程序是否符合Git存储描述期望状态相匹配。 同步:将应用程序移动到目标状态一个阶段,通过应用Kubernetes集群更改来实现

    30630

    2021年排名前85DevOps面试问答

    构建-通过集成前面步骤形成各种代码构建应用程序。 测试-这是应用程序开发中最关键一步。测试应用程序并在必要进行重建。 集成-来自不同程序员多个代码被集成到一个。...使用标准方法: git init 您使用git init创建一个工作目录 使用所有与git相关修订历史记录创建一个.git文件夹 赤手空拳 git init-裸 它不包含任何正在工作或已签出源文件副本...裸存储git修订历史记录存储存储文件夹,而不是.git文件夹 19.以下哪个CLI命令可用于重命名文件?...Git获取 GitGit提取仅从远程存储下载新数据 Git pull使用来自远程服务器最新更改来更新当前HEAD分支 不会将任何新数据集成到您工作文件 下载新数据并将其与当前工作文件集成...使用GitHub冲突编辑器解决 在争夺线路更改后导致合并冲突,可以执行此操作。例如,人们对您Git存储不同分支上同一文件同一行进行不同更改时,可能会发生这种情况。

    6.8K30

    如何在Ubuntu上使用Webhooks和Slack部署React

    应用程序代码添加到GitHub存储后,您将配置Nginx以提供更新项目文件。然后,您将下载并设置webhook服务器,并配置GitHub以在修改代码与其进行通信。...] 这段简短视频显示一段内容提交并推送到GitHub存储,该存储触发了Slack应用程序构建和通知。...返回do-react-example-app目录,使用git命令初始化存储git init 接下来,使用GitHub URL添加远程git remote add origin your-github-url...完成存储设置后,我们可以继续在服务器上指定配置详细信息。 第二步 - 目录设置和Nginx配置 有了存储,现在可以从GitHub中提取应用程序代码并配置Nginx应用程序提供服务。...GitHub存储中发生配置事件(如PUSH),GitHub将发送一个POST请求,其中包含一个包含该事件信息JSON正文。

    8.7K20

    使用 GitLab CI 与 Argo CD 进行 GitOps 实践

    应用程序可以通过 Argo CD 提供 CRD 资源对象进行配置,可以在指定目标环境自动部署所需应用程序。关于 Argo CD 更多信息可以查看官方文档了解更多。...Argo CD 配置 现在我们可以开始使用 GitOps 配置我们 Kubernetes 应用了。...repoURL:源代码仓库地址 targetRevision:想要使用 git 分支 path:Kubernetes 资源清单在仓库路径 destination:Kubernetes 集群目标...开发人员在自己分支上开发代码,他们分支每一次提交都会触发一个阶段性构建,他们将自己修改和主分支合并,完整流水线就被触发。...如果一切正常的话现在我们可以在浏览器查看我们部署 web 应用程序了。 ?

    5.3K31

    如何自动地将代码Git平台部署至组件容器

    将源代码Git平台部署至组件容器有很多种可以选择方法,包括重新部署整个容器,通过卷即时重新部署,或者使用git clone”方法。...但是,这个过程自动化并转向持续部署,许多开发人员可能会面临复杂性,因为他们需要知道如何将所有应用程序组件与所需对接点正确组合。...版本预配置 为了恰当附加包安装,您需要为您Git帐户提供个人API令牌。这使软件包能够为相应存储设置一个Webhook,每次对其代码进行修改时,都会启动应用程序重新部署。...2.在打开框架,指定有关您存储和目标环境以下详细信息: ·Git Repo URL - HTTPS链接到您应用程序repo(git文件或通用视图)。...要启动您应用程序,请单击Web服务器旁边“ 在浏览器打开”。 就是这样!现在,每次提交到存储,都会自动将新版本应用程序传送到应用程序服务器。

    5.1K90

    Argo 全家桶如何让 DevOps 变更容易?

    GitOps 是开发团队用来管理基础设施和部署应用程序流程和范例。GitOps Git”指的是开源版本控制系统。GitOps 使用 Git 作为声明性配置单一信息。...开发团队对 Git 配置进行更改时,部署在环境 GitOps 代理会自动将更改与实时状态相协调。对实时环境每一次更改都会在 Git 存储捕获,因此团队对系统更改具有可见性和可审计性。...GitOps 建立在开发人员经验基础上,使团队能够使用用于开发软件相同工具和流程管理基础设施,并将这些工具扩展到软件部署和基础设施管理领域。...https://argoproj.github.io/cd/ 虽然大多数 CD 工具仅支持基于推送部署 Argo CD 以拉取模式工作,从 Git 存储检索更新代码并将其直接部署到 Kubernetes...Argo CD 主要功能包括: 自动将 Kubernetes 集群应用程序状态与 Git 存储 (GitOps) 声明性配置的当前版本同步。 能够可视化部署问题并检测和修复错误配置。

    1.1K40

    Argo CD 实践教程 06

    当你在一个大型应用程序工作,几十个团队将他们单体和微服务部署伯内特,很有可能事情并不总是像你所期望那样顺利。...你可以通过将文件放在Git存储文件夹,然后创建一个指向它应用程序,以便可以使用GitOps应用它们。...在它们创建了最终清单之后,应用程序控制器将继续它们工作。我们已经看到,同时使用太多清单可能会导致OOM问题,但是当我们有很多请求获取Git存储内容,会发生什么呢?...你可以根据自己意愿进行设置: 图3.3——创建一个新GitLab项目 一旦我们创建了项目,在添加任何代码之前,我们需要使用SSH密钥为Git存储设置一个简单身份验证方法。...我们需要修改 argocd-notifications-cm配置图,我们可以通过改变Git实现。在我们安装Argo CD通知创建通知文件夹,我们需要添加一个名为补丁文件夹

    48730

    如何在Ubuntu 14.04上使用Git Hooks部署Rails应用程序

    使用Git hooks将允许您通过简单地将更改推送到生产服务器部署应用程序,而不必手动拉动并执行诸如执行数据迁移之类操作。...您继续处理应用程序时,设置某种形式自动部署(例如Git hooks)将为您节省时间。...: rails generate scaffold Task title:string note:text 现在让我们确保我们应用程序位于git存储。...git init --bare 由于这是一个裸存储,因此没有工作目录,并且传统设置位于.git所有文件都在主目录。...在开发计算机上,确保您位于应用程序目录: cd ~/appname 然后添加一个名为“production”git远程,它指向您在生产服务器上创建git存储appname_production

    2.5K60

    GitHub页面基本知识

    如果您使用一个主或ghpage分支派生或上传站点存储,那么您站点设置将自动为该分支启用。 使GitHub页面可以从主页面或ghl页面发布站点。...要选择作为发布master或ghl -page,必须在存储拥有分支。如果您没有主或ghpage分支,您可以创建它们,然后返回到设置更改您发布。...用户与组织页面 用户和组织页面位于专用于GitHub页面文件专用存储。您需要使用帐户名称命名此存储。 您必须使用username.github。io命名方案。...它们还可以使用部署来自动化流程。 组织页面可以由任何成员通过访问存储和经过验证电子邮件地址构建。要实现自动化构建,可以将机器用户设置为组织成员。组织页面不支持部署键。...切换到一个新分支“master” 提示:如果您刚刚创建了主分支,那么使用git分支命令,它不会出现在您分支列表,直到您第一次提交。 删除所有文件以创建一个空工作目录。

    1.5K30

    GitOps –用于基础设施自动化DevOps

    借助GitOps,团队可以自动化基础架构配置过程。这是由于可以使用声明文件将基础结构编写为代码(IaC)。我们可以将它们存储Git存储,就像存储应用程序开发代码一样。 GitOps如何工作?...我们将Git用作应用程序代码变更管理系统。我们也可以将其用于基础结构代码。因此,整个声明文件集都位于一个可以协作地方。这使我们能够使用Git关键概念-对操作更改Pull 请求。...Git组织 GitOps部署过程至少需要两个存储应用程序存储和环境配置存储。第一个包含应用程序代码及其部署清单。第二个包含使用每个环境声明性规范描述整个系统期望状态。...借助自动交付管道,每次Git存储中发生更改时,您都可以将基础结构更改交付到指定环境。这里有管道将您Git pull请求连接到业务流程系统。您通过拉取请求触发管道,业务流程系统将执行任务。...我们将应用程序代码及其部署清单存储在一个存储。当应用程序代码中发生新更新,构建管道将触发。管道构建容器映像并将更改推送到环境。该策略可支持任何类型基础架构,因此带来了更大灵活性。

    80330

    GitOps –用于基础设施自动化DevOps

    借助GitOps,团队可以自动化基础架构配置过程。这是由于可以使用声明文件将基础结构编写为代码(IaC)。我们可以将它们存储Git存储,就像存储应用程序开发代码一样。 GitOps如何工作?...我们将Git用作应用程序代码变更管理系统。我们也可以将其用于基础结构代码。因此,整个声明文件集都位于一个可以协作地方。这使我们能够使用Git关键概念-对操作更改Pull 请求。...Git组织 GitOps部署过程至少需要两个存储应用程序存储和环境配置存储。第一个包含应用程序代码及其部署清单。第二个包含使用每个环境声明性规范描述整个系统期望状态。...借助自动交付管道,每次Git存储中发生更改时,您都可以将基础结构更改交付到指定环境。这里有管道将您Git pull请求连接到业务流程系统。您通过拉取请求触发管道,业务流程系统将执行任务。...我们将应用程序代码及其部署清单存储在一个存储。当应用程序代码中发生新更新,构建管道将触发。管道构建容器映像并将更改推送到环境。该策略可支持任何类型基础架构,因此带来了更大灵活性。

    1.6K00

    【万字长文】K8s部署前后端分离web应用避坑指南之一:从源代码到docker compose到k8s云集群(macOS-2023版)

    前者是代表架构图中运行应用或数据存储系统,后者代表封装了所有代码和依赖能独立运行软件运行单元。User通过前端shopping-list-front-end查看和修改购物清单。...所以像jdk和node.js甚至git这样工具,一般情况下不建议直接从官网下载安装包安装,而是使用热门包管理器来安装。这样要切换同一工具不同版本、升级版本和卸载,就方便多了。...因为之后后端app在使用gradle进行构建,会运行自动化测试,需要访问数据。如果在后端app构建不启动postgres数据,那么gradle构建会失败。要运行这两个容器,需要下载代码。...打开浏览器访问`http://localhost:8080`,又是前端无法访问后端。...当初构建这个image代码也改了不少。此时你该如何在代码,还原当初构建这个image代码

    7.4K718

    Argo CD 实践教程 02

    然后,它尝试使用go-git(https://github.com/go-git/go-git一个函数克隆存储。...,我有在该部分应用下载存储文件夹内容。...,因为当我们尝试应用整个文件夹,现在也发生了同样错误,但是在操作符第二次运行时,部署被成功创建。...如今,当你提到laC,你指的是通过自动化而不是手动创建基础架构实践,并且基础架构像应用程序代码一样作为代码保存在源代码管理使用laC,你希望使用管道应用更改,这比手动配置更有优势。...当我们在本章开头讨论由应用程序交付标签创建GitOps定义,我们详细介绍了所有这些原则。更重要是,GitOps定义还有一些不属于laC定义东西,例如软件代理或闭环。

    25230

    如何在Ubuntu 16.04上使用Deployer自动部署Laravel应用程序

    Deployer通过将应用程序Git存储库克隆到服务器,使用Composer安装依赖项以及配置应用程序以使您不必手动执行此操作来自动执行部署。这使您可以将更多时间用于开发,而不是上载和配置。...有了这个,我们将继续为应用程序创建一个Git存储。 第2步 - 连接到远程Git存储 Deployer旨在使用户能够随时随地部署代码。...要开启此功能,它需要用户将代码推送到Internet上存储,然后Deployer会将代码复制到生产服务器。我们将使用Git(一种开源版本控制系统)管理Laravel应用程序代码。...在本地计算机上,将工作目录更改为应用程序文件夹: $ cd /path/to/laravel-app 在laravel-app目录运行以下命令以初始化项目文件夹Git存储: $ git init...该应用程序.env在本地计算机上有一个文件,Laravel.gitignore文件将其从Git仓库中排除,因为在Git存储存储密码等敏感数据不是一个好主意,而且,应用程序需要在服务器上进行不同设置

    15.6K10
    领券