执行升级:
$ sudo apt-get upgrade gitlab-ce
提示我运行的已经是最新版本,并没提示需要升级,但是我在dashboard看到提示有新版可以升级:
运行 ubuntu@gitlab:~$ sudo apt-cache madison gitlab-ce"不会显示比当前安装的版本更高的任何版本。
gitlab-ce | 11.10.8-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ trusty/main amd64 Packages
gitlab-ce | 11.10.7-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ trusty/main amd64 Packages
gitlab-ce | 11.10.6-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ trusty/main amd64 Packages
gitlab-ce | 11.10.5-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ trusty/main amd64 Packages
gitlab-ce | 11.10.4-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ trusty/main amd64 Packages
gitlab-ce | 11.10.3-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ trusty/main amd64 Packages
gitlab-ce | 11.10.2-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ trusty/main amd64 Packages
gitlab-ce | 11.10.1-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ trusty/main amd64 Packages
gitlab-ce | 11.10.0-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ trusty/main amd64 Packages
gitlab-ce | 11.9.12-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ trusty/main amd64 Packages
gitlab-ce | 11.9.11-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ trusty/main amd64 Packages
.....
似乎新版本在https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/trusty main 上不可用。
检查我们系统版本:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04 LTS
Release: 14.04
Codename: trusty
可能是因为GitLab认为trusty太老了,无法支持,并且已经停止为其构建软件包-鉴于官方支持已于4月结束,而11.10是从4月开始的-这似乎很公平。
升级 ubuntu 14.04 - 16.04
$ apt-get update && apt-get dist-upgrade
$ reboot
$do-release-upgrade
查看已经升级ubuntu成功:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial
修改apt 关于gitlab-ce的源,指向 xenial版:
$ cat /etc/apt/sources.list.d/gitlab_gitlab-ce.list
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main
$ sudo apt-get update
继续尝试升级,现在终于有升级了:不过提示gitlab需要先升级到11.11
$ sudo apt-get upgrade gitlab-ce
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
libio-string-perl libsub-name-perl libtimedate-perl
Use 'sudo apt autoremove' to remove them.
The following packages will be upgraded:
gitlab-ce
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 717 MB of archives.
After this operation, 114 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial/main amd64 gitlab-ce amd64 12.4.2-ce.0 [717 MB]
Fetched 717 MB in 2min 40s (4,478 kB/s)
(Reading database ... 144068 files and directories currently installed.)
Preparing to unpack .../gitlab-ce_12.4.2-ce.0_amd64.deb ...
gitlab preinstall: It seems you are upgrading from major version 11 to major version 12.
gitlab preinstall: It is required to upgrade to the latest 11.11 version first before jumping to the next major version.
gitlab preinstall: Please follow the upgrade documentation at https://docs.gitlab.com/ee/policy/maintenance.html#upgrade-recommendations
dpkg: error processing archive /var/cache/apt/archives/gitlab-ce_12.4.2-ce.0_amd64.deb (--unpack):
subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
/var/cache/apt/archives/gitlab-ce_12.4.2-ce.0_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
升级到11.11
sudo apt-get upgrade gitlab-ce=11.11.0-ce.0
然后升级到最新版(12.4.2):
$sudo apt-get upgrade gitlab-ce
$sudo gitlab-ctl reconfigure
$sudo gitlab-ctl restart
升级完后,再打开dashboard,看到已经升级成功:
参考:
https://forum.gitlab.com/t/upgrading-11-10-8-to-12x-on-ubuntu-16-04/28979/3
国内gitlab社区版源:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/