web-dev-qa-db-ja.com

Bitbucket Pipelinesはブランチ間でいくつかのステップを共有しています

ブランチ間でステップを共有し、ブランチ固有のステップを実行することは可能ですか?たとえば、開発ブランチとリリースブランチのビルドプロセスは同じですが、個別のS3バケットにアップロードされます。

pipelines:
  default:
    - step:
        script:
          - cd source
          - npm install
          - npm build
  develop:
    - step:
        script:
          - s3cmd put --config s3cmd.cfg ./build s3://develop

  staging:
    - step:
        script:
          - s3cmd put --config s3cmd.cfg ./build s3://staging

私はこの投稿を見ました( Bitbucket Pipelines-同じ手順の複数のブランチ )が、同じ手順です。

21
YarGnawh

YAMLアンカーを使用します。

definitions:
  steps:
    - step: &Test-step
        name: Run tests
        script:
          - npm install
          - npm run test
    - step: &Deploy-step
        name: Deploy to staging
        deployment: staging
        script:
          - npm install
          - npm run build
          - fab deploy
pipelines:
  default:
    - step: *Test-step
    - step: *Deploy-step
  branches:
    master:
      - step: *Test-step
      - step:
        <<: *Deploy-step
        name: Deploy to production
        deployment: production
        trigger: manual

ドキュメント: https://confluence.atlassian.com/bitbucket/yaml-anchors-960154027.html

17
Max Malysh

正式にはまだサポートされていませんが、ステップを事前に定義できます。
問題 がブランチのサブセット全体で同じ手順を実行しているときに、bitbucketスタッフからこのヒントを得ました。

 definitions:
  step: &Build
    name: Build
    script:
      - npm install
      - npm build

pipelines:
  default:
    - step: *Build
  branches:
    master:
      - step: *Build
      - step:
          name: deploy
          # do some deploy from master only

完璧ではありませんが、何もないよりはましです

11
con--

Bitbucketはそれができないと思います。 1つのパイプラインを使用してブランチ名を確認できます。

pipelines:
  default:
    - step:
        script:
          - cd source
          - npm install
          - npm build 
          - if [[ $BITBUCKET_BRANCH = develop ]]; then s3cmd put --config s3cmd.cfg ./build s3://develop; fi
          - if [[ $BITBUCKET_BRANCH = staging ]]; then s3cmd put --config s3cmd.cfg ./build s3://staging; fi

最後の2行は、指定されたブランチでのみ実行されます。

3
Finesse

どうやらそれは作業中です。うまくいけばすぐに利用できる。

https://bitbucket.org/site/master/issues/12750/allow-multiple-steps?_ga=2.262592203.639241276.1502122373-95544429.1500927287

1
YarGnawh