GitLabの更新 その1
事の始まり
研究室のGitLabがかなり古かった
その時にまとめたブログ
2016/09/10での最新版:8.11.5
研究室のGitlab:8.1.3
Webから、アーカイブ(zipでまとめてくれる)がダウンロードできないバグがあったので、夏休み中にUpdateしたいと思った
状況確認
研究室のGitlabはVPSで動いている
cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.5 LTS"
研究室にGitlabを導入したのは先輩で多少アプデしてそのままのようだ
拾えた情報
- omnibusのGitLabを導入
- nginxはaptで入れたものを使用
- https(port番号443)のみで動かしてる
GitLabの構成
ディレクトリ構成
/opt/gitlab
/var/opt/gitlab
/var/log/gitlab
/etc/gitlab
ソフトウェア構成
- git
- Ruby
- Ruby on Rails
- runit
- スーパーデーモン
- nginx
- フロントエンド Web サーバー (無効化可能)
- デフォルト TCP ポート: *:80
- Unicorn
- PostgreSQL
- デフォルトポート: /tmp/.s.PGSQL.5432
- Redis
- デフォルトポート: 127.0.0.1:6379
- Chef
- そのほか
詳細は以下のページ
設定ファイルの場所
/etc/gitlab/gitlab.rb
- GitLabの各種設定を行う
/etc/nginx/conf.d/gitlab.conf
- このGitlabはGitlab内蔵のnginxを使っていないのでここで設定
UpdateするまえにBackup
sudo gitlab-rake gitlab:backup:create
/var/opt/gitlab/backups/
以下にtar形式でBackupされる
Update
バージョンによって多少手順が違うらしい
とりあえず、Updating from GitLab 6.6 and higher to 7.10 or newerを見ながらやった
apt-getすればいいだけだった
アクセスしたら500エラーになって焦ったけど、Ubuntuを再起動したら直った
不具合
不具合を列挙する(修正済みを含む)
ログアウトするとGitLabに入れなくなる
[修正済み]
他の不具合を修正するためにいろいろ設定をいじったらなった
たぶん、port周りの設定をミスってた
Gravatar表示ができない
先生はGravatarでアイコンを表示していたのだが、表示されなくなる不具合
原因は、フロントエンド Web サーバー(nginx)の実行ユーザーが指定されてなかったせい
/etc/gitlab/gitlab.rb
に
web_server['external_users'] = ['www-data']
と追記
アーカイブがダウンロードできない
[修正済み]
一番の問題だった
ググっても同じ不具合が起こっている人がいない(英語圏も含め)
後述するRAW表示や個別のファイルダウンロードができないというlssuesがあった
こいつのVhost (server block)をnginxの設定(/etc/nginx/conf.d/gitlab.conf
)に加えたらアーカイブのダウンロードが可能になった
RAW表示や個別のファイルダウンロードができない
[未解決]
原因不明。上記のissuesを修正すればいいと思ったのだが、直らず
-> 直ってた。詳しくは
siragumohuin.hatenablog.com
怪しい部分「gitlab-workhorse」
workhorseって何?
gitlab-workhorseはファイルのダウンロード、ファイルのアップロード、Gitのpush/pullとかGitのアーカイブダウンロードなどのデカイHTTP要求を処理するらしい
高負荷に耐えられるように設置されたという歴史があるっぽい