azure - 位桶上的多个部署管道

标签 azure yaml bitbucket-pipelines cicd

我有一个解决方案,其中驻留有一个 Web 应用程序和一个 azure 函数。 所以应该使用不同的管道进行部署:

microsoft/azure-web-apps-deploy:1.0.3 - for web app
microsoft/azure-functions-deploy:1.0.2 - for azure function

它们应该如何组合在 yml 文件中?或者我需要有单独的 yml 文件吗? 看来我不能为单个环境执行多个部署步骤?

最佳答案

Bitbucket Pipelines 不支持用于定义管道的多个文件,也不支持同一部署阶段的不同部署步骤,因此:是的,相同的文件,相同的步骤。

pipelines:
  default:
    - step:
        deployment: production
        script:
          - pipe: [docker://]microsoft/azure-web-apps-deploy:1.0.3
            variables:
              FOO: bar
          - pipe: [docker://]microsoft/azure-functions-deploy:1.0.2
            variables:
              BAR: foo

因此,部署到“生产”将同时部署 Web 应用程序和函数。

<小时/>

如果管道未注册,而是具有智能入口点的任意 docker 镜像,则管道的 docker://前缀是必需的。

<小时/>

但是,您可以使用“生产 Web 应用程序”和“生产功能”等自定义部署环境,这样您就可以像这样单独部署它们

pipelines:
  default:
    - parallel:
      - step:
          deployment: production-webapp
          script:
            - pipe: [docker://]microsoft/azure-web-apps-deploy:1.0.3
              variables:
                FOO: bar
      - step:
          deployment: production-function
          script:
            - pipe: [docker://]microsoft/azure-functions-deploy:1.0.2
              variables:
                BAR: foo

Bitbucket 将跟踪对每个“环境”进行的部署,并允许您单独重新部署到它们。

关于azure - 位桶上的多个部署管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73040681/

相关文章:

linux - 如何为 VM 资源 azurerm_virtual_machine_scale_set 的每个实例执行具有不同参数的脚本?

python - 使用 Python、Kubernetes api 调用 YAML 到 JSON

node.js - 无法在 bitbucket 管道中的 node.js 图像中执行 bash 脚本

java - Bitbucket 管道找不到 Gradle

c# - 了解 Azure Functions HttpTrigger 缩放算法

azure - 如何在 Azure 中购买 Office 许可证?

Azure Function CosmosDb 绑定(bind)性能

symfony - 将 FOSUserBundle 与 Symfony 3.3 一起使用时出现 YAML 错误

go - 从文件中的 yaml 对象获取值

continuous-integration - 有没有办法将 dotenv 与 Bitbucket Pipelines 一起使用?