Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Ubuntu18.04LTS への gitbuckect サーバ引っ越し

More than 1 year has passed since last update.

gitbucket サーバの引っ越し

はじめに

gitbucket を運用していたサーバマシンが不調なので、新サーバマシンへ引っ越しを行う。
その作業手順をここに備忘録として残す。

サーバ環境とファイル構成

旧サーバ

OS: CentOS6
Repos: $HOME/.gitbucket/
Port: 9999

  • ユーザ maintainer の $HOME に環境を構築していた.
  • WEBサーバにデプロイせず、crontab の @reboot タイミングで gitbucket.war を起動し、組み込みサーバで実行していた.
  • gitbucket のデフォルトポート番号8080は、実験用途に空けておきたいので 9999 を使っていた.

新サーバ

OS: Ubuntu18.04LTS
Repos: $HOME/.gitbucket/
Port: 9999

  • クライアント側の設定を変えたくないので、ポート番号は旧サーバと同じにする.
  • gitbucket をサービスとして実行する

元サーバからデータを吸い出す

# gitbucket の運用を停止する. 完全に止まるまでちょっと待つ.
pkill -f gitbucket.war
sleep 1

# データをtar.gzに固める.
tar -zcf gitbucket.tar.gz ~/.gitbucket

# 新サーバにデータを転送する.
scp -p gitbucket.tar.gz maintainer@newserver:.

新サーバに実行環境を構築する

  1. 旧サーバをシャットダウンし、新サーバを旧サーバの名前に変える.
  2. 以下の構築を行い、最後にリブートする.
# open port 9999
#   CentOS6: sudo iptables -A INPUT -p tcp -m tcp --dport 9999 -j ACCEPT
#   Ubuntu: nothing to do.

# install Java8 or later
sudo apt install openjdk-11-jre-headless

# get gitbucket
wget https://github.com/gitbucket/gitbucket/releases/download/4.31.1/gitbucket.war
mkdir $HOME/install
mv gitbucket.war $HOME/install/

# recover datas to $HOME/.gitbucket
tar -xzvf gitbucket.tar.gz

# make gitbucket service
sudo vim /etc/systemd/system/gitbucket.service
sudo systemctl enable gitbucket
sudo systemctl start gitbucket
  • 旧サーバとユーザ名が変わっている場合は、$HOME/.gitbucket/* のオーナーを chown で修正する.

service設定

/etc/systemd/system/gitbucket.service
[Unit]
Description = git bucket

[Service]
User=maintainer
##ExecStart = /usr/bin/printenv
# USER=maintainer
# HOME=/home/maintainer
# LOGNAME=maintainer
# JOURNAL_STREAM=9:294136
# PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# INVOCATION_ID=18b629bd82f5412b86ba9698a84edd8c
# LANG=ja_JP.UTF-8
# SHELL=/bin/bash
# PWD=/
#
ExecStart = /usr/bin/java -Xms512m -Xmx512m -jar ${HOME}/install/gitbucket.war --port=9999
Restart = always
Type = simple
## default output to syslog.
#StandardOutput=null
#StandardError=file:/var/log/gitbucket.log

[Install]
WantedBy = multi-user.target
  • 旧サーバと同じく、ポート番号9999を使う
  • maintainer ユーザで実行する
  • メモリ不足な感じなので、下記参考資料に倣って java -Xms512m -Xmx512m で起動する

参考資料

END

hkuno
ソフトウェア設計開発者。C/C++をメインにC#, Perl, JavaScript,lua,golangを少々。 最近は、Raspberry Pi で面白いモノを作りたいと思っています。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away