【问题标题】:How do I target the folder I want to deploy my web JS app in with Azure Pipelines?如何使用 Azure Pipelines 定位要部署 Web JS 应用程序的文件夹?
【发布时间】:2022-01-27 17:19:03
【问题描述】:

我对 Azure DevOps 非常陌生,尤其是在 YAML 管道方面。

我正在开发一个分为后端和前端的网站。 后端部分已经开发并部署在我的 linux 服务器上。

现在我想使用 YAML 管道部署前端部分(Vue JS)。问题是我不希望前端部分部署在后端的同一文件夹中。

我知道管道脚本“npm run build”创建了一个“dist”文件夹,那么如何强制我的 azure 管道将“dist”文件夹部署到特定文件夹中(假设这个特定文件夹是“wwwroot”,所以它会类似于“wwwroot/subfolder/dist”)

感谢大家的帮助!

【问题讨论】:

  • 嗨 Idash;我可以请你澄清一下吗?您的 yaml 包含一个 Azure Web App task,用于部署到 Azure App Service,但在问题中您说后端已经部署在 您的 linux 服务器上?看起来很矛盾。
  • PS 如果您将代码粘贴为文本而不是包含屏幕截图,您的问题会好多。它有助于可索引性、可搜索性等。
  • hI @VinceBowdren 谢谢你帮助我。我对stackoverflow不是很熟悉,很抱歉没有直接粘贴代码。如果粘贴而不是图片,它看起来不太清楚。无论如何,我刚刚放在上面的 YAML 是用于前端部署的,它有自己的存储库。后端和前端分别位于各自的存储库中,但它们部署在同一台服务器上。所以我希望通过将前端和后端部署在不同的目录中来很好地组织服务器。

标签: azure web deployment directory azure-pipelines


【解决方案1】:

根据您的描述,您需要将 dist 文件夹部署到 Web App 中的特定文件夹中。

恐怕你无法在 Azure Web App 任务中实现它。

我建议你可以尝试使用 Azure CLI(az webapp deploy) 来部署 dist 文件夹。

这是一个例子:

- task: AzureCLI@2
  displayName: 'Azure CLI '
  inputs:
    azureSubscription: xx
    scriptType: ps
    scriptLocation: inlineScript
    inlineScript: 'az webapp deploy --resource-group ''some-resource-group'' --name ''some-webapp'' --src-path ''$(Build.ArtifactStagingDirectory)/SomeZip.zip'' --type zip --clean false --target-path some-subfolder'

【讨论】:

  • 嗨!谢谢你的帮助,我会尝试这种方式,但你能解释一下“scriptType”、“scriptLocation”和“inlineScript”字段的含义吗?我应该在这些字段中添加什么?此外,使用“AzureWebApp@1”任务,是否可以只放置类似: location : $(System.DefautWorkingDirectory)/specificFolder/dist 的内容?
  • 哦,我有一个非常重要的问题:我是否必须为每个部署创建一个服务连接?假设我的后端有自己的带有管道的仓库,而我的前端有自己的带有管道的仓库。我可以在“AzureWebApp@1”任务的管道 YAML 文件中使用相同的 azure 订阅吗?
  • 是的。您可以使用相同的 Azure 订阅。任务定义可以参考这篇文档Azure CLI task
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多