BitbucketのプライベートリポジトリをCircleCIでビルドする時にハマった

楽できるCIツールないかなぁと探しているんですが、CircleCIをよく聞くので利用しようと思い、試してみました。

仕事でも使えればいいなぁと思い、実際に使ってみようとBitbucketのプライベートリポジトリで試したところ、ビルド結果が未ログインユーザーでも見れてしまうことが確認出来てしまいました。

ビルド結果が見える?

すでにCircleCIを利用している方などから話を聞いてみたのですが、「404 Not Found」とのことでした。
話を聞いた人がGithubのプライベートリポジトリを利用している方でしたので、Bitbucket特有の問題かなぁと思い、調査してみました。


本当に見えるのか

先に結論を言うと、設定ミスでした!すいません!

設定ミスというか初期設定が予期せぬ設定になっているのが、原因でしたね。
初期設定のままだと、何が問題だったかというと

  • 未ログインユーザーでビルド結果が閲覧可能(標準出力や.circleci/config.ymlが閲覧可能)
  • URLフラグメントの推測が容易なので、未ログインユーザーで成果物(artifact)が取得可能

結構ヤバそうですよね。
なんで、ちょっと注意点を。

何故、ビルド結果が見える?

Bitbucketについてだけ言っていきます。(Githubはならないという話ですし、Githubの有料アカウント持ってない)
Add Projectでリポジトリを選択すると、そのリポジトリがプライベートであろうとなかろうと、ビルド結果が見えるような初期設定になっているようです。
これは、Free and Open Sourceという設定が、初期でONになっているためのようでした。

そのため、プロジェクト追加後は、この設定を出来る限り早くオフにすることを推奨します。(ビルド結果を公開したい場合は除く)



最後に

ちゃんと設定を見て見つけておけば良かっただけですので、こういうことがないように出来る限り注意してきたいと思います...
リプライなどをくれた皆さん、ありがとうございました。

もし、Bitbucketのプライベートリポジトリを連携する時は、注意してくださいね!

コメント

このブログの人気の投稿

新生活始まります

ElasticIPを複数利用する時の注意

タスクの実行結果をwhenで指定するならcheck_modeつける