首页
学习
活动
专区
工具
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。

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

相关·内容

Argo CD 实践教程 06

Argo CD不直接使用任何数据库(Redis被用作缓存),所以它看起来没有任何状态。之前,我们看到了如何实现高可用性的安装,主要是通过增加每个部署的副本数量来完成的。但是,我们也有应用程序定义(如Git源集群和目标集群),以及关于如何访问Kubernetes集群或如何连接到私有Git回购或私有帮助集群的详细信息。这些东西构成了Argo CD的状态,它们保存在Kubernetes资源中——要么是本地资源,比如连接细节的秘密,要么是应用程序和应用程序约束的自定义资源。 灾难可能会由于人工干预而发生,例如Kubernetes集群或Argo CD名称空间正在被删除,或者可能是一些云提供商出现的问题。我们也可能有要将Argo CD安装从一个集群移动到另一个集群的场景。例如,也许当前的集群是用我们不想再支持的技术创建的,比如kubeadm(https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/),现在我们想转移到云提供商管理的技术。 你可能会出现在脑海中:“但我认为这是GitOps,所以一切都保存在Git回购中,这意味着它很容易重新创建?”首先,并不是所有的东西都被保存到Git回购中。例如,当在Argo CD中注册一个新集群时,我们必须运行一个命令,使这些详细信息不在Git中(出于安全原因,这是可以的)。其次,重新创建GitOps回购中的一切可能需要很多时间——可能有数千个应用程序、数百个集群和成千上万的Git回购。更好的选择可能是从备份中恢复到以前的所有资源,而不是从头开始重新创建所有的资源;这样做要快得多。

03
领券