首页 > 解决方案 > 避免为 BitBucket 管道中的两个分支重复部署代码

问题描述

我有以下 BitBucket 管道脚本,它保留了一些文件、进行部署和恢复文件。

如图所示,这适用于master分支。对于development分支,我需要完全相同的脚本。唯一的区别是因为我deployment: production需要deployment: development在 BitBucket 中设置的其他环境变量。

我已经查看了https://support.atlassian.com/bitbucket-cloud/docs/yaml-anchors/的 YAML 锚点,以便将此脚本作为一个函数。但无法让它工作。

有没有办法避免这部分被复制到开发分支?

  branches:
master:
  - step:
      name: Deployment to production
      deployment: production
      trigger: manual
      script:
        - pipe: atlassian/scp-deploy:1.0.1
          variables:
            USER: $DOMAIN
            SERVER: $SERVER
            REMOTE_PATH: '~/public/prod'
            LOCAL_PATH: 'dist/*'

标签: bitbucketbitbucket-pipelines

解决方案


您必须定义步骤: 在此处输入图像描述

您必须定义一个自定义管道,如下所示:

在此处输入图像描述

在您的步骤中:

在此处输入图像描述

我们让它在我们的环境中工作。


推荐阅读