LoginSignup
17
19

More than 5 years have passed since last update.

Gitlab日本語化(docker)インストール

Posted at

急に使いたくなった

以前からGitlab(v7.9)を使用していますが、急に8系[^1]が使用したくなりました。
Jenkinsも以前から使用してい分ければいいやと思っていたのですが、8から[^2]CIが標準で付いてくると聞いてからdockerで試してはいけそうとやっと始めました。

日本語化

7.9でも日本語化[^3]はしています。

ksoichiroさんの日本語パッチを使用しています。
この記事を書き始めた頃は8.7.0までだったのですがサイトのリンクを張りつつ確認したところ最新に限りなく近い8.11.2があります(笑

いつも利用させてもらっています。今回も早速8.11.2を使わせてもらいました。感謝感謝。

Gitlab(docker)

7.9はDebianからマニュアルでインストールしていたのですが、今回もチャレンジしましたが断念[^4]しました(笑
ほぼほぼ出来上がっている既存のdockerイメージがいいかなと・・・

gitlab/gitlab-cesameersbn/gitlabを使用します。

gitlab/gitlab-ce はofficalっぽいんだけど、書いてないなぁ。

使ってみて、mysqlでなくpostgresがデフォルト[^5]で変え方が今ひとつ判らなかったのでsameersbn/gitlabの方を使用します。

イメージ作成

Dockerfile
FROM sameersbn/gitlab:8.11.2

MAINTAINER takara

RUN apt-get update && apt-get -y install patch

RUN wget -O app_ja.patch https://raw.githubusercontent.com/ksoichiro/gitlab-i18n-patch/master/patches/v8.11.2/app_ja.patch && \
    patch -p1 < app_ja.patch && \
    rm app_ja.patch

patch コマンドが入っていないのでインストールしてw
日本語パッチダウンロードとパッチを実行してるだけです。簡単w

イメージビルド

$ docker build -t gitlab:sameersbn8.11.2 .

redis-server実行

$ docker run --name gitlab-redis -d sameersbn/redis:latest

ほぼセットになっているredisのが簡単でしょう。
ホスト側のredis-serverに接続しようとしましたが、バージョンが合わないのかこちらにしました・・・

データベース初期化

新規であれば以下のように適当にデータベースを作成します。

$ mysql -u root -ppassword -e "CREATE DATABASE gitlab8.11.2 DEFAULT CHARACTER SET utf8";

既存のデータがあるのであれば、バックアップを取って、実行時に既存のデータベースを指定しましょう。
また、既存のデータがある場合は以下のものを起動後に作成されるフォルダへコピーして再起動するといいでしょう。

既存データの置き場所

コピー先 コピー元[^6]
data/.ssh/authorized_keys /home/git/.ssh/authorized_keys
にありました。登録されたSSHキーですね
data/ssh sshdのキーファイルですね。/etc/ssh/にありました。
data/repositories リポジトリです。/home/git/repositories/にありました。
data/uploads アップロードされたファイルです。/home/git/uploads/以下のファイルをコピーしました。

イメージ実行

$ docker run -itd \
    --name gitlab8 \
    -h gitlab8 \
    -p 80:80 \
    -p 22:22 \
    --link gitlab-redis:redisio \
    --env 'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string'
    --env 'GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string' \ 
    --env 'GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string' \
    --env 'GITLAB_HOST=gitlab' \
    --env 'DB_ADAPTER=mysql2' \
    --env 'DB_HOST=172.17.0.1' \
    --env 'DB_NAME=gitlab8.11.2' \
    --env 'DB_USER=user' \
    --env 'DB_PASS=password' \
    -v `pwd`/data:/home/git/data \ 
    gitlab:sameersbn8.11.2

-p オプションはホストOSのポートを差し替えていますが、自分の場合は専用サーバーにしてるのでこんな感じにしています。ホストOS側のssh(22)は他のポートへ逃がしてるのでgitlabに当てています。
DB_HOST もホストOS側のmysqlを使用しているのでこのような値になっています。古いdockerだと172.17.42.1になったりします。

起動後

起動直後

img00.png

初めて起動した時はテーブル作成などが走るので数分このような画面になります。

正常起動

正常に起動すると以下のような管理者のパスワードを設定する画面が表示されます。

img01.png

昔は決まったパスワードだったのですが、いつからかこうなったようです。

管理者でサインイン

管理者のパスワードを正しく設定すると次のような画面が表示されます。

img02.png

登録済みとして、アカウント「root」、パスワードは先ほど設定したものでサインインします。

サインイン後

最初は何も作成されていないので以下のように「Welcome」画面が表示されます。

img03.png

設定

右上のスパナマークで管理設定をします。
自分の場合はこれぐらい最初で設定ます。

  • 自分のアカウントを登録(管理者)
  • 自分のアカウントでサインインし直して「root」アカウントをロックもしくは削除
  • サインアップの無効
  • インポートするソースのサイトを選択

完了

設定後、サインアウトすると以下のような画面になります。
「初めての方は登録」、サインアップがなくなっていますね。

img04.png

これでやっとCIが動く環境が整いました。

参考サイト

[^1]: v8.11にもなって今更ですが、v7.9のソース管理に不満がなかったのとなまじJenkinsが使えたため、そっちでもできるとか、後7.9の祭にGitlabのインストールが難儀した為、腰が重くなっていました。
[^2]: 7でも別でCIサーバーを立てればいいらしいのですが・・
[^3]: というか、日本語じゃないと直感的にピンとこないのでw
[^4]: Ruby on Railsを知らない私には毎回ハードルが上がって無理ですw
[^5]: 既存の7.9がmysqlを使用していたので・・でも新規なら内部でデータベースも作成してくれるので便利かも
[^6]: OSやバージョンにもよると思いますので参考程度に読み替えてください。

17
19
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
17
19