LoginSignup
6
5

More than 5 years have passed since last update.

Dockerコンテナ上にGitBucket環境を構築する

Last updated at Posted at 2016-02-23

この記事は「Dokcerコンテナ上に開発環境一式を構築する」の一部です。

現在のステータス

Dockerfile

GitBucketはJava以外特に組み合わせないので、Java8の公式イメージでもいいのですが、Ubuntu14.04にしておきます。

# GitBucket Dockerfile
FROM ubuntu:14.04
ENV DEBIAN_FRONTEND noninteractive

# Install.
RUN apt-get update && apt-get -y upgrade
 && apt-get install -y build-essential software-properties-common
 && apt-get install -y byobu curl git htop man zip unzip wget
 && rm -rf /var/lib/apt/lists/*
# Install java 8
RUN add-apt-repository ppa:webupd8team/java -y && apt-get update
 && (echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections) && apt-get install -y oracle-java8-installer oracle-java8-set-default
 && rm -rf /var/lib/apt/lists/*

ENV HOME /root
RUN locale-gen ja_JP.UTF-8
ENV LANG       ja_JP.UTF-8
ENV LC_ALL     ja_JP.UTF-8

# time
RUN cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

#user
ENV USER gitbucket
RUN /usr/sbin/useradd $USER
WORKDIR /home/$USER
USER $USER

javaのインストールはライセンスに同意する必要があるのでdebconf-set-selectionsが必要になります。

build.sh
#/bin/sh

. ../../setenv.sh
CONTAINER=gitbucket

cd $DOCKER_HOME/$CONTAINER
docker build --force-rm -t "lavans-$CONTAINER:latest" .
$ chmod 755 *.sh
$ ./build.sh

GitBucket取得

update.sh
#/bin/sh

VERSION=3.1.1

. ../../setenv.sh

wget https://github.com/takezoe/gitbucket/releases/download/$VERSION/gitbucket.war -O gitbucket-$VERSION.war
rm gitbucket.war
ln -s gitbucket-$VERSION.war gitbucket.war

起動終了スクリプト

run.sh
#/bin/sh

. ../setenv.sh
CONTAINER=gitbucket

docker run -v  $DOCKER_DIR/$CONTAINER/:/home/$CONTAINER -u $CONTAINER -d \
  -e HOME="/home/$CONTAINER" \
  --name $CONTAINER -p 8080:8080 --dns=$IP \
  lavans-$CONTAINER java -Xmx256m -jar $CONTAINER.war
#--host=gitbucket.lavans.jp

GitBucketのデータファイルは/home/gitbucket/.gitbucketに入るので
HOMEディレクトリをマウントして使うようにしました。gitbucketの起動オプションに-Xmx256mを指定しています。

kill.sh
#!/bin/sh

CONTAINER=gitbucket
docker kill $CONTAINER; docker rm $CONTAINER
6
5
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
6
5