GitLab 7.4.3 > 7.9.4 にソースインストールでアップデート

2015年4月26日(約9年前)の記事となっております。色々ご注意ください。

GitLab 7.4.3 から GitLab 7.9.4 に更新
GitLab 6.8 から GitLab 7.4.3 への手順は作成してませんでした

nodejs インストール(GitLab7.9から必要になった?)

rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install nodejs npm --enablerepo=epel

https://gitlab.com/gitlab-org/gitlab-ce/issues/1283

停止する

service gitlab stop

Gitを最新バージョンへ

アップデート前のバージョン

git --version
git version 1.9.3

ライブラリインストール

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker

Gitをアップデート

cd /tmp
wget https://www.kernel.org/pub/software/scm/git/git-2.3.6.tar.gz
tar zxvf git-2.3.6.tar.gz
cd git-2.3.6
./configure --prefix=/usr/local
make prefix=/usr/local all
make prefix=/usr/local install

更新後のバージョン

git --version
git version 2.3.6

設定を確認

git config --list

GitLabのアップデート

su - git
cd /home/git

gitlab

cd /home/git/
cd gitlab/
git remote show origin
* remote origin
  Fetch URL: https://github.com/gitlabhq/gitlabhq.git
  Push  URL: https://github.com/gitlabhq/gitlabhq.git
  HEAD branch: master
  Remote branches:
    3-1-stable  tracked
    4-0-stable  tracked
    4-1-stable  tracked
    4-2-stable  tracked
    5-0-stable  tracked
    5-1-stable  tracked
    5-2-stable  tracked
    5-3-stable  tracked
    5-4-stable  tracked
    6-0-stable  tracked
    6-1-stable  tracked
    6-2-stable  tracked
    6-3-stable  tracked
    6-4-stable  tracked
    6-5-stable  tracked
    6-6-stable  tracked
    6-7-stable  tracked
    6-8-stable  tracked
    6-9-stable  tracked
    7-0-stable  tracked
    7-1-stable  tracked
    7-10-stable tracked
    7-2-stable  tracked
    7-3-stable  tracked
    7-4-stable  tracked
    7-5-stable  tracked
    7-6-stable  tracked
    7-7-stable  tracked
    7-8-stable  tracked
    7-9-stable  tracked
    master      tracked
  Local branches configured for 'git pull':
    6-8-stable merges with remote 6-8-stable
    7-4-stable merges with remote 7-4-stable
    master     merges with remote master
  Local refs configured for 'git push':
    6-8-stable pushes to 6-8-stable (up to date)
    7-4-stable pushes to 7-4-stable (local out of date)
    master     pushes to master     (local out of date)
# フェッチする
git fetch

# ブランチの一覧
git branch

# タグの一覧
git tag -l

# スタッシュ
git stash save

# スタッシュの内容確認
git stash list -p

最新のバージョンへ

git checkout 7-9-stable
cat VERSION

gitlab-shell

更新前のバージョン

cd /home/git
cd gitlab-shell/
cat VERSION
2.0.1
cd /home/git/
cd gitlab-shell/
git remote show origin
* remote origin
  Fetch URL: https://github.com/gitlabhq/gitlab-shell.git
  Push  URL: https://github.com/gitlabhq/gitlab-shell.git
  HEAD branch: master
  Remote branches:
    add_local_update_hook tracked
    master                tracked
    version-1-9           tracked
  Local branches configured for 'git pull':
    master      merges with remote master
    version-1-9 merges with remote version-1-9
  Local refs configured for 'git push':
    master      pushes to master      (local out of date)
    version-1-9 pushes to version-1-9 (up to date)
git fetch
remote: Counting objects: 417, done.
remote: Compressing objects: 100% (84/84), done.
remote: Total 417 (delta 100), reused 66 (delta 52), pack-reused 281
Receiving objects: 100% (417/417), 86.13 KiB | 0 bytes/s, done.
Resolving deltas: 100% (234/234), done.
From https://github.com/gitlabhq/gitlab-shell
   dbdcc5f..4d30c0c  master     -> origin/master
 * [new tag]         v2.3.0     -> v2.3.0
 * [new tag]         v2.3.1     -> v2.3.1
 * [new tag]         v2.4.0     -> v2.4.0
 * [new tag]         v2.4.1     -> v2.4.1
 * [new tag]         v2.4.2     -> v2.4.2
 * [new tag]         v2.4.3     -> v2.4.3
 * [new tag]         v2.5.0     -> v2.5.0
 * [new tag]         v2.5.1     -> v2.5.1
 * [new tag]         v2.5.2     -> v2.5.2
 * [new tag]         v2.5.3     -> v2.5.3
 * [new tag]         v2.5.4     -> v2.5.4
 * [new tag]         v2.6.0     -> v2.6.0
 * [new tag]         v2.6.1     -> v2.6.1
 * [new tag]         v2.6.2     -> v2.6.2

ブランチの一覧

git branch

タグの一覧

git tag -l

タグを指定して新しいブランチを作る

git checkout -b b2.6.2 refs/tags/v2.6.2

ここまでの確認

cd /home/git/
cd gitlab/
cat VERSION
7.9.4
cd /home/git
cd gitlab-shell/
cat VERSION
2.6.2

マイグレーション

cd /home/git/gitlab
bundle install --without development test postgres --deployment
bundle exec rake db:migrate RAILS_ENV=production
bundle exec rake migrate_iids RAILS_ENV=production
bundle exec rake assets:clean assets:precompile cache:clear RAILS_ENV=production
bundle exec rake cache:clear RAILS_ENV=production

設定変更

cd /home/git/
cd gitlab/config

以前の設定をリネーム

mv gitlab.yml gitlab.yml.backup.6.8

サンプルを削除

rm gitlab.yml.example

新しいサンプルを取得

wget https://gitlab.com/gitlab-org/gitlab-ce/raw/7-9-stable/config/gitlab.yml.example
cp gitlab.yml.example gitlab.yml

設定変更(以前のものとdiffしながら)

vi gitlab.yml

設定変更

cd /home/git/
mv unicorn.rb unicorn.rb.backup.20150426
rm unicorn.rb.example
wget https://gitlab.com/gitlab-org/gitlab-ce/raw/7-9-stable/config/unicorn.rb.example
cp unicorn.rb.example unicorn.rb
vi unicorn.rb

起動スクリプトの更新

rm /etc/init.d/gitlab
cd /home/git/gitlab
cp lib/support/init.d/gitlab /etc/init.d/gitlab
cp lib/support/init.d/gitlab.default.example /etc/default/gitlab
chmod +x /etc/init.d/gitlab
vi /etc/init.d/gitlab

開始する

service gitlab start

導入サポート・運用サポート

ということで宣伝です。

弊社ではPHP・MySQL・javascriptを使ったWebサイトを得意としています。
これらは2005年頃から触り続けてきていることもあり得意中の得意です。

Git については2012年頃から、GitLab は2014年頃 GitLab 6.8 のときから使い続けています。
ちなみに Github は取引先の都合で使用することはもちろんあります。

1日で完了する簡単なことから、半年・1年規模のものまで幅広く承っています。
特にプログラム開発が必要になるようなカスタマイズは遠慮なくご相談ください。

フロントの見た目に関わるところはデザイン会社が担当、裏方の技術部分を弊社が担当するケースもあり柔軟に対応することができます。

メールやSNSなどのメッセージで簡単に連絡いただいたあとで、電話していただけると確実です。(お問い合わせ