Hướng dẫn update phiên bản Gitlab CE

Bài viết này là phần 6 trong 9 phần của serie bài viết Cài đặt Gitlab CE trên Ubuntu 18

ToiVietBlog - Hướng dẫn update phiên bản Gitlab CE. Trong bài viết này, mình sẽ hướng dẫn các bạn làm thế nào để thực hiện việc update phiên bản Gitlab CE.

Nếu bạn đã và đang cài đặt máy chủ Gitlab theo serie hướng dẫn này của mình thì việc update cũng sẽ khá đơn giản. Bạn cũng có thể tham khảo tài liệu update từ Gitlab.

Môi trường sử dụng bao gồm:

  • Ubuntu server 18.04 64bit
  • Gitlab CE 12.8.1

Lưu ý quan trọng

Gitlab cũng như mọi hệ thống khác, khi update phiên bản đều tiềm ẩn những rủi ro nhất định. Ví dụ như:

  • Update làm database bị lỗi
  • Update lên phiên bản mới thì không thể login được
  • Lỗi không tương thích với gói phần mềm, tích hợp xác thực AD/LDAP…
  • Update xong thì không thể khởi động lại dịch vụ, dịch vụ bị hiện tượng restart loop

Vì vậy có 3 lưu ý cho các bạn trước khi thực hiện update bất kì một hệ thống nào, không riêng gì với Gitlab.

Lưu ý 1: luôn luôn thực hiện backup trước khi update

Điều này nghe rất bình thường nhưng lại rất quan trọng. Và điều này có thể cứu nguy cho bạn trong trường hợp bạn làm hỏng.

Lưu ý 2: luôn thực hiện kiểm tra/test update trên một hệ thống clone/test trước khi thực hiện trên hệ thống chính

Tùy vào quy mô và điều kiện hệ thống, bạn hãy cân nhắc đến việc dựng một hệ thống mô phỏng hệ thống chính với quy mô nhỏ. Bạn hãy thực hiện update thử trên hệ thống này và xem kết quả liệu có ổn không. Nếu mọi thứ đều ổn thì bạn hãy tiến hành update hệ thống chính.

Lưu ý 3: luôn có kế hoạch rollback

Dù bạn thực hiện việc update hệ thống như thế nào, cần phải có một phương án/kế hoạch rollback hệ thống lại như trước khi update. Bạn cần chuẩn bị những gì, cần làm những bước gì, cần làm trong bao lâu,… Bạn hãy liệt kê tất cả các bước đó ra thành 1 file và dùng nó trong trường hợp update thất bại.

Lệnh update phiên bản Gitlab chung

huong-dan-update-phien-ban-gitlab-ce Hướng dẫn update phiên bản Gitlab CE
Hướng dẫn update phiên bản Gitlab CE.

Với những bạn cài đặt Gitlab CE thông qua repository, lệnh thực hiện update khá đơn giản như sau.

Đối với Debian/Ubuntu:

# apt-get update
# apt-get install gitlab-ce

Đối với RedHat/CentOS:

# yum update
# yum install gitlab-ce

Update phiên bản Gitlab theo major version

Nhưng đời không đơn giản như là mơ, hehe. Có một điểm quan trọng khi update Gitlab, đó là major version.

Ví dụ, mình đang sử dụng Gitlab 12.8.1 và một thời gian dài mình không update hệ thống.

Sau một thời gian thì Gitlab đã ra phiên bản 13.2.2. Khi mình thực hiện lệnh update như ở trên thì sẽ gặp lỗi.

The following packages will be upgraded:
  gitlab-ce
1 upgraded, 0 newly installed, 0 to remove and 71 not upgraded.
Need to get 0 B/760 MB of archives.
After this operation, 137 MB disk space will be freed.
(Reading database ... 210899 files and directories currently installed.)
Preparing to unpack .../gitlab-ce_13.2.2-ce.0_amd64.deb ...
gitlab preinstall: It seems you are upgrading from major version 12 to major version 13.
gitlab preinstall: It is required to upgrade to the latest 13.0.x version first before proceeding.
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_13.2.2-ce.0_amd64.deb (--unpack):
 new gitlab-ce package pre-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/gitlab-ce_13.2.2-ce.0_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Với lỗi thông báo trên thì nghĩa là mình không thể nào update trực tiếp từ phiên bản 12.x lên phiên bản 13.x được.

Mà theo đó, mình sẽ phải update phiên bản hiện tại mình đang dùng lên phiên bản lastest của major 12.x. Tiếp theo đó, mình mới có thể update lên phiên bản 13.x được.

Vậy giờ làm sao để thực hiện update?

Xác định các phiên bản hiện tại của Gitlab CE

Bây giờ làm sao mình biết là cần update phiên bản Gitlab 12.8.1 lên phiên bản nào?

Rất đơn giản và chính xác nhất, bạn hãy xem file changelog của chính Gitlab. Trong file CHANGELOG.md này có ghi tất cả các phiên bản và tính năng tương ứng của từng phiên bản.

Và sau khi xem changelog xong, mình đã xác định được các phiên bản lần lượt phải update như sau.

  • 12.8.1 (hiện tại) -> 12.10.14 (latest của 12.x)
  • 12.10.14 -> 13.0.10 (latest của 13.0.x)
  • 13.0.10 -> 13.2.2 (latest của 13.x)

Bạn lưu ý rằng bạn không thể update trực tiếp từ 12.10.14 lên 13.2.2 nhé. Mà bạn bắt buộc phải update qua phiên bản 13.0.x trước tiên. Bạn có thể xem thêm tài liệu của Gitlab về điều này, phần Example Upgrade Paths.

Thực hiện update theo major version

Để kiểm tra phiên bản Gitlab bạn đang sử dụng (cho chắc chắn), bạn có thể chạy lệnh này.

# grep gitlab /opt/gitlab/version-manifest.txt

Giờ để update từ 12.8.1 lên 12.10.14, gõ lệnh.

# apt-get install gitlab-ce=12.10.14-ce.0

Sau khi update lên 12.10.14 thành công, để update lên tiếp 13.0.10, gõ lệnh.

# apt-get install gitlab-ce=13.0.10-ce.0

Cuối cùng, để update từ 13.0.10 lên 13.2.2, gõ lệnh.

# apt-get install gitlab-ce

Lưu ý: trong quá trình update, mỗi lần update một phiên bản thì hệ thống Gitlab sẽ tự động tạo file backup cho phiên bản trước khi update. Nếu bạn thực hiện nhiều lần update liên tiếp như trên, bạn cần chắc chắn máy chủ có đủ dung lượng ổ đĩa.

Kết luận

Trên đây thì mình đã trình bày tất cả các điểm cần lưu ý cũng như quá trình, cách để các bạn có thể update phiên bản cho hệ thống Gitlab một cách an toàn và thành công. Bài tiếp theo, mình sẽ nói về phần migrate máy chủ Gitlab.

Tiếp tục đọc serie bài viết«« Phần trước: Script backup dữ liệu Gitlab CE lên Amazon S3Phần tiếp theo: Migrate Gitlab CE sang máy chủ mới »»
0 0 votes
Article Rating
Nhấn vào đây để đánh giá bài này!
[Tổng: 0 - Trung bình: 0]

If you appreciate what we share in this blog, you can support us by:
  1. Stay connected to: Facebook | Twitter | Google Plus | YouTube
  2. Subscribe email to recieve new posts from us: Sign up now.
  3. Start your own blog with SSD VPS - Free Let's Encrypt SSL ($2.5/month).
  4. Become a Supporter - Make a contribution via PayPal.
  5. Support us by purchasing Ribbon Lite Child theme being using on this website.

We are thankful for your support.

«« »»
Theo dõi
Thông báo về
guest
0 Comments
Inline Feedbacks
View all comments