GitLab 8.5.0.rc4 > 8.9.0.rc6 にソースインストールでアップデート

2016年6月17日(約8年前)の記事となっております。色々ご注意ください。

GitLab 8.5.0.rc4 から GitLab 8.9.0.rc6 に更新

停止する

service gitlab stop

Gitを最新バージョンへ

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

git --version
git version 2.7.2

Gitをアップデート

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

更新後のバージョン

git --version
git version 2.9.0

設定を確認

git config --list

GitLabのアップデート

su - git
cd /home/git

更新前のバージョン確認

cat VERSION
8.5.0

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-11-stable                                                       tracked
    7-12-stable                                                       tracked
    7-13-stable                                                       tracked
    7-14-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
    8-0-stable                                                        tracked
    8-1-stable                                                        tracked
    8-2-stable                                                        tracked
    8-3-stable                                                        tracked
    8-4-stable                                                        tracked
    8-5-stable                                                        tracked
    8-6-stable                                                        tracked
    8-7-stable                                                        tracked
    8-8-stable                                                        tracked
    8-9-stable                                                        tracked
    add-prompts-to-tasks-a1814a50                                     tracked
    api_merge_request-4281de36                                        tracked
    ce_upstream                                                       tracked
    contributing-file-46bbeabc                                        tracked
    contributing_guide-348e9a74                                       tracked
    cucumber-e15a2b96                                                 tracked
    dashboard_v2-18e4f154                                             tracked
    docker-updates                                                    tracked
    dont-allow-question-mark-in-project-name-8c4b0f98                 tracked
    fast_automerge-e5f8397f                                           tracked
    feature/internal_projects-319d2b78                                tracked
    feature/poltergeist-ba25b2dc                                      tracked
    features/projects_page-d24fd32a                                   tracked
    features/teams-d839f6c5                                           tracked
    fix-group-remove-55715735                                         tracked
    fix-rake-test-ci-18ef9bef                                         tracked
    fix_bug_wiki-883d138f                                             tracked
    fix_bug_wiki-db469ea3                                             tracked
    fix_gfm_auto_complete-77d63289                                    tracked
    fix_postgres_notes-69c8231b                                       tracked
    fix_service_gitlab_restart-2b9d48cc                               tracked
    green-travis-c3d56441                                             tracked
    hook_on_mr_fix-e226551e                                           tracked
    i-should-no-create-branches-on-github-942cf323                    tracked
    improve-coveralls-522d754d                                        tracked
    inline_diff-e3fed8aa                                              tracked
    jvanbaarsen-patch-1-823f8c1a                                      tracked
    jvanbaarsen-patch-1-920a2d97                                      tracked
    link-to-dot-com-2135da14                                          tracked
    link_to_spinach_in_readm-895b16ea                                 tracked
    master                                                            tracked
    merge_button-3a6694b5                                             tracked
    models_refactoring-0a70aca3                                       tracked
    namespaces-1d7fdf45                                               tracked
    plusone_ui-cbc56a96                                               tracked
    refactor_scss-9b57bf78                                            tracked
    refs/remotes/origin/docker-image                                  stale (use 'git remote prune' to remove)
    refs/remotes/origin/fix-group-remove                              stale (use 'git remote prune' to remove)
    refs/remotes/origin/reproduce-500-for-3092                        stale (use 'git remote prune' to remove)
    refs/remotes/origin/revert-9758-fix/api-helpers-bad-autoload-name stale (use 'git remote prune' to remove)
    remove_link_to_function-d5b41831                                  tracked
    remove_roles-da03a5c7                                             tracked
    remove_sorce_branch_after_merge-2d68e7f4                          tracked
    revert-7252-master-976eb7a9                                       tracked
    revert-8800-email-settings-317ed1fa                               tracked
    revert-9368-patch-1-25a870a6                                      tracked
    revert-9528-Fixed_alignment_issue-50696ce1                        tracked
    revert-9758-fix/api-helpers-bad-autoload-name-49e48bd0            tracked
    stable-bbdb2c3f                                                   tracked
    travis/cmake-4e241fc4                                             tracked
    ubuntu_script-7c933079                                            tracked
    ui/tiny_nav-55f776f0                                              tracked
    use-symlink-cc3892b1                                              tracked
    v4.0-api-fixes-eaa99478                                           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
    7-9-stable merges with remote 7-9-stable
    8-3-stable merges with remote 8-3-stable
    8-5-stable merges with remote 8-5-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)
    7-9-stable pushes to 7-9-stable (up to date)
    8-3-stable pushes to 8-3-stable (local out of date)
    8-5-stable pushes to 8-5-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 save "20160617-version-up"

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

最新のバージョンへ

git checkout 8-9-stable
cat VERSION
8.9.0-rc6

gitlab-shell

更新前のバージョン

cd /home/git
cd gitlab-shell/
cat VERSION
2.6.10

ブランチの確認

cd /home/git/
cd gitlab-shell/
git remote show origin
git fetch
remote: Counting objects: 316, done.
remote: Total 316 (delta 127), reused 127 (delta 127), pack-reused 189
Receiving objects: 100% (316/316), 91.20 KiB | 0 bytes/s, done.
Resolving deltas: 100% (200/200), completed with 34 local objects.
From https://github.com/gitlabhq/gitlab-shell
   f1ac6cb..c6f1495  master     -> origin/master
 * [new tag]         v3.0.0     -> v3.0.0
 * [new tag]         v2.6.11    -> v2.6.11
 * [new tag]         v2.6.12    -> v2.6.12
 * [new tag]         v2.6.13    -> v2.6.13
 * [new tag]         v2.7.0     -> v2.7.0
 * [new tag]         v2.7.1     -> v2.7.1
 * [new tag]         v2.7.2     -> v2.7.2

ブランチの一覧

git branch

タグの一覧

git tag -l

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

git checkout -b b3.0.0 refs/tags/v3.0.0

ここまでの確認

cd /home/git/
cd gitlab/
cat VERSION
8.9.0-rc6
cd /home/git
cd gitlab-shell/
cat VERSION
3.0.0

マイグレーション

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.8.5.0

サンプルを削除

rm gitlab.yml.example

新しいサンプルを取得

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

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

vi gitlab.yml
  gitlab:
    host: git.aulta.jp
    port: 443
    https: true
    email_from: gitlab@receiver.aulta.net
    email_display_name: GitLab
    email_reply_to: noreply@receiver.aulta.net
  backup:
    path: "/backup/gitlab"
    keep_time: 7200
  gitlab_shell:
    ssh_port: 22230
  git:
    bin_path: /usr/local/bin/git

設定変更

cd /home/git/gitlab/config
mv unicorn.rb unicorn.rb.backup.20160617
rm unicorn.rb.example
wget https://gitlab.com/gitlab-org/gitlab-ce/raw/8-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

500エラーになっても、1分程度待てば回復する

エラーになった場合

https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/update

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

ということで宣伝です。

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

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

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

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

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