Amazon

2020年10月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

最近のトラックバック

無料ブログはココログ

« 開発用環境を整備する (Samba AD DC + Docker インストール編) | トップページ | 開発用環境を整備する (Docker Composeを使用してSambaADとGitlabをインストールする) »

2020年2月 3日 (月)

開発用環境を整備する (Gitlab インストール + SambaAD認証 + 日本語化編)

今回はGitlabをDockerを利用してインストールしてみたいと思います。Gitlabは公式イメージがあるので非常に簡単です。
我が家ではずっと家庭内ではSubversionを使用してきましたが、VisualStudioを始め様々なツールがGitへの対応を
する一方Subversionに対するサポートが薄くなって来ています。(出来ないわけではないですが…)そこで、今回は
遅まきながら我が家でもGitlabを導入して見たいと思います。






とか言いながら、実は以前RaspberryPiにGitlabをインストールしていたりします。色々頑張ったのですが、やっぱり
RaspberryPi(当時はPi2 B)では遅くて結局の所使うのをやめてしまっていたりします。あれから2年経ちAMD E350の
マシンが余ったのでこのマシンで再挑戦したいと思います。


・IPアドレスの追加

DockerのホストPCにIPアドレスを追加します。コンテナ毎にIPアドレスを発行した方が、ポートの競合等面倒な事を
考えずに済みます。今回は192.168.128.232を追加する事にします。

以下の様に、/etc/network/interfacesを編集します。"# Gitlab用"以下を追記しました。




・ホストサーバの設定変更

Gitlabは22番ポート(SSH)も必要とします。そのままだと折角IPアドレスを追加してもポートがぶつかってしまいますので、
今回追加したIPアドレスをListenしないように限定します。(ここでは、ListenするIPアドレスを192.168.128.230に限定)
/etc/ssh/sshd_config に以下の行を追加します。




・Gitlab用のディレクトリの準備

Gitlabは公式のイメージが配布されているので今回はビルド用のフォルダは作成しません。データ用のフォルダだけ
作成します。以下のコマンドを実行してフォルダを作成します。



これで、Gitlab関係のデータは/data/docker/containers/gitlab以下に保存される事になります。


・Gitlabのインストール

Gitlabのインストールですが…公式のリポジトリイメージをダウンロードして実行するだけです。下記のサイトの指示通り
実施します。

  Install GitLab with Docker
  GitLab Docker images

今回はIPアドレスを別途付与したいので、上記GitLab Docker imagesのRun GitLab CE on public IP addressに記載
されている手順でDockerを起動します。



docker run後1分程度待つとGitlabが起動します。起動後はrootのパスワード設定が必要となりますので設定して下さい。
このユーザはGitlabのローカルユーザなので後で削除する事になります。


・Gitlabの日本語化

最近のGitlabであれば標準で日本語化する事ができます。日本語化はユーザ単位で行います。各ユーザでログイン後に
右上のアイコンから"Settings"をクリックします。

20200111gitlab_03

左側の"Preference"アイコンをクリックすると"Localization"の設定がありますので、日本語を選択するだけでokです。

20200111gitlab_04

英語は残りますが多くは日本語化されます。


・Samba ADのユーザを利用する

折角Active Directoryサーバを自宅で立てたのでこれを利用しましょう。以下の公式ドキュメントに従います。

  ・Setting up LDAP sign-in

/data/docker/containers/gitlab/config/gitlab.rb ファイルに以下の様に設定します。
以下の、ユーザ名・パスワード・ドメイン名等は適宜修正して下さい。



上記設定では、ActiveDirectoryを使用せずに追加したユーザのログインも停止しています。
仕上げにGitlab単体でのユーザ追加画面も停止しましょう。

rootでログインしてAdmin Area > GeneralでSign-up restictionsのSign-up enabledのチェックを外します。

20200111gitlab_01

そうすると、ログイン画面からユーザの登録が出来なくなります。

20200111gitlab_02


・Administrator(管理者)の設定とローカルユーザの削除

折角Samba ADを使用してユーザ管理をしているのですから、Gitlabのローカルユーザは全て消してしまいましょう。
この時点ではインストール時に作成したAdministrator(管理者)だけがローカルユーザとして登録されています。
まずはAD認証されるユーザを一人管理者にしましょう。

Administratorでログインして、"Configure Gitlab → Users:"をクリックします。

20200111gitlab_0620200111gitlab_07

続いて"編集"をクリックします。

20200111gitlab_08

以下のような画面になるはずですのでAdminを選択してSaveして下さい。

20200111gitlab_09

すると、以下の様にユーザ名の横に"管理者"と表示されます。

20200111gitlab_10

ここまで出来たら、新たに作成したユーザでログインしなおして、ローカルユーザは削除してしまいましょう。
"Configure Gitlab → Users:"でユーザの管理画面まで移動して右端の歯車アイコンをクリックします。

20200111gitlab_11

ユーザの削除を選択すると警告がでます。Administratorと入力すると削除できます。
(削除されていない様に見えたらブラウザでリロードして見てください)

20200111gitlab_1220200111gitlab_13

これで、ローカルユーザを全て削除する事ができました。



・(おまけ)メールアドレス登録時に"Please complete your profile with email address"と表示されて先に進まなくなったら

rootでログインして適当にメールアドレスを登録してあげてください。

20200111gitlab_05


・バックアップの取得

Gitlabはリポジトリです。大切なデータを保存する場所となります。その為、データのバックアップを検討しておく必要が
あります。 データは全て/data/docker/containers/gitlab配下に保存されていますので、このフォルダ全体をNAS等の
別のハードディスクにコピーしておくと良いでしょう。


以上です。これでGitlabがインストール出来ました。正直言ってGitlabのインストールは非常に簡単です。SambaADに
認証させないのであれば本当にディレクトリを用意してdocker runするだけでした。

20200111gitlab_14



これで、自宅に専用のGitlabの環境を構築する事が出来ました。最近はSvnではなくGitの方が様々なツールとの相性が
良いのでこの環境を使用して色々管理して行きたいと思います。Gitの場合はリポジトリだけでなく、Wiki等も使用できるので
自分の環境用のメモの保存にも使用していきたいと思います。






RaspberryPiをサーバとして利用する場合の欠点は実はCPUではなくネットワークの遅さとメモリが少ない事だと
思っています。そして、RaspberryPi4ではそれらの欠点を大きく改善された…と、思っているのですが…なんとなく
気分が乗らないというか…自宅PCが丁度世代交代で余り始めたのでそちらを使っちゃえばいいやと言う感じで、
購入に至ってはいません。小さくて便利なのですが、やっぱりIoT的な事をしないと面白くないですよね。
そちらはそちらで、また再挑戦してみたいと思っています。









« 開発用環境を整備する (Samba AD DC + Docker インストール編) | トップページ | 開発用環境を整備する (Docker Composeを使用してSambaADとGitlabをインストールする) »

Linux」カテゴリの記事

コメント

Please complete your profile with email address が出る場合は、ActiveDirectoryでEmailアドレスを登録すると回避できます。

コメントを書く

(ウェブ上には掲載しません)

« 開発用環境を整備する (Samba AD DC + Docker インストール編) | トップページ | 開発用環境を整備する (Docker Composeを使用してSambaADとGitlabをインストールする) »