5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

BitbucketのPipelinesを試してみる

Posted at

今まで一部案件で、Jenkinsを使ってgit pushしていたが、そもそもBitbucketでソース管理をしていたので、せっかくなのでPipelineを使って、プルリクがマージされたタイミングと、masterブランチが更新されたタイミングで、サーバーにgit pushでデプロイする仕組みを構築する。

bitbucket-pipelines.ymlの作成

  1. デプロイしたいレポジトリの左メニューから、[pipelines]を選択する
  2. 環境にあったテンプレートが選択できるので、テンプレートを選択し、[Commit file]ボタンを押下する

bitbucket-pipelines.ymlのファイルがおそらくディフォルトで設定しているブランチに作成される。

bitbucket-pipelines.ymlの中身

テンプレートで作成すると、imageが設定されているが、DockerHubにあるものは使えるらしい。

pipelines:
    branches:
      develop:
        - step:
            deployment: staging
            script:
              - git remote add dev ssh://$STAGING_SSH_USER@$STAGING_SSH_SERVER:$STAGING_SSH_PORT/$STAGING_SOURCE_DIR
              - git push dev develop
      master:
        - step:
            deployment: production
            script:
              - git remote add prod ssh://$PROD_SSH_USER@$PROD_SSH_SERVER:$PROD_SSH_PORT/$PROD_SOURCE_DIR
              - git push prod master

pipelinesのbranchesで、対象のブランチがBitbucketにpushされたタイミングで、step内のscriptが実行される仕組みなる。
deploymentのキーにtest,staging,productionのいずれかを設定しておくと、左メニューのDeploymentsのページに、実行状況が表示される。

環境変数の設定

bitbucket-pipelines.ymlの中で使われている、$で始まるものは、レポジトリの[設定]-[PIPELINES]-[Environment variables]で環境変数を設定することにより、使えるようになる。
案件が複数ある場合など、bitbucket-pipelines.ymlは同じものを使い、環境変数で各案件にあったSSHの接続情報などを設定するなどの使い方ができる。

SSH Keyの設定

sshで接続するためのSSH Keyはレポジトリの[設定]-[PIPELINES]-[SSH keys]から設定する。Keyを作成するか、すでに作成済みのKeyを登録する。

無料枠について

pipelinesは無料プランであれば、ビルド時間が月50分まで、スタンダードプランだと、月500分まで無料。

まだ、色々試しているので、何かあれば追記していこうと思う。


参考サイト

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?