8
9

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.

Dockerでbitbucket-serverを上げてみる

Last updated at Posted at 2015-10-15

やること

さっそく(今度こそ)手軽なDockerの環境が出来たので、勉強がてらに何か入れてみます。
今回は、Stashから変わったばかりの、bitbucket-serverを上げてみることにしました。

イメージの取得

Docker Hubにはatlassian公式のものも含め、Atlassian製品がいくつか上がっています。
今回の利用はこちらから。

% docker pull atlassian/bitbucket-server # しばらく待つ

# 持って来れました!
% docker images
REPOSITORY                   TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
atlassian/bitbucket-server   latest              e1065872791c        6 days ago          763.5 MB
hello-world                  latest              8889088cb38d        9 weeks ago         960 B

コンテナ内とDokerホスト内のディレクトリを共有

イメージが取得できたので、ドキュメントに従って、dockerコンテナの操作を行います。

この操作は行わなくてもいいのですが、コンテナやイメージ削除の際にせっかくコミットしたリポジトリのデータも消えてしまうと残念です。

ということで、docker コンテナ内でBitbucket Serverのデータが書き出されるディレクトリを、Dockerホスト側のディレクトリにマウントさせて、データの保全を計るため、このおまじないをかけます。

# Dockerホストにマウント & パーミッション変更
% docker run -u root -v /data/bitbucket:/var/atlassian/application-data/bitbucket atlassian/bitbucket-server chown -R daemon  /var/atlassian/application-data/bitbucket

Dockerホスト側は?

この時点で、Dockerホスト(boot2docker) 側の /data/bitbucket フォルダが出来ています。
Dockerのコンテナが止まったり、コンテナ&イメージが削除されてしまっても、boot2docker側のフォルダにデータが残ることになります:)

% docker stop ...Bitbucket ServerコンテナのID....
% docke-machine ssh default # Dockerホスト内にssh

# ここからはDockerホスト内部(boot2docker)

docker@default:/data/bitbucket$ ls -F
analytics-logs/ bin/            caches/         export/         lib/            log/            plugins/        shared/         tmp/

Bitcuekct Server起動します!

データの欠損はひとまず心配しなくてよさそうなので、早速起動してみます。
必要なものは入っている状態なので、ドキュメントに従って、起動させます。

# Macのターミナル上から
# Daemonモードでプロセス起動
% docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket --name="bitbucket" -d -p 7990:7990 -p 7999:7999 atlassian/bitbucket-server
adaa96da2820d55e2d473c4ed72e00d7c1c2111dd4da07e87caa65dc8d1b058c

% docker ps
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                                            NAMES
adaa96da2820        atlassian/bitbucket-server   "./bin/start-bitbucke"   5 minutes ago       Up 5 minutes        0.0.0.0:7990->7990/tcp, 0.0.0.0:7999->7999/tcp   bitbucket

docker psで確認してみると、ひっそりと起動しているようです。

Webから接続してみます!

Dockerコンテナ内 7990 で起動 -> Dockerホスト側の7990 にポートフォワードされていますが、わたしの環境はDocker Toolboxを使っていますので、Macからアクセスするには、そのまま http://localhost:7990/ ではNG。

Virtualboxのポートフォワードでもいいのですが、Dockerホストのポートが解放されていれば、DockerホストのIPを頼りに接続でokです。

% docker-machine ip default
192.168.99.100

では、このipでMac上のブラウザから見てみます。

bitbucket-server-on-docker.jpg

Kitematicからも、Bitbucket Serverのコンテナの状況が確認できました。

設定 & ログイン!

めでたく起動しましたので、評価用ライセンスキーを取得して、アプリケーションを有効化します。
設定完了後には、初期アカウントで再ログインになります。

ログイン直後は、以下のような画面に...。(おひとりさま利用なのが申し訳ないです)

after-login.png

プロジェクトとリポジトリを作成

Bitbucket-Serverの場合は、Stashと同じく、まずはプロジェクトを作成します。(チームのワークスペースみたいなものです)
リポジトリは、このプロジェクトの下に紐づきます。

create-project.jpg

プロジェクト作成後に、リポジトリを作成します。

create-repository.jpg

コマンドラインからアクセス!

では、リポジトリが出来ましたので、早速 git clone します。ここでは、簡単にhttpでcloneします。

% git clone http://自分のアカウント@192.168.99.100:7990/scm/akp/angular.git
Cloning into 'angular'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

% cd angular/
% ls
% git remote -v
origin	http://自分のアカウント@192.168.99.100:7990/scm/akp/angular.git (fetch)
origin	http://自分のアカウント@192.168.99.100:7990/scm/akp/angular.git (push)

README を加えて、masterにpush してみます。
SourceTreeで確認しました :)

browse-sourcetree.png

おひとりさまコードレビュー

画面上から、おひとりさまですがコードレビューの確認をしてみます。
インラインでのコメントも大丈夫!

code-review.png

と言うかんじで、あっさり確認ができました!

感想など

Docker ToolBoxのおかげで、楽に環境を作ることが出来まして、大助かり!
評価版ライセンスは必要ですが、これなら動作確認しやすいですね。

特にプラグイン周りの確認は、格段にしやすいと思います。

また、Bitbucket Serverのプロセスがデーモンで起動し続けてくれているので、Dockerホストが停止しない&コンテナが起動しているままなら、PCをサスペンドさせて、翌朝再度アクセスしても、ちゃんと続けて利用できました。

次に機会があれば、データの移行を行ってみたいと思います。

8
9
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
8
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?