如何在 bitbucket 管道的阶段步骤中放置触发器

How to put a trigger in a stage step in bitbucket pipeline

提问人:Vitor Muniz 提问时间:11/9/2023 最后编辑:Vitor Muniz 更新时间:11/13/2023 访问量:38

问:

在使用阶段之前,我已经将触发器放在步骤中:

- step: &deployment-prod
      name: Deploy
      trigger: manual
      script:
        - echo "production deployment script"

但是,现在我需要使用阶段部署到多个环境,并且收到以下错误:

A step within stage can't contain a manual trigger. Try defining a manual trigger on a stage.

我也尝试过这样做,但没有成功:

- stage:
     name: Deploy to Production
     deployment: Production
         steps:
            - step: 
                <<: *deployment-prod
                trigger: manual

有人可以帮助我吗??请

我想在步骤中使用带有触发器的 bitbucket 管道阶段。

bitbucket-pipelines

评论

2赞 Randommm 11/9/2023
它包含在限制 support.atlassian.com/bitbucket-cloud/docs/stage-options/ 中,稍后它们涵盖了第 support.atlassian.com/bitbucket-cloud/docs/stage-options/ 阶段的触发器使用......
1赞 N1ngu 11/9/2023
@Randommm,如果您想将其与代码摘录一起重新发布,您的评论可能几乎是这个问题的答案(请记住,没有仅链接的答案等等)

答:

1赞 Randommm 11/13/2023 #1

该信息包含在他们关于 Stages https://support.atlassian.com/bitbucket-cloud/docs/stage-options/#Limitations 的文档中

  • 一个阶段内可以的最大步数为:

  • 免费计划中工作区的 10 个步骤。

  • 标准版或高级版计划中工作区的 100 个步骤。

  • 不支持并行阶段。

  • 阶段不能包含并行步骤。

  • 阶段不能包含手动触发的步骤,但您可以将阶段配置为手动触发。

  • 阶段不能包含条件步骤,但可以将阶段配置为有条件的。

  • 不支持在阶段内禁用项目下载。

  • 步骤不能覆盖在舞台上设置的任何属性。

  • 如果随后将另一个更改部署到同一环境,则无法继续部分完成的部署阶段。


要在舞台上使用手动触发器,还专门记录了 https://support.atlassian.com/bitbucket-cloud/docs/stage-options/#Trigger

有关如何将触发器与阶段一起使用的示例

pipelines:
   default:
    - stage:
        name: Linting
        steps:
          - step:
              script:
              - sh ./run-linter.sh
    - stage:
        name: Build and test
        trigger: manual
        steps:
          - step:
              name: Build app
              script:
                - sh ./build-app.sh
          - step:
              name: Run unit tests
              script:
                - sh ./run-tests.sh