そう。やんごとない理由で使えない。
オンプレ版 GitLab で乗り切った覚書きとして GitLab 構築 (約2h) の一部始終の手順を書いておく。
環境
VirtualBox: 6.0.10r132072
https://www.virtualbox.org/wiki/Downloads
GitLab Community Edition 12.1.6
用途 | OS | Memory |
---|---|---|
Host OS | Windows 10 | 16GB |
Guest OS (GitLab サーバとして使用) | CentOS 7.7 |
|
ゴール
イントラ内、もしくは VPN 経由で http://192.168.100.201
で GitLab にアクセスできること。
構成図
4つのステップ
- Guest OS に CentOS をインストール
- GitLab のインストールと初期設定
- 既存 SVN or Git リポジトリがある場合はそれを GitLab にプッシュ
- チームメンバと GitLab の使い方を一緒に学んでいく
Guest OS に CentOS をインストール
-
GUI はいらないので minimal をダウンロード
http://ftp.riken.jp/Linux/centos/7.7.1908/isos/x86_64/ -
仮想マシンを新規作成
- ダウンロードした ISO をマウント
- ホストオンリーアダプターを追加
-
起動する
参考: CentOSのインストール -
NAT の設定を変更する (インターネットに出れるようにするため)
$ vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none #← 変更元は dhcp DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=enp0s3 UUID=xxx DEVICE=enp0s3 ONBOOT=yes #← 変更元は no IPADDR=10.0.2.25 #← 追加 NETMASK=255.255.255.0 #← 追加 GATEWAY=10.0.2.2 #← 追加 DNS1=8.8.8.8 #← 追加
-
ホストオンリーアダプターの設定を変更する (Host <--> Guest 間で通信するため)
※ VirtualBox GUI でも変更できるが...1
$ vi /etc/sysconfig/network-scripts/ifcfg-enp0s8
```ini
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none #← 変更元は dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s8
UUID=yyy
DEVICE=enp0s8
ONBOOT=yes #← 変更元は no
IPADDR=192.168.56.101 #← 追加
NETMASK=255.255.255.0 #← 追加
DNS1=8.8.8.8 #← 追加
```
-
再起動
$ reboot
-
ポートフォワーディングのルールを追加
> ※ やん事ない理由で80番ポートを使えず、10080番を使う場合
> 1. `$ vi /etc/gitlab/gitlab.rb`
>
> ```rb
> #external_url 'http://192.168.100.201'
> external_url 'http://192.168.100.201:10080'
> ```
> 1. 再構成 `$ gitlab-ctl reconfigure`
> 1. ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/134761/ad263146-14eb-2e7a-bd15-e75f65d7b43f.png)
- 通信を確認。
-
[Guest OS] からインターネットに出れること。
$ curl http://www.example.com/
-
[Host OS] から Guest OS に ssh できること。
$ ssh {ユーザ名}@{前項で設定したホストオンリーアダプターのIPアドレス} -p 22
$ ssh foo@192.168.56.101 -p 22
-
[同一 LAN 上のマシン] から Host OS を経由して Guest OS に ssh できること。
$ ssh {ユーザ名}@{ホストOSのIPアドレス} -p 22
$ ssh bar@{192.168.100.201} -p 22
####CentOS の初期設定
- 最低限の設定とインストール。
# 最新化
$ yum -y update
# 開発者ツールのインストール
$ yum -y groupinstall "Development Tools"
# vim インストール
$ yum -y install vim-enhanced
GitLab のインストールと初期設定
-
インストール
https://about.gitlab.com/install/#centos-7
公式の手順を基本にする。(注: インストールするパッケージは gitlab-ee ではなく gitlab-ce)$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash ↓ $ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash $ sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ee ↓ $ sudo EXTERNAL_URL="https://192.168.100.201" yum install -y gitlab-ce
-
管理者でサインイン
Username:root
Password:5iveL!fe
-
初期設定3つ
- GitLab ユーザの作成
- グループの作成
- 新規プロジェクトの作成
group/project
参考:
(基本) https://git-manual.net/gitlab-project-repository-user/
(ロールに付与される権限) https://qiita.com/mikoski01/items/7a7795a8a1e98d9ba6d9
既存 SVN or Git リポジトリがある場合はそれを GitLab にプッシュ。
- Git リポジトリ
$ git remote set-url origin git@192.168.56.201/group/project.git
- SVN リポジトリの場合は git-svn コマンドを使って Git リポジトリに変換してから
git remote set-url
する。
Git-svnでSubversionからGitに移行方法
チームメンバと GitLab の使い方を一緒に学んでいく
社内勉強会などの啓蒙活動が基本。あとは「習うより慣れるやで~」的なノリで乗り切る。
後記
続編も書こうと思う。
続編1: オンプレ版 GitLab で GitLab Pages する
続編2: Docker outside of Docker (DooD) で GitLab-CI する
-
バージョンアップで UI が変わったり、そもそも他の仮想化ソフトを使わなければいけないこともあるので設定ファイルを直接変更する ↩