プル リクエストでデプロイする

Managing deployments with pull requests and Bitbucket Pipelines is simple, you just need to adopt a certain structure for your repository.

See also Test with databases in Bitbucket Pipelines.

Step 1: Define the repository structure

Repository branches:

master: Your integration branch

staging: Use this branch to trigger deployments to staging

production: Use this branch to trigger deployments to production

feature/xxx: All feature branches

With the branch structure above, you can define a .YML file that has different flows for different branches:

bitbucket-pipelines.yml
# This is a sample build configuration for Javascript.
# Only use spaces to indent your .yml configuration.
# -----
# You can specify a custom docker image from Docker Hub as your build environment.
image: node:4.6.0

pipelines:
  default:
    - step:
        script: 
          - npm install
          - npm test
  branches:
    staging:
      - step:
          script:
            - npm install
            - npm test
            - export HEROKU_APP_NAME=$STAGING_APP
            - ./heroku_deploy.sh # Check https://bitbucket.org/rjst/heroku-deploy to understand how to deploy to Heroku
    production:
      - step:
          script:
            - npm install
            - npm test
            - export HEROKU_APP_NAME=$PROD_APP
            - ./heroku_deploy.sh  # Check https://bitbucket.org/rjst/heroku-deploy to understand how to deploy to Heroku

 

  • オンライン バリデーターを使用して bitbucket-pipelines.yml ファイルをチェックすることができます。
  • All branches except staging and production use the default pipeline that simply runs the tests.
  • The staging and deployment branches have a different configuration and are set up to deploy to their respective staging and production environments.

Step 2: Set branch permissions

In order to protect the staging and production branches from being pushed directly, you can use branch permissions to only allow merges via pull requests.

In the example below, branch permissions are set in a way that everyone can merge to staging, but only selected individuals can merge to production:

 

Step 3: Start deploying with pull requests

You can now simply develop a new feature or improvements on the feature branches and integrate them into master. Then, you can issue a pull request to the staging branch to deploy changes to your staging environment:

 

Creating a pull request allows you to review the changes before you deploy them to the staging environment. Repeat the process to deploy to production: create a pull request going from the staging branch to the master branch.

The image below presents a view of a pull request merged from staging to production:

 

最終更新日 2017 年 11 月 6 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.