LoginSignup
4
2

More than 1 year has passed since last update.

Bitbucket PipelineをGithub Actionsと比較しながら使ってみた

Posted at

Bitbucket PipelineとGithub Actionsの違い

仕事でBitbucketを使う機会がありましたのでPipeline使ってみました。
普段Github Actionsばかり使っているので、Bitbucket Pipelineと違うところを比較してみます。

CI用のファイル

Github Bitbucket
.github/workflowsの*.yml bitbucket-pipelines.yml

Githubの方は作業の種類ごとに細かくファイルを分けれますが、bitbucketは一つのみ?

複数の処理

Github Bitbucket
YAMLアンカー 使えない 使える
matrix 使える 使えない

BitbucketはYAMLアンカー を使って複数の処理を一つの記述にまとめて、必要に応じて処理を上書きできる。
対してGithubはmatrixを使うと、たとえばバージョン違いの検証などが簡単に行える。

CIで考えるとGithubの方がシンプル。Bitbucketはどんな内容でも対応できるので汎用性が高い。

他のサービスとの連携

Github Bitbucket
Workflowを利用する。  Pipeがあると楽に利用できる 

BitbicketはPipeを利用して連携することができる。GithubではWorkflowを利用して連携することができる。
設定などはBitbucketの方が簡単。

並列実行

Github Bitbucket
設定不要 も使える parallelで指定する

Githubは前述のyamlファイルの全てが並列に動きます。Bitbucket Pipelineはparallel指定したもののみ。

ほぼ同じところ

項目 Github Bitbucket
docker利用 使える 使える
リポジトリ環境変数 使える 使える
トリガー イベント パイプライントリガー
キャッシュ 利用できる 利用できる
ジョブ間の情報の共有 Job outputs アーティファクトを共有する

Bitbucketの特徴

yamlファイルの編集画面が色々と工夫されている
image.png

右側でテンプレートやPipeを選択してコピペすればすぐに使えるファイルができる。
でも、1ファイルで運用なのでかなりゴチャゴチャしてしまうので、stepは細かく分けたほうが良さそうです。

実行画面がBitbucketは結構作り込まれています。
Bitbucketは実行画面でdockerタブがあります。
bitbucket実行画面.jpg

あと、deploymentを指定すると、そもそも管理する画面が変わるので、CI/CDをまとめて行った時とかはみやすいと思います。

bitbucketdeploy.jpg
bitbucketdeploy.jpg

デプロイごとの環境変数などを細かく指定することができます。

deployments.jpg

ただ、GithubAcitonsだとWorkflowごとに処理を変えてCDさせれるので、管理という意味ではファイルで管理できるGithubActionsの方が好みです。

総評

Pipeで行える範囲で利用したり、WebUIで管理するのであればBitbucketは便利だと思います。Slack通知とかはあっという間に作成できます。

複数人で作業する場合などで、全部git上のファイルで管理するのであれば、GithubActionsの方が管理しやすいと感じました。

どちらも一長一短なので、今後の展開も見ていきたいと思います。

4
2
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
4
2