gitlab の初回インストール
データの書き戻し(リストア)やバックアップ(取得)の練習用・実験用に、サクッとGitlabを立ち上げる。
docker 使うより楽だと思う。
multipass 上に作ってみる。
multipass でインスタンス生成
multipass launch --name sample01 -d 20G
仮想マシンの中に入る
multipass shell sample01
update install
sudo apt update && sudo apt upgrade -y
apt を軽量化
echo -e "APT::Install-Suggests 0;\nAPT::Install-Recommends 0;" | sudo tee /etc/apt/apt.conf.d/00-no-install-recommends
レポジトリ取得元を変える
URL=http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ sudo sed -i.back "s|http://archive.ubuntu.com/ubuntu/\?|${URL}|" /etc/apt/sources.list
プロキシを使ってローカルキャッシュ
echo 'Acquire::HTTP::Proxy "http://192.168.100.5:3142";' |sudo tee /etc/apt/apt.conf.d/01proxy
man なしにして無駄を省略
cat <<EOF > 01-nodoc # Delete locales path-exclude=/usr/share/locale/* # Delete man pages path-exclude=/usr/share/man/* # Delete docs path-exclude=/usr/share/doc/* path-include=/usr/share/doc/*/copyrigh EOF sudo mv 01-nodoc /etc/dpkg/dpkg.cfg.d/01-nodoc
作業に必要なものを入れる。
sudo apt update && \ sudo apt-get install -y curl vim-nox
ロケールを初期設定
sudo locale-gen --purge "ja_JP.UTF-8" sudo dpkg-reconfigure --frontend noninteractive locales
gitlab をインストール
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl && \ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash && \ apt update sudo apt install gitlab-ce=15.3.0-ce.0 sudo gitlab-ctl reconfigure # 初期化
バックアップのテスト
インストールが終わったらバックアップの書き戻し練習
マシン・インスタンスにバックアップをコピー・またはマウント
バックアップをコピー(小さい場合)
multipass transfer backups-gitlab.tgz sample01:/home/ubuntu/backups-gitlab.tgz
バックアップをマウント(でかい場合)
mkdir backups mv 1662684239_2022_09_09_15.3.3.tar backups multipass stop sample01 multipass mount ./backups sample01:/var/opt/gitlab/backups multipass start sample01
設定をリストア
sudo rsync -av my_gitlab-etc/ /etc/gitlab/ sudo gitlab-ctl reconfigure # DB初期化
バックアップをリストア
NAME=1655916823_2022_06_23_15.0.3 sudo cp 1655916823_2022_06_23_15.0.3_gitlab_backup.tar /var/opt/gitlab/backups/ sudo gitlab-backup restore BACKUP=$NAME # 書き戻し sudo gitlab-ctl reconfigure
バックアップからリストアでうまくいかないときは、gitlab をきれいに消してあげる。
sudo apt purge gitlab ## 完全に消すので注意 sudo rm -rfi /opt/gitlab/ sudo rm -rfi /etc/gitlab/ sudo rm -rfi /var/opt/gitlab/ sudo rm -rfi /var/log/gitlab/
確認
sudo gitlab-backup create STRATEGY=copy
後片付け
multipass stop sample01 multipass delete sample01 multipass purge
multipass お手軽でいい
multipass は、lxcとコマンドがほぼ同じ。覚えることが少ない。
また、multipassが動けばあとはおなじになるので、WindowsやMacOSやLinuxでも問題なく使えるのが嬉しい。