15
0

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 3 years have passed since last update.

HameeAdvent Calendar 2021

Day 1

BitbucketからGithub、そして伝説へ…

Last updated at Posted at 2021-11-30

はじめに

今年もアドベントカレンダーはじまりました!
この記事はHamee Advent Calendar 2021の1日目の記事です。
Hameeのエンジニアが自分の興味あるテーマについて自由に書いていきます。
毎年一緒に参加して盛り上げてくれる皆さんに感謝です :clap:
今年で7年目の参加となりました!

Hamee開発部は長年Bitbucketを使ってきましたが、つい最近Githubへ切り替えを行いました。

  • BitbucketからGithubへの移行の仕方の説明
  • Bitbucket PipelinesからGitHub Actionsへの移行の仕方の説明

これらについてまとめていきたいと思います。

BitbucketからGithubへの移行

こちらの記事が大変参考になりました。
2段階認証有効のBitbucketからGitHubにリポジトリをインポートする
Githubのインポート用ページにBitbucketのリンクを指定してインポート。

スクリーンショット 2021-11-14 15.49.18.png

スクリーンショット 2021-11-14 15.50.19.png

これだけでGithubに移行できちゃいます。
簡単!

Bitbucket Pipelinesとは

Bitbucket Pipelines は、Bitbucket に組み込みの、統合された CI / CD サービスです。リポジトリの構成ファイルに基づいてコードを自動的にビルド、テスト、およびデプロイできます。

サンプル

sample.php
<?php
echo('testを出力するだけ');
test.php
<?php
echo("sample.phpを実行して意図した文言が出ること\n");
exec("php sample.php", $result);
if($result[0] === "testを出力するだけ"){
    echo("テスト成功\n");
} else{
    echo("テスト失敗\n");
    exit(-1);
}
bitbucket-pipelines.yml
pipelines:
  # プルリク時に発火するトリガー
  pull-requests:
    '*':
      - step:
          image: php
          script:
            - php test.php

スクリーンショット 2021-11-14 15.34.26.png

GitHub Actionsとは

GitHub Actionsを使用すると、ワールドクラスのCI / CDですべてのソフトウェアワークフローを簡単に自動化できます。 GitHubから直接コードをビルド、テスト、デプロイでき、コードレビュー、ブランチ管理、問題のトリアージを希望どおりに機能させます。

サンプル

sample.phpとtest.phpは変更しません。
bitbucket-pipelines.ymlは不要なので削除。
指定の位置に以下のtest.ymlを設置。

.github/workflows/test.yml
name: test
on: [push]
jobs:
  test:
    runs-on: ubuntu-latest
    container: php
    steps:
      - uses: actions/checkout@v2
      - run: php test.php

初期設定だとactionsが無効になってる場合があるので以下から有効にしておきます。
スクリーンショット 2021-11-14 16.16.39.png

pushをトリガーにactionが実行されます。
スクリーンショット 2021-11-14 16.29.35.png

これでBitbucket Pipelinesで動いていたテストがGithub Actionsで動くようになりました!

利用上限

BitbucketもGithubも複数の料金プランを持っています。
料金プランによって上限も異なります。
個人利用と業務利用によって必要なプランを選択しましょう。

ビルド時間(分/月) ストレージ(GB)
Bitbucket
Free
50 1
Bitbucket
Standard
2,500 5
Bitbucket
Premium
3,500 10
GitHub
Free
2,000 0.5
GitHub
Pro
3,000 1
GitHub
Organization
2,000 0.5
GitHub
Team
3,000 2
GitHub
Enterprise
50,000 50

Bitbucketは上記を超過した場合に$10/1,000分で追加購入できるようです。
Githubはパブリックリポジトリに関しては上限なし?のようで、プライベートリポジトリに関して上限を超えた場合に以下の表の通りに追加購入できるようです。(macOSだけやたら高いのは何故なんだろう)

追加料金
Linux $8/1,000分
macOS $80/1,000分
Windows $16/1,000分

まとめ

もっと昔話をするとBitbucketの前はGitLabを使っていました。
GitLab→BitBucketの乗り換えのタイミングでGithubの話も出ていたんですが、当時はプライベートリポジトリが作れないとかで断念した記憶があります。
それから数年を経て、Bitbucket→Githubの乗り換えが実現しました。
今回の例は割と簡単に書いてますが、実際は影響範囲を調べて色んなところのリモートリポジトリの切り替え作業があったので地味に大変でした💦
でもせっかくGithubに乗り換えられたので使い倒してやろうと思います!
乗り換え検討中の方の参考になればと思います!

おわりに

アドカレ7年目です。
今年も完走目指して頑張りましょー!
この後もHameeのアドカレをお楽しみに!!

15
0
3

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
15
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?