Mật mã không được hỗ trợ hoặc độ dài khóa không chính xác Heroku

đánh bất ngờ đầu tiên là Akaunting không theo laravel trong việc có index. php trong /public - nhưng chúng tôi đã vượt qua điều đó

sau đó nó phàn nàn rằng nó không thể kết nối với cơ sở dữ liệu bằng cách sử dụng "forge" tức là nó không có. tập tin env. sao chép vào. env. ví dụ để. env và sau đó nó phàn nàn về mật mã theo tiêu đề. Tôi đang gãi đầu đây.  

Tôi muốn cài đặt Akunting cục bộ để tôi có thể phát triển hệ thống bảng chấm công. nhưng có vẻ như không thể cài đặt cục bộ?

Gần đây tôi đã thiết lập một dự án với khung công tác PHP của laravel và gặp một chút khó khăn ngay lập tức. Sau khi sao chép dự án của tôi trên máy tính ở nhà, tôi gặp thông báo lỗi về độ dài khóa AES

May mắn thay, tôi không phải là người duy nhất gặp sự cố đó và việc chạy các lệnh thủ công có sẵn và thuận tiện sau đây đã khắc phục sự cố đó rồi

php artisan key:generate
php artisan config:clear

Các lệnh có đầu ra

php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!

Nhân tiện, dự án đã có một thiết lập xác thực cơ bản thông qua

php artisan key:generate
22, đó là lý do tại sao nó cần các phiên ngay từ đầu

Nếu bạn đang cài đặt một dự án Laravel mới và bạn gặp lỗi này trong trình điều hướng

RuntimeException trong biên dịch. dòng php 13506.
Các mật mã duy nhất được hỗ trợ là AES-128-CBC và AES-256-CBC với độ dài khóa chính xác.

Điều này là do bạn chưa tạo APP_KEY trong. tập tin env

Nếu bạn thấy. nội dung tệp env bạn thấy

APP_KEY=

Bạn phải thực hiện lệnh này để cập nhật giá trị APP_KEY

php artisan key:generate

Nếu bạn kiểm tra. env, bây giờ bạn có thể thấy giá trị APP_KEY mới

APP_KEY=base64:xFQiUz/QvVj/JRmARS1OVhNVhnNWO/+6/QyThdn593M=

Tôi gặp vấn đề tương tự với Laravel 5. 3 [trên máy chủ windows]. Tôi đã làm tất cả những nỗ lực có thể. đã kiểm tra. tệp env, cấu hình, tạo khóa thủ công mới, bộ đệm. rõ ràng, cấu hình. rõ ràng, bản cập nhật của nhà soạn nhạc, nhưng sự cố vẫn tiếp diễn một cách ngẫu nhiên

Lưu ý rằng chính xác cùng một mã với cùng một phiên bản chính xác của apache, mysql, php, không tạo ra sự cố này trên Mac OS

Tôi thấy rằng khóa [tham số đầu tiên của hàm tạo Mã hóa] đến "đôi khi" trống và tất nhiên là không thành công. Hầu hết thời gian khóa là chính xác, nhưng ngẫu nhiên khóa đến trống từ Nhà cung cấp dịch vụ mã hóa đến lượt nó yêu cầu cấu hình ứng dụng

Vì vậy, giải pháp duy nhất phù hợp với tôi là thêm if [$key] vào Encryption iServiceProvider để hàm tạo Mã hóa không được gọi bằng khóa trống

Tất nhiên không phải là một giải pháp "sạch" và cũng không giải thích được vấn đề, nhưng ít nhất cũng tránh được việc tìm thấy tệp nhật ký chứa đầy lỗi. ngoại lệ thời gian chạy. Các mật mã được hỗ trợ duy nhất là AES-128-CBC và AES-256-CBC và các trang được hiển thị chính xác

Nếu đây là lỗi của Laravel thì tôi không biết, nhưng tất nhiên nếu ai đó có thể giải thích điều này thì tôi sẽ rất vui được biết

Nâng cấp GitLab là một quá trình tương đối đơn giản, nhưng độ phức tạp có thể tăng lên dựa trên phương pháp cài đặt bạn đã sử dụng, phiên bản GitLab của bạn bao nhiêu tuổi, nếu bạn đang nâng cấp lên phiên bản chính, v.v.

Đảm bảo đọc toàn bộ trang vì nó chứa thông tin liên quan đến mọi phương pháp nâng cấp

Tài liệu chính sách bảo trì có thêm thông tin về việc nâng cấp, bao gồm

  • Cách diễn giải phiên bản sản phẩm GitLab
  • Đề xuất về bản phát hành nào sẽ chạy
  • Cách chúng tôi sử dụng các bản phát hành bản vá và bản vá bảo mật
  • Khi chúng tôi nhập các thay đổi mã

Nâng cấp dựa trên phương pháp cài đặt

Tùy thuộc vào phương pháp cài đặt và phiên bản GitLab của bạn, có nhiều cách chính thức để cập nhật GitLab

Các gói Linux [Omnibus GitLab]

Hướng dẫn nâng cấp gói chứa các bước cần thiết để cập nhật gói được cài đặt bởi kho GitLab chính thức

Ngoài ra còn có hướng dẫn khi bạn muốn

Cài đặt từ nguồn

  • Nâng cấp Phiên bản Cộng đồng và Phiên bản Doanh nghiệp từ nguồn - Nguyên tắc nâng cấp Phiên bản Cộng đồng và Phiên bản Doanh nghiệp từ nguồn
  • Hướng dẫn về phiên bản vá lỗi bao gồm các bước cần thiết cho phiên bản vá lỗi, chẳng hạn như 13. 2. 0 đến 13. 2. 1 và áp dụng cho cả Phiên bản cộng đồng và Doanh nghiệp

Trước đây, chúng tôi sử dụng các tài liệu riêng biệt để hướng dẫn nâng cấp, nhưng chúng tôi đã chuyển sang sử dụng một tài liệu duy nhất. Các nguyên tắc nâng cấp cũ vẫn có thể được tìm thấy trong kho Git

  • Nguyên tắc nâng cấp cũ cho Phiên bản cộng đồng
  • Nguyên tắc nâng cấp cũ cho Enterprise Edition

Cài đặt bằng Docker

GitLab cung cấp hình ảnh Docker chính thức cho cả phiên bản Cộng đồng và Doanh nghiệp và chúng dựa trên gói Omnibus. Xem cách cài đặt GitLab bằng Docker

Cài đặt bằng Helm

GitLab có thể được triển khai thành cụm Kubernetes bằng Helm. Hướng dẫn về cách cập nhật triển khai gốc trên đám mây nằm trong một tài liệu riêng

Sử dụng ánh xạ phiên bản từ phiên bản biểu đồ sang phiên bản GitLab để xác định

Lập kế hoạch nâng cấp của bạn

Xem hướng dẫn lập kế hoạch nâng cấp GitLab của bạn

Kiểm tra di chuyển nền trước khi nâng cấp

Một số bản phát hành nhất định có thể yêu cầu hoàn tất các quá trình di chuyển khác nhau trước khi bạn cập nhật lên phiên bản mới hơn

Để biết thêm thông tin, hãy xem di chuyển nền

Xử lý các công việc và đường ống CI/CD đang chạy

Nếu bạn nâng cấp phiên bản GitLab của mình trong khi Trình chạy GitLab đang xử lý công việc, các bản cập nhật theo dõi sẽ không thành công. Khi GitLab trực tuyến trở lại, các bản cập nhật theo dõi sẽ tự phục hồi. Tuy nhiên, tùy thuộc vào lỗi, GitLab Runner sẽ thử lại hoặc cuối cùng kết thúc xử lý công việc

Đối với các hiện vật, GitLab Runner cố gắng tải chúng lên ba lần, sau đó công việc cuối cùng không thành công

Để giải quyết hai tình huống trên, bạn nên thực hiện các thao tác sau trước khi nâng cấp

  1. Lập kế hoạch bảo trì của bạn
  2. Tạm dừng người chạy của bạn hoặc chặn công việc mới bắt đầu bằng cách thêm phần sau vào

    FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails]
    [..]
    Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
    
    0 của bạn

    nginx['custom_gitlab_server_config'] = "location /api/v4/jobs/request {\n deny all;\n return 503;\n}\n"
    

    Và cấu hình lại GitLab với

    sudo gitlab-ctl reconfigure
    

  3. Đợi cho đến khi tất cả các công việc kết thúc
  4. Nâng cấp GitLab
  5. Cập nhật GitLab Runner lên cùng phiên bản với phiên bản GitLab của bạn. Cả hai phiên bản
  6. Bỏ tạm dừng trình chạy của bạn và bỏ chặn các công việc mới bắt đầu bằng cách hoàn nguyên thay đổi
    FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails]
    [..]
    Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
    
    0 trước đó

Kiểm tra di chuyển Tìm kiếm nâng cao đang chờ xử lý

Phần này chỉ áp dụng nếu bạn đã bật tích hợp Elaticsearch

Các bản phát hành chính yêu cầu phải hoàn thành tất cả từ bản phát hành nhỏ gần đây nhất trong phiên bản hiện tại của bạn trước khi nâng cấp phiên bản chính. Bạn có thể tìm thấy các lần di chuyển đang chờ xử lý bằng cách chạy lệnh sau

Đối với cài đặt Omnibus

sudo gitlab-rake gitlab:elastic:list_pending_migrations

Đối với cài đặt từ nguồn

php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
0

Bạn sẽ làm gì nếu quá trình di chuyển Tìm kiếm nâng cao của mình bị kẹt?

Trong GitLab 15. 0, quá trình di chuyển Tìm kiếm nâng cao có tên

FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails]
[..]
Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
2 có thể bị kẹt vĩnh viễn ở trạng thái chờ xử lý trong các lần nâng cấp. Sự cố này đã được khắc phục trong GitLab 15. 1

Nếu bạn là khách hàng tự quản lý sử dụng GitLab 15. 0 với Tìm kiếm nâng cao, bạn sẽ gặp phải tình trạng suy giảm hiệu suất. Để dọn sạch quá trình di chuyển, hãy nâng cấp lên 15. 1 hoặc muộn hơn

Đối với các lần di chuyển Tìm kiếm nâng cao khác đang chờ xử lý, hãy xem

Bạn làm gì với lỗi
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
09

Xác nhận rằng phiên bản Elaticsearch hoặc OpenSearch của bạn là

Nâng cấp mà không có thời gian chết

Đọc cách nâng cấp mà không có thời gian chết

Nâng cấp lên phiên bản chính mới

Nâng cấp phiên bản chính cần chú ý nhiều hơn. Các thay đổi và di chuyển không tương thích ngược được dành riêng cho các phiên bản chính. Thực hiện theo các hướng dẫn một cách cẩn thận vì chúng tôi không thể đảm bảo rằng việc nâng cấp giữa các phiên bản chính là liền mạch

Nâng cấp lớn yêu cầu các bước sau

  1. Bắt đầu bằng cách xác định một. Đây là điều cần thiết để nâng cấp phiên bản chính thành công
  2. Nâng cấp lên phiên bản phụ mới nhất của phiên bản chính trước đó
  3. Nâng cấp lên bản phát hành "dot zero" của phiên bản chính tiếp theo [______54]
  4. Không bắt buộc. Thực hiện theo và tiến hành nâng cấp lên các bản phát hành mới hơn của phiên bản chính đó

Điều quan trọng nữa là đảm bảo rằng mọi quá trình di chuyển nền đã được hoàn thành đầy đủ trước khi nâng cấp lên phiên bản chính mới

Nếu bạn đã kích hoạt tích hợp Elaticsearch thì ở phiên bản phụ cuối cùng trong phiên bản hiện tại của bạn trước khi tiến hành nâng cấp phiên bản chính

Nếu phiên bản GitLab của bạn có bất kỳ trình chạy nào được liên kết với nó, điều rất quan trọng là phải nâng cấp GitLab Runner để phù hợp với phiên bản nhỏ GitLab đã được nâng cấp lên. Điều này là để đảm bảo

đường dẫn nâng cấp

Chỉ có thể nâng cấp trên nhiều phiên bản GitLab trong một lần bằng cách chấp nhận thời gian ngừng hoạt động. Các ví dụ sau đây cho rằng thời gian ngừng hoạt động có thể chấp nhận được trong khi nâng cấp. Nếu bạn không muốn có bất kỳ thời gian chết nào, hãy đọc cách nâng cấp mà không có thời gian chết

Để có chế độ xem động các ví dụ về đường dẫn nâng cấp được hỗ trợ, hãy thử công cụ Đường dẫn nâng cấp được duy trì bởi. Để chia sẻ phản hồi và giúp cải thiện công cụ, hãy tạo sự cố hoặc MR trong dự án đường dẫn nâng cấp

Tìm phiên bản của bạn nằm ở đâu trong đường dẫn nâng cấp bên dưới và nâng cấp GitLab tương ứng, đồng thời tham khảo ý kiến ​​của

FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails]
[..]
Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
5 ->
FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails]
[..]
Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
6 ->
FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails]
[..]
Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
7 ->
FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails]
[..]
Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
8 ->
FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails]
[..]
Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
9 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
90 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
91 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
92 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
94 -> -> ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
97 -> -> -> -> -> -> -> -> ->

Ghi chú

Khi không được chỉ định rõ ràng, hãy nâng cấp GitLab lên bản phát hành bản vá mới nhất hiện có thay vì bản phát hành bản vá đầu tiên, ví dụ:

php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
99 thay vì
APP_KEY=
40. Điều này bao gồm các phiên bản bạn phải dừng lại trên lộ trình nâng cấp vì có thể có bản sửa lỗi cho các sự cố liên quan đến quá trình nâng cấp. Cụ thể xung quanh lược đồ cơ sở dữ liệu quan trọng và các bản vá di chuyển được bao gồm trong bản phát hành bản vá mới nhất

Bảng sau đây, mặc dù không đầy đủ, cho thấy một số ví dụ về đường dẫn nâng cấp được hỗ trợ. Có thể thực hiện các bước bổ sung giữa các phiên bản được đề cập. Chúng tôi chỉ liệt kê các bước cần thiết tối thiểu

Phiên bản đích Phiên bản của bạn Đường dẫn nâng cấp được hỗ trợLưu ý
APP_KEY=
41
APP_KEY=
42
APP_KEY=
42 ->
APP_KEY=
43 ->
APP_KEY=
45 ->
APP_KEY=
46 ->
APP_KEY=
41 Cần có ba phiên bản trung gian.
APP_KEY=
48,
APP_KEY=
49 và
php artisan key:generate
60.
php artisan key:generate
61
APP_KEY=
42
APP_KEY=
42 ->
APP_KEY=
43 ->
APP_KEY=
45 ->
APP_KEY=
46Cần có hai phiên bản trung gian.
APP_KEY=
48 và
APP_KEY=
49.
APP_KEY=
42
APP_KEY=base64:xFQiUz/QvVj/JRmARS1OVhNVhnNWO/+6/QyThdn593M=
60
APP_KEY=base64:xFQiUz/QvVj/JRmARS1OVhNVhnNWO/+6/QyThdn593M=
60 ->
APP_KEY=
40 ->
APP_KEY=
41 ->
APP_KEY=
42 =>
APP_KEY=
42Cần có ba phiên bản trung gian.
APP_KEY=base64:xFQiUz/QvVj/JRmARS1OVhNVhnNWO/+6/QyThdn593M=
66,
APP_KEY=base64:xFQiUz/QvVj/JRmARS1OVhNVhnNWO/+6/QyThdn593M=
67 và
APP_KEY=base64:xFQiUz/QvVj/JRmARS1OVhNVhnNWO/+6/QyThdn593M=
68.
APP_KEY=base64:xFQiUz/QvVj/JRmARS1OVhNVhnNWO/+6/QyThdn593M=
69
sudo gitlab-ctl reconfigure
00
sudo gitlab-ctl reconfigure
00 ->
APP_KEY=
40 ->
APP_KEY=
41 ->
APP_KEY=base64:xFQiUz/QvVj/JRmARS1OVhNVhnNWO/+6/QyThdn593M=
69Cần có hai phiên bản trung gian.
APP_KEY=base64:xFQiUz/QvVj/JRmARS1OVhNVhnNWO/+6/QyThdn593M=
66 và
APP_KEY=base64:xFQiUz/QvVj/JRmARS1OVhNVhnNWO/+6/QyThdn593M=
67.
APP_KEY=
40
sudo gitlab-ctl reconfigure
08
sudo gitlab-ctl reconfigure
08 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
96 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
97 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
98 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
99 ->
APP_KEY=
40Bốn phiên bản trung gian được yêu cầu.
sudo gitlab-ctl reconfigure
15,
sudo gitlab-ctl reconfigure
16,
sudo gitlab-ctl reconfigure
17 và
sudo gitlab-ctl reconfigure
18.
sudo gitlab-ctl reconfigure
19
sudo gitlab-ctl reconfigure
20_______720 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
93 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
94 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
95 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
96 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
97 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
98 ->
sudo gitlab-ctl reconfigure
19 Cần có sáu phiên bản trung gian.
sudo gitlab-ctl reconfigure
29,
sudo gitlab-ctl reconfigure
30,
sudo gitlab-ctl reconfigure
31,
sudo gitlab-ctl reconfigure
15,
sudo gitlab-ctl reconfigure
16 và
sudo gitlab-ctl reconfigure
17.
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
96
sudo gitlab-ctl reconfigure
36
sudo gitlab-ctl reconfigure
36 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
93 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
94 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
95 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
96Cần có ba phiên bản trung gian.
sudo gitlab-ctl reconfigure
29,
sudo gitlab-ctl reconfigure
30 và
sudo gitlab-ctl reconfigure
31.
sudo gitlab-ctl reconfigure
45
sudo gitlab-ctl reconfigure
46
sudo gitlab-ctl reconfigure
46 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
91 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
92 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
93 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
94 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
95 ->
sudo gitlab-ctl reconfigure
45 Cần có năm phiên bản trung gian.
sudo gitlab-ctl reconfigure
54,
sudo gitlab-ctl reconfigure
55,
sudo gitlab-ctl reconfigure
29,
sudo gitlab-ctl reconfigure
30 và
sudo gitlab-ctl reconfigure
31.
sudo gitlab-ctl reconfigure
59
sudo gitlab-ctl reconfigure
60
sudo gitlab-ctl reconfigure
60 ->
FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails]
[..]
Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
9 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
90 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
91 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
92 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
93 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
94 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
95 ->
sudo gitlab-ctl reconfigure
59 Cần có bảy phiên bản trung gian.
sudo gitlab-ctl reconfigure
70,
sudo gitlab-ctl reconfigure
71,
sudo gitlab-ctl reconfigure
54,
sudo gitlab-ctl reconfigure
55,
sudo gitlab-ctl reconfigure
29,
sudo gitlab-ctl reconfigure
30 và
sudo gitlab-ctl reconfigure
31.
sudo gitlab-ctl reconfigure
36
sudo gitlab-ctl reconfigure
78
sudo gitlab-ctl reconfigure
78 ->
FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails]
[..]
Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
7 ->
FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails]
[..]
Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
8 ->
FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails]
[..]
Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
9 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
90 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
91 ->
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
92 ->
sudo gitlab-ctl reconfigure
36 Cần có sáu phiên bản trung gian.
sudo gitlab-ctl reconfigure
87,
sudo gitlab-ctl reconfigure
88,
sudo gitlab-ctl reconfigure
70,
sudo gitlab-ctl reconfigure
71,
sudo gitlab-ctl reconfigure
54 và
sudo gitlab-ctl reconfigure
55

Nâng cấp giữa các phiên bản

GitLab có hai loại. được MIT cấp phép và được xây dựng dựa trên Phiên bản cộng đồng và bao gồm các tính năng bổ sung chủ yếu nhắm vào các tổ chức có hơn 100 người dùng

Dưới đây, bạn có thể tìm thấy một số hướng dẫn để giúp bạn thay đổi phiên bản GitLab

Phiên bản từ cộng đồng đến doanh nghiệp

Ghi chú

Các hướng dẫn sau đây chỉ dành cho người đăng ký Phiên bản doanh nghiệp

Nếu bạn muốn nâng cấp cài đặt GitLab của mình từ Phiên bản cộng đồng lên Phiên bản doanh nghiệp, hãy làm theo các hướng dẫn bên dưới dựa trên phương pháp cài đặt

  • Nguồn Hướng dẫn cập nhật CE sang EE - Các bước rất giống với nâng cấp phiên bản. dừng máy chủ, lấy mã, cập nhật tệp cấu hình cho chức năng mới, cài đặt thư viện và thực hiện di chuyển, cập nhật tập lệnh init, khởi động ứng dụng và kiểm tra trạng thái của ứng dụng
  • Omnibus CE đến EE - Làm theo hướng dẫn này để cập nhật Omnibus GitLab Community Edition của bạn lên Enterprise Edition
  • - Làm theo hướng dẫn này để cập nhật bộ chứa Phiên bản cộng đồng GitLab của bạn thành bộ chứa Phiên bản doanh nghiệp

Phiên bản doanh nghiệp đến cộng đồng

Để hạ cấp cài đặt Phiên bản doanh nghiệp của bạn xuống Phiên bản cộng đồng, bạn có thể làm theo hướng dẫn này để quá trình diễn ra suôn sẻ nhất có thể

Hướng dẫn nâng cấp dành riêng cho phiên bản

Mỗi tháng, các bản phát hành chính, phụ hoặc bản vá của GitLab được xuất bản cùng với một bài phát hành. Bạn nên đọc các bài đăng phát hành cho tất cả các phiên bản mà bạn đang chuyển qua. Ở cuối các bài đăng phát hành chính và phụ, có ba phần để tìm kiếm cụ thể

  • Khấu hao
  • Loại bỏ
  • Lưu ý quan trọng khi nâng cấp

Bao gồm các

  • Các bước bạn phải thực hiện như một phần của quá trình nâng cấp. Ví dụ: yêu cầu tạo lại chỉ mục Elaticsearch. Mọi phiên bản cũ hơn của GitLab nâng cấp lên 8. 12 trở lên sẽ yêu cầu điều này
  • Các thay đổi đối với các phiên bản phần mềm mà chúng tôi hỗ trợ, chẳng hạn như

Ngoài hướng dẫn trong phần này, bạn cũng nên kiểm tra hướng dẫn nâng cấp dành riêng cho cài đặt, dựa trên cách bạn cài đặt GitLab

  • biểu đồ điều khiển

Ghi chú

Thông tin cụ thể sau đây liên quan đến các phiên bản Ruby và Git không áp dụng cho cài đặt Omnibus và triển khai Helm Chart. Chúng đi kèm với các phiên bản Ruby và Git thích hợp và không sử dụng nhị phân hệ thống cho Ruby và Git. Không cần cài đặt Ruby hoặc Git khi sử dụng hai phương pháp này

15. 7. 0

  • Phiên bản này xác nhận ràng buộc
    sudo gitlab-ctl reconfigure
    
    93 trên cột
    sudo gitlab-ctl reconfigure
    
    94. Để nâng cấp lên phiên bản này, không có bản ghi nào có số
    sudo gitlab-ctl reconfigure
    
    95
    sudo gitlab-ctl reconfigure
    
    96 trên bảng
    sudo gitlab-ctl reconfigure
    
    97. Có nhiều lần di chuyển nền
    sudo gitlab-ctl reconfigure
    
    98 sẽ được hoàn thiện với quá trình di chuyển sau triển khai
    sudo gitlab-ctl reconfigure
    
    99
  • GitLab 15. 4. 0 đã giới thiệu giá trị a để chèn lấp
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    00 trên bảng vấn đề. Quá trình di chuyển này có thể mất nhiều giờ hoặc nhiều ngày để hoàn thành trên các phiên bản GitLab lớn hơn. Vui lòng đảm bảo quá trình di chuyển đã hoàn tất thành công trước khi nâng cấp lên 15. 7. 0
  • Một ràng buộc cơ sở dữ liệu được thêm vào, xác định rằng cột

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    00 trên bảng vấn đề không có giá trị
    sudo gitlab-ctl reconfigure
    
    95

    • Nếu quá trình di chuyển nền theo đợt của

      sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      00 từ 15. 4 không thành công [xem ở trên] thì 15. 7 nâng cấp không thành công với lỗi di chuyển cơ sở dữ liệu

    • Trên các phiên bản GitLab có bảng sự cố lớn, việc xác thực ràng buộc này khiến quá trình nâng cấp mất nhiều thời gian hơn bình thường. Tất cả các thay đổi cơ sở dữ liệu cần hoàn thành trong giới hạn một giờ

      FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails]
      [..]
      Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
      

      Một cách giải quyết tồn tại để

  • Sidekiq

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    04 mặc định đã được thay đổi thành 20. Điều này hiện nhất quán trong tài liệu của chúng tôi và mặc định sản phẩm

    Ví dụ, trước đây. - Omnibus GitLab mặc định [______905]. 50 - Từ nguồn cài đặt mặc định. 50 - Biểu đồ lái mặc định [

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    06]. 25

    Các kiến ​​trúc tham chiếu vẫn sử dụng giá trị mặc định là 10 vì giá trị này được đặt riêng cho các cấu hình đó

    Các trang web đã định cấu hình

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    04 sẽ không bị ảnh hưởng bởi thay đổi này.

15. 6. 0

  • Bạn nên sử dụng một trong các phiên bản PostgreSQL được hỗ trợ chính thức. Một số di chuyển cơ sở dữ liệu có thể gây ra các vấn đề về tính ổn định và hiệu suất với các phiên bản PostgreSQL cũ hơn
  • Git 2. 37. 0 trở lên được yêu cầu bởi Gitaly. Đối với cài đặt từ nguồn, chúng tôi khuyên bạn nên sử dụng
  • Thay đổi cơ sở dữ liệu để sửa đổi hành vi của bốn chỉ mục không thành công trong trường hợp các chỉ mục này không tồn tại

    php artisan key:generate
    Application key [base64:xxxxxxxxxxxxxx] set successfully.
    php artisan config:clear
    Configuration cache cleared!
    
    9

    Ba chỉ số khác là.

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    08,
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    09 và
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    10

    Sự cố này đã được khắc phục trong GitLab 15. 7 và được nhập vào GitLab 15. 6. 2. Vấn đề cũng có thể được giải quyết xung quanh.

15. 5. 0

  • GitLab 15. 4. 0 đã giới thiệu quy tắc định tuyến Sidekiq mặc định định tuyến tất cả các công việc đến hàng đợi
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    11. Đối với các trường hợp sử dụng , điều này sẽ gây ra các vấn đề về hiệu suất vì một số quy trình Sidekiq sẽ không hoạt động
    • Quy tắc định tuyến mặc định đã được hoàn nguyên sau 15. 5. 4, vì vậy việc nâng cấp lên phiên bản đó trở lên sẽ trở lại hành vi trước đó
    • Nếu một phiên bản GitLab hiện chỉ lắng nghe hàng đợi

      sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      11 [hiện không được khuyến nghị], thì nó sẽ được yêu cầu thêm lại quy tắc định tuyến này vào
      FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails]
      [..]
      Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
      
      0

      APP_KEY=
      4

15. 4. 1

Sự cố bộ nhớ đệm giấy phép ngăn một số tính năng cao cấp của GitLab hoạt động bình thường nếu bạn thêm giấy phép mới. Giải pháp cho vấn đề này

  • Khởi động lại tất cả các nút Rails, Sidekiq và Gitaly sau khi áp dụng giấy phép mới. Thao tác này sẽ xóa bộ nhớ đệm giấy phép có liên quan và cho phép tất cả các tính năng cao cấp hoạt động chính xác
  • Nâng cấp lên phiên bản không bị ảnh hưởng bởi sự cố này. Các đường dẫn nâng cấp sau đây có sẵn cho các phiên bản bị ảnh hưởng
    • 15. 2. 5 -> 15. 3. 5
    • 15. 3. 0 - 15. 3. 4 -> 15. 3. 5
    • 15. 4. 1 -> 15. 4. 3

15. 4. 0

  • GitLab 15. 4. 0 bao gồm a để xóa các giá trị không chính xác khỏi
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    14 trong bảng
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    15. Quá trình di chuyển này có thể mất vài giờ hoặc vài ngày để hoàn thành trên các phiên bản GitLab lớn hơn
  • Theo mặc định, các nút Gitaly và Praefect sử dụng máy chủ thời gian tại
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    16. Nếu phiên bản của bạn không thể kết nối với
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    16,
  • GitLab 15. 4. 0 đã giới thiệu quy tắc định tuyến Sidekiq mặc định định tuyến tất cả các công việc đến hàng đợi
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    11. Đối với các trường hợp sử dụng , điều này sẽ gây ra các vấn đề về hiệu suất vì một số quy trình Sidekiq sẽ không hoạt động
    • Quy tắc định tuyến mặc định đã được hoàn nguyên sau 15. 4. 5, vì vậy việc nâng cấp lên phiên bản đó trở lên sẽ trở lại hành vi trước đó
    • Nếu một phiên bản GitLab hiện chỉ lắng nghe hàng đợi

      sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      11 [hiện không được khuyến nghị], thì nó sẽ được yêu cầu thêm lại quy tắc định tuyến này vào
      FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails]
      [..]
      Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
      
      0

      APP_KEY=
      4

  • Kho Git mới được tạo trong cụm Gitaly. Móc máy chủ cho các kho lưu trữ mới phải được sao chép vào một vị trí khác
  • Cấu trúc của
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    23 đã được sửa đổi trong GitLab 15. 4 và cấu hình mới đã được thêm vào các phần
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    24,
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    25 và
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    26. Trong môi trường Địa lý GitLab hoặc có tính sẵn sàng cao, các bí mật cần phải giống nhau trên tất cả các nút. Nếu bạn đang đồng bộ hóa tệp bí mật giữa các nút theo cách thủ công hoặc chỉ định bí mật theo cách thủ công trong
    FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails]
    [..]
    Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
    
    0, hãy đảm bảo rằng
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    23 giống nhau trên tất cả các nút
  • GitLab 15. 4. 0 đã giới thiệu giá trị a để chèn lấp
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    00 trên bảng vấn đề. Quá trình di chuyển này có thể mất nhiều giờ hoặc nhiều ngày để hoàn thành trên các phiên bản GitLab lớn hơn. Vui lòng đảm bảo quá trình di chuyển đã hoàn tất thành công trước khi nâng cấp lên 15. 7. 0 trở lên

15. 3. 4

Sự cố bộ nhớ đệm giấy phép ngăn một số tính năng cao cấp của GitLab hoạt động bình thường nếu bạn thêm giấy phép mới. Giải pháp cho vấn đề này

  • Khởi động lại tất cả các nút Rails, Sidekiq và Gitaly sau khi áp dụng giấy phép mới. Thao tác này sẽ xóa bộ nhớ đệm giấy phép có liên quan và cho phép tất cả các tính năng cao cấp hoạt động chính xác
  • Nâng cấp lên phiên bản không bị ảnh hưởng bởi sự cố này. Các đường dẫn nâng cấp sau đây có sẵn cho các phiên bản bị ảnh hưởng
    • 15. 2. 5 -> 15. 3. 5
    • 15. 3. 0 - 15. 3. 4 -> 15. 3. 5
    • 15. 4. 1 -> 15. 4. 3

15. 3. 3

  • Trong GitLab 15. 3. 3, Loại thuộc tính API
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    30 đã thay đổi thành
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    31. Xem tài liệu API
  • Sự cố bộ nhớ đệm giấy phép ngăn một số tính năng cao cấp của GitLab hoạt động bình thường nếu bạn thêm giấy phép mới. Giải pháp cho vấn đề này

    • Khởi động lại tất cả các nút Rails, Sidekiq và Gitaly sau khi áp dụng giấy phép mới. Thao tác này sẽ xóa bộ nhớ đệm giấy phép có liên quan và cho phép tất cả các tính năng cao cấp hoạt động chính xác
    • Nâng cấp lên phiên bản không bị ảnh hưởng bởi sự cố này. Các đường dẫn nâng cấp sau đây có sẵn cho các phiên bản bị ảnh hưởng
      • 15. 2. 5 -> 15. 3. 5
      • 15. 3. 0 - 15. 3. 4 -> 15. 3. 5
      • 15. 4. 1 -> 15. 4. 3

15. 3. 2

Sự cố bộ nhớ đệm giấy phép ngăn một số tính năng cao cấp của GitLab hoạt động bình thường nếu bạn thêm giấy phép mới. Giải pháp cho vấn đề này

  • Khởi động lại tất cả các nút Rails, Sidekiq và Gitaly sau khi áp dụng giấy phép mới. Thao tác này sẽ xóa bộ nhớ đệm giấy phép có liên quan và cho phép tất cả các tính năng cao cấp hoạt động chính xác
  • Nâng cấp lên phiên bản không bị ảnh hưởng bởi sự cố này. Các đường dẫn nâng cấp sau đây có sẵn cho các phiên bản bị ảnh hưởng
    • 15. 2. 5 -> 15. 3. 5
    • 15. 3. 0 - 15. 3. 4 -> 15. 3. 5
    • 15. 4. 1 -> 15. 4. 3

15. 3. 1

Sự cố bộ nhớ đệm giấy phép ngăn một số tính năng cao cấp của GitLab hoạt động bình thường nếu bạn thêm giấy phép mới. Giải pháp cho vấn đề này

  • Khởi động lại tất cả các nút Rails, Sidekiq và Gitaly sau khi áp dụng giấy phép mới. Thao tác này sẽ xóa bộ nhớ đệm giấy phép có liên quan và cho phép tất cả các tính năng cao cấp hoạt động chính xác
  • Nâng cấp lên phiên bản không bị ảnh hưởng bởi sự cố này. Các đường dẫn nâng cấp sau đây có sẵn cho các phiên bản bị ảnh hưởng
    • 15. 2. 5 -> 15. 3. 5
    • 15. 3. 0 - 15. 3. 4 -> 15. 3. 5
    • 15. 4. 1 -> 15. 4. 3

15. 3. 0

  • Việc xóa nhầm các tệp lưu trữ đối tượng trên các trang Geo phụ có thể xảy ra trong một số trường hợp nhất định. Nhìn thấy
  • Quá trình chuyển LFS có thể chuyển hướng đến trang chính từ trang phụ vào giữa phiên gây ra các yêu cầu kéo và sao chép không thành công khi bật ủy quyền địa lý. Theo mặc định, ủy quyền địa lý được bật trong GitLab 15. 1 trở lên. Xem để biết thêm chi tiết
  • Kho Git mới được tạo trong cụm Gitaly. Móc máy chủ cho các kho lưu trữ mới phải được sao chép vào một vị trí khác
  • Sự cố bộ nhớ đệm giấy phép ngăn một số tính năng cao cấp của GitLab hoạt động bình thường nếu bạn thêm giấy phép mới. Giải pháp cho vấn đề này

    • Khởi động lại tất cả các nút Rails, Sidekiq và Gitaly sau khi áp dụng giấy phép mới. Thao tác này sẽ xóa bộ nhớ đệm giấy phép có liên quan và cho phép tất cả các tính năng cao cấp hoạt động chính xác
    • Nâng cấp lên phiên bản không bị ảnh hưởng bởi sự cố này. Các đường dẫn nâng cấp sau đây có sẵn cho các phiên bản bị ảnh hưởng
      • 15. 2. 5 -> 15. 3. 5
      • 15. 3. 0 - 15. 3. 4 -> 15. 3. 5
      • 15. 4. 1 -> 15. 4. 3

15. 2. 5

Sự cố bộ nhớ đệm giấy phép ngăn một số tính năng cao cấp của GitLab hoạt động bình thường nếu bạn thêm giấy phép mới. Giải pháp cho vấn đề này

  • Khởi động lại tất cả các nút Rails, Sidekiq và Gitaly sau khi áp dụng giấy phép mới. Thao tác này sẽ xóa bộ nhớ đệm giấy phép có liên quan và cho phép tất cả các tính năng cao cấp hoạt động chính xác
  • Nâng cấp lên phiên bản không bị ảnh hưởng bởi sự cố này. Các đường dẫn nâng cấp sau đây có sẵn cho các phiên bản bị ảnh hưởng
    • 15. 2. 5 -> 15. 3. 5
    • 15. 3. 0 - 15. 3. 4 -> 15. 3. 5
    • 15. 4. 1 -> 15. 4. 3

15. 2. 0

  • Nên cài đặt GitLab có nhiều nút web trước khi nâng cấp lên 15. 2 [và phiên bản mới hơn] do thay đổi cấu hình trong Rails có thể dẫn đến việc tạo khóa ETag không nhất quán
  • Một số công nhân Sidekiq đã được đổi tên trong bản phát hành này. Để tránh bất kỳ sự gián đoạn nào, trước khi bắt đầu nâng cấp lên GitLab 15. 2. 0
  • Gitaly hiện thực thi các tệp nhị phân của nó ở một vị trí thời gian chạy. Theo mặc định trên Omnibus GitLab, đường dẫn này là

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    33. Nếu vị trí này được gắn với
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    34, các yêu cầu hợp nhất sẽ tạo ra lỗi sau

    php artisan key:generate
    6

    Để giải quyết vấn đề này, hãy xóa tùy chọn

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    34 khỏi hệ thống tệp. Một cách khác là thay đổi thư mục thời gian chạy Gitaly

    1. Thêm
      sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      36 vào
      FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails]
      [..]
      Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
      
      0 và chỉ định một vị trí mà không cần đặt
      sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      34
    2. Chạy
      sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      39
  • Việc xóa nhầm các tệp lưu trữ đối tượng trên các trang Geo phụ có thể xảy ra trong một số trường hợp nhất định. Nhìn thấy
  • Quá trình chuyển LFS có thể chuyển hướng đến trang chính từ trang phụ vào giữa phiên gây ra các yêu cầu kéo và sao chép không thành công khi bật ủy quyền địa lý. Theo mặc định, ủy quyền địa lý được bật trong GitLab 15. 1 trở lên. Xem để biết thêm chi tiết

15. 1. 0

  • Nếu bạn chạy PostgreSQL bên ngoài, đặc biệt là AWS RDS, để tránh sự cố cơ sở dữ liệu
  • Trong GitLab 15. 1. 0, chúng tôi đang chuyển đổi Rails

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    40 để sử dụng SHA256 thay vì MD5. Điều này ảnh hưởng đến việc tạo khóa ETag cho các tài nguyên, chẳng hạn như tải xuống tệp Snippet thô. Để đảm bảo tạo khóa ETag nhất quán trên nhiều nút web khi nâng cấp, trước tiên tất cả các máy chủ phải được nâng cấp lên 15. 1. Z trước khi nâng cấp lên 15. 2. 0 trở lên

    1. Đảm bảo tất cả các nút web GitLab đang chạy GitLab 15. 1. Z
    2. để chuyển
      sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      40 sang sử dụng SHA256
    3. Chỉ khi đó, hãy tiếp tục nâng cấp lên các phiên bản GitLab sau này
  • Yêu cầu chưa được xác thực đối với không còn được hỗ trợ. Trước khi bạn nâng cấp lên GitLab 15. 1, thêm một vào yêu cầu của bạn. Người dùng tạo mã thông báo phải có quyền tạo đường ống dẫn trong dự án
  • Việc xóa nhầm các tệp lưu trữ đối tượng trên các trang Geo phụ có thể xảy ra trong một số trường hợp nhất định. Nhìn thấy
  • Quá trình chuyển LFS có thể chuyển hướng đến trang chính từ trang phụ vào giữa phiên gây ra các yêu cầu kéo và sao chép không thành công khi bật ủy quyền địa lý. Theo mặc định, ủy quyền địa lý được bật trong GitLab 15. 1 trở lên. Xem để biết thêm chi tiết

15. 0. 0

  • Elaticsearch 6. số 8. Trước khi bạn nâng cấp lên GitLab 15. 0,
  • Nếu bạn chạy PostgreSQL bên ngoài, đặc biệt là AWS RDS, để tránh sự cố cơ sở dữ liệu
  • Việc sử dụng bộ chứa S3 được mã hóa với cấu hình dành riêng cho bộ nhớ không còn được hỗ trợ sau
  • Tính năng này bị tắt theo mặc định, nhưng bạn có thể kích hoạt lại tính năng này cho đến khi GitLab 16. 0
  • Khi bạn sử dụng dự án GitLab Helm Chart với một
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    46 tùy chỉnh, hãy đảm bảo rằng nó có quyền
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    47 và
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    48 đối với các tài nguyên
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    46 và
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    50
  • Cài đặt để định cấu hình móc máy chủ toàn cầu hiện được định cấu hình trong Gitaly. Việc triển khai trước đó trong GitLab Shell đã bị xóa trong GitLab 15. 0. Với sự thay đổi này, các hook máy chủ toàn cầu chỉ được lưu trữ bên trong một thư mục con được đặt tên theo loại hook. Móc máy chủ toàn cầu không còn có thể là một tệp móc đơn trong thư mục gốc của thư mục móc tùy chỉnh. Ví dụ: bạn phải sử dụng
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    52 thay vì
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    53
  • Việc xóa nhầm các tệp lưu trữ đối tượng trên các trang Geo phụ có thể xảy ra trong một số trường hợp nhất định. Nhìn thấy
  • sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    54 bị xóa và hình ảnh của trình trợ giúp luôn được lấy từ GitLab Registry
  • Mã hóa SSL
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    55 không còn được NGINX cho phép. Xem cách bạn có thể vào danh sách cho phép

14. 10. 0

  • Trước khi nâng cấp lên GitLab 14. 10, bạn phải có 14 mới nhất. 9. Z được cài đặt trên phiên bản của bạn. Việc nâng cấp lên GitLab 14. 10 thực hiện xóa chỉ mục đồng thời các mục không cần thiết từ bảng cơ sở dữ liệu

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    15. Điều này có khả năng có thể chạy trong nhiều phút, đặc biệt nếu bảng có nhiều lưu lượng truy cập và quá trình di chuyển không thể có được khóa. Bạn nên để quá trình này kết thúc vì việc khởi động lại có thể dẫn đến mất dữ liệu

  • Nếu bạn chạy PostgreSQL bên ngoài, đặc biệt là AWS RDS, để tránh sự cố cơ sở dữ liệu

  • Nâng cấp lên bản vá cấp 14. 10. 3 trở lên có thể gặp phải thời gian chờ một giờ do thay đổi dữ liệu cơ sở dữ liệu đang chạy trong thời gian dài, nếu nó không được hoàn thành trong khi chạy GitLab 14. 9

    APP_KEY=base64:xFQiUz/QvVj/JRmARS1OVhNVhnNWO/+6/QyThdn593M=
    6

    Một cách giải quyết tồn tại để

14. 9. 0

  • Những thay đổi về cơ sở dữ liệu do nâng cấp lên GitLab 14. 9 có thể mất hàng giờ hoặc hàng ngày để hoàn thành trên các phiên bản GitLab lớn hơn. Các bảng này cập nhật toàn bộ cơ sở dữ liệu để đảm bảo các bản ghi tương ứng trong bảng

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    57 cho mỗi bản ghi trong bảng
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    58

    Sau khi bạn cập nhật lên 14. 9. 0 hoặc muộn hơn 14. 9, trước khi bạn cập nhật lên phiên bản mới hơn

    Nếu quá trình di chuyển chưa hoàn tất và bạn cố gắng cập nhật lên phiên bản mới hơn, bạn sẽ thấy các lỗi như

    sudo gitlab-ctl reconfigure
    
    0

    Hoặc

    sudo gitlab-ctl reconfigure
    
    1

  • GitLab 14. 9. 0 bao gồm di chuyển nền

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    59 có thể vẫn bị kẹt vĩnh viễn ở trạng thái chờ xử lý

    Để dọn dẹp công việc bị mắc kẹt này, hãy chạy phần sau trong Bảng điều khiển GitLab Rails

    sudo gitlab-ctl reconfigure
    
    2

  • Nếu bạn chạy PostgreSQL bên ngoài, đặc biệt là AWS RDS, để tránh sự cố cơ sở dữ liệu

14. 8. 0

  • Nếu nâng cấp từ phiên bản cũ hơn 14. 6. 5, 14. 7. 4 hoặc 14. 8. 2, xem lại Bản phát hành bảo mật quan trọng. 14. 8. 2, 14. 7. 4 và 14. 6. 5 bài đăng trên blog. Đang cập nhật lên 14. 8. 2 hoặc mới hơn đặt lại mã thông báo đăng ký người chạy cho các nhóm và dự án của bạn
  • Máy chủ đại lý cho Kubernetes khi cài đặt Omnibus. Nếu bạn chạy GitLab ở quy mô lớn, chẳng hạn như kiến ​​trúc tham chiếu, bạn phải tắt tác nhân trên các loại máy chủ sau, nếu tác nhân không bắt buộc

    • thủ lĩnh
    • Ý
    • Sidekiq
    • Redis [nếu được định cấu hình bằng
      sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      60 chứ không phải qua
      sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      61]
    • Đăng ký vùng chứa
    • Bất kỳ loại máy chủ nào khác dựa trên
      sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      62, chẳng hạn như các nút GitLab Rails

    Các kiến ​​trúc tham chiếu đã được cập nhật với sự thay đổi cấu hình này và một vai trò cụ thể cho các máy chủ Redis độc lập

    Các bước để vô hiệu hóa đại lý

    1. Thêm
      sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      63 vào
      sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      64
    2. Nếu máy chủ đã được nâng cấp lên 14. 8, chạy
      sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      65
  • GitLab 14. 8. 0 bao gồm di chuyển nền

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    66 có thể vẫn bị kẹt vĩnh viễn ở trạng thái chờ xử lý

    Để dọn dẹp công việc bị mắc kẹt này, hãy chạy phần sau trong Bảng điều khiển GitLab Rails

    sudo gitlab-ctl reconfigure
    
    3

  • Nếu nâng cấp từ phiên bản cũ hơn 14. 3. 0, để tránh sự cố khi thử lại công việc, trước tiên hãy nâng cấp lên GitLab 14. 7. x và đảm bảo rằng tất cả các lần di chuyển theo đợt đã hoàn tất
  • Nếu nâng cấp từ phiên bản 14. 3. 0 trở lên, bạn có thể nhận thấy lỗi có tên
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    67. Bạn có thể bỏ qua điều này. Thử lại sau khi bạn nâng cấp lên phiên bản 14. 9. x
  • Nếu bạn chạy PostgreSQL bên ngoài, đặc biệt là AWS RDS, để tránh sự cố cơ sở dữ liệu

14. 7. 0

  • Nhìn thấy
  • Nếu nâng cấp từ phiên bản cũ hơn 14. 6. 5, 14. 7. 4 hoặc 14. 8. 2, xem lại Bản phát hành bảo mật quan trọng. 14. 8. 2, 14. 7. 4 và 14. 6. 5 bài đăng trên blog. Đang cập nhật lên 14. 7. 4 hoặc mới hơn đặt lại mã thông báo đăng ký người chạy cho các nhóm và dự án của bạn
  • GitLab 14. 7 đã giới thiệu một thay đổi trong đó Gitaly mong đợi các tệp liên tục trong thư mục

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    68. Khi sử dụng tùy chọn gắn kết
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    69 trên
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    68 trong một nút đang chạy Gitaly, hầu hết các bản phân phối Linux đều gặp sự cố với móc máy chủ Git bị xóa. Các điều kiện này có trong cấu hình Amazon Linux mặc định

    Nếu bản phân phối Linux của bạn quản lý các tệp trong

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    68 với dịch vụ
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    72, bạn có thể ghi đè hành vi của
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    72 đối với các tệp Gitaly và tránh sự cố này

    sudo gitlab-ctl reconfigure
    
    4

    Sự cố này đã được khắc phục trong GitLab 14. 10 trở lên khi sử dụng để chỉ định vị trí lưu trữ các tệp liên tục

14. 6. 0

  • Nhìn thấy
  • Nếu nâng cấp từ phiên bản cũ hơn 14. 6. 5, 14. 7. 4 hoặc 14. 8. 2, xem lại Bản phát hành bảo mật quan trọng. 14. 8. 2, 14. 7. 4 và 14. 6. 5 bài đăng trên blog. Đang cập nhật lên 14. 6. 5 hoặc mới hơn đặt lại mã thông báo đăng ký người chạy cho các nhóm và dự án của bạn

14. 5. 0

  • Khi chạy

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    74, các bản dựng Gitaly hiện được tạo trong
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    75 và không còn trong thư mục gốc của thư mục nguồn. Nếu bạn đang sử dụng bản cài đặt nguồn, hãy cập nhật đường dẫn đến các tệp nhị phân này trong tài liệu của bạn hoặc bằng cách làm theo

  • Các kết nối giữa Workhorse và Gitaly sử dụng giao thức Gitaly

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    76 theo mặc định. Nếu bạn đã triển khai proxy gRPC giữa Workhorse và Gitaly, thì Workhorse không thể kết nối được nữa. Như một giải pháp thay thế, cờ tính năng. Nếu bạn cần proxy giữa Workhorse và Gitaly, hãy sử dụng proxy TCP. Nếu bạn có phản hồi về thay đổi này, hãy chuyển đến vấn đề này

  • Trong 14. Vào ngày 1, chúng tôi đã giới thiệu một quá trình di chuyển nền thay đổi cách chúng tôi lưu trữ các cam kết khác yêu cầu hợp nhất, để giảm đáng kể dung lượng lưu trữ cần thiết. Trong 14. 5, chúng tôi giới thiệu một tập hợp các di chuyển kết thúc quá trình này bằng cách đảm bảo rằng tất cả các công việc còn lại trên bảng

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    78 đều được hoàn thành. Những công việc này đã được xử lý trong hầu hết các trường hợp nên không cần thêm thời gian trong quá trình nâng cấp lên 14. 5. Tuy nhiên, nếu vẫn còn công việc hoặc bạn chưa nâng cấp lên 14. 1, việc triển khai có thể mất nhiều giờ để hoàn thành

    Tất cả các cam kết khác yêu cầu hợp nhất sẽ tự động kết hợp những thay đổi này và không có yêu cầu bổ sung nào để thực hiện nâng cấp. Dữ liệu hiện có trong bảng

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    78 vẫn được giải nén cho đến khi bạn chạy
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    80. Tuy nhiên, thao tác
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    81 khóa và ghi lại toàn bộ bảng
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    78, vì vậy thao tác này cần một chút thời gian để hoàn thành và nó chặn quyền truy cập vào bảng này cho đến khi kết thúc quy trình. Chúng tôi khuyên bạn chỉ nên chạy lệnh này khi GitLab không được sử dụng tích cực hoặc nó bị ngoại tuyến trong suốt quá trình. Thời gian cần thiết để hoàn thành tùy thuộc vào kích thước của bảng, có thể thu được bằng cách sử dụng
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    83

    Để biết thêm thông tin, hãy tham khảo vấn đề này

  • GitLab 14. 5. 0 bao gồm một lần di chuyển nền

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    84 có thể vẫn bị mắc kẹt vĩnh viễn ở trạng thái đang chờ xử lý khi phiên bản thiếu các bản ghi phù hợp với mục tiêu của quá trình di chuyển

    Để dọn dẹp công việc bị mắc kẹt này, hãy chạy phần sau trong Bảng điều khiển GitLab Rails

    sudo gitlab-ctl reconfigure
    
    5

  • Nâng cấp lên 14. 5 [hoặc mới hơn] có thể gặp phải thời gian chờ một giờ do thay đổi dữ liệu cơ sở dữ liệu đang chạy trong thời gian dài

    APP_KEY=base64:xFQiUz/QvVj/JRmARS1OVhNVhnNWO/+6/QyThdn593M=
    6

14. 4. 4

  • Để nâng cấp không ngừng hoạt động trên cụm GitLab với các nút Web và API riêng biệt, bạn phải bật

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    85 trước khi nâng cấp các nút Web GitLab lên 14. 4. Điều này là do chúng tôi đã bật
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    85 theo mặc định trong 14. 4, vì vậy nếu GitLab UI ở trên 14. 4 và API của nó là ngày 14. 3, giao diện người dùng đã bật tính năng này nhưng phần phụ trợ đã tắt tính năng này. Điều này dẫn đến lỗi sau

    sudo gitlab-ctl reconfigure
    
    7

14. 4. 0

  • Git 2. 33. x trở lên là bắt buộc. Chúng tôi khuyên bạn nên sử dụng
  • Nhìn thấy
  • Sau khi bật cân bằng tải cơ sở dữ liệu theo mặc định trong 14. 4. 0, chúng tôi đã phát hiện sự cố trong đó các công việc định kỳ sẽ không hoạt động nếu kết nối với PostgreSQL bị ngắt, vì Sidekiq sẽ tiếp tục sử dụng kết nối kém. Geo và các tính năng khác dựa trên các công việc định kỳ chạy thường xuyên không hoạt động cho đến khi khởi động lại Sidekiq. Chúng tôi khuyên bạn nên nâng cấp lên GitLab 14. 4. 3 trở lên nếu sự cố này ảnh hưởng đến bạn
  • Sau khi bật cân bằng tải cơ sở dữ liệu theo mặc định trong 14. 4. 0, chúng tôi đã phát hiện sự cố cân bằng tải cơ sở dữ liệu không hoạt động với cụm AWS Aurora. Chúng tôi khuyên bạn nên di chuyển cơ sở dữ liệu của mình từ Aurora sang RDS cho PostgreSQL trước khi nâng cấp. Tham khảo Di chuyển cơ sở dữ liệu GitLab sang một phiên bản PostgreSQL khác
  • GitLab 14. 4. 0 bao gồm một lần di chuyển nền

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    87 có thể vẫn bị mắc kẹt vĩnh viễn ở trạng thái đang chờ xử lý khi phiên bản thiếu các bản ghi phù hợp với mục tiêu của quá trình di chuyển

    Để dọn dẹp công việc bị mắc kẹt này, hãy chạy phần sau trong Bảng điều khiển GitLab Rails

    sudo gitlab-ctl reconfigure
    
    8

14. 3. 0

  • .
  • Đảm bảo trước khi nâng cấp lên 14. 3. Z từ các bản phát hành GitLab 14 trước đó
  • hồng ngọc 2. 7. 4 là bắt buộc. Tham khảo để biết cách tiến hành
  • GitLab 14. 3. 0 chứa di chuyển sau khi triển khai để giải quyết rủi ro tràn Khóa chính cho các bảng có PK số nguyên cho các bảng được liệt kê bên dưới

    • sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      88
    • sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      89
    • sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      90
    • sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      91
    • sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      92

    Nếu quá trình di chuyển được thực hiện như một phần của quá trình triển khai không có thời gian chết, sẽ có nguy cơ xảy ra lỗi do xung đột khóa với logic ứng dụng, dẫn đến thời gian chờ khóa hoặc bế tắc. Trong mỗi trường hợp, các lần di chuyển này đều an toàn để chạy lại cho đến khi thành công

    sudo gitlab-ctl reconfigure
    
    9

  • Sau khi nâng cấp lên 14. 3, đảm bảo rằng tất cả các công việc di chuyển nền

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    93 đã hoàn thành trước khi tiếp tục nâng cấp lên GitLab 14. 5 hoặc muộn hơn. Điều này đặc biệt quan trọng nếu phiên bản GitLab của bạn có bảng
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    78 lớn. Mọi công việc di chuyển nền
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    93 đang chờ xử lý đều được tạo nền trước trong GitLab 14. 5, và có thể mất nhiều thời gian để hoàn thành. Bạn có thể kiểm tra số lượng công việc đang chờ xử lý cho
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    93 bằng cách sử dụng bảng điều khiển PostgreSQL [hoặc
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    97]

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    0

    Khi công việc được hoàn thành, bản ghi cơ sở dữ liệu thay đổi từ

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    98 [đang chờ xử lý] thành
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    99. Nếu số lượng công việc đang chờ xử lý không giảm sau một thời gian, có thể công việc di chuyển nền
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    93 đã thất bại. Bạn có thể kiểm tra lỗi trong nhật ký Sidekiq

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    1

    Nếu cần, bạn có thể thử chạy công việc di chuyển nền

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    93 theo cách thủ công trong Bảng điều khiển GitLab Rails. Điều này có thể được thực hiện bằng cách sử dụng Sidekiq không đồng bộ hoặc bằng cách sử dụng trực tiếp quy trình Rails

    • Sử dụng Sidekiq để lên lịch công việc không đồng bộ

      sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      2

      Ghi chú

      Các công việc đã xếp hàng có thể được theo dõi bằng bảng quản trị của Sidekiq, có thể được truy cập tại URI điểm cuối

      php artisan key:generate
      Application key [base64:xxxxxxxxxxxxxx] set successfully.
      php artisan config:clear
      Configuration cache cleared!
      
      002

    • Sử dụng quy trình Rails để chạy các công việc đồng bộ

      sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      3

      Ghi chú

      Khi sử dụng Rails để thực hiện các thao tác di chuyển nền này một cách đồng bộ, hãy đảm bảo rằng máy đang chạy quy trình có đủ tài nguyên để xử lý tác vụ. Nếu quá trình bị chấm dứt, có khả năng là do không đủ bộ nhớ khả dụng. Nếu phiên SSH của bạn hết thời gian sau một thời gian, có thể cần phải chạy mã trước đó bằng cách sử dụng bộ ghép kênh đầu cuối như

      php artisan key:generate
      Application key [base64:xxxxxxxxxxxxxx] set successfully.
      php artisan config:clear
      Configuration cache cleared!
      
      003 hoặc
      php artisan key:generate
      Application key [base64:xxxxxxxxxxxxxx] set successfully.
      php artisan config:clear
      Configuration cache cleared!
      
      004

  • Nhìn thấy

  • Bạn có thể thấy lỗi sau khi thiết lập xác thực hai yếu tố [2FA] cho các tài khoản xác thực bằng mật khẩu LDAP

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    4

    • Lỗi xảy ra do xác minh được thực hiện không chính xác đối với mật khẩu GitLab nội bộ được tạo ngẫu nhiên của tài khoản, không phải mật khẩu LDAP
    • Điều này đã được sửa trong GitLab 14. 5. 0 và nhập vào 14. 4. 3
    • cách giải quyết
      • Thay vì nâng cấp lên GitLab 14. 3. x để tuân thủ đường dẫn nâng cấp được hỗ trợ
        1. Nâng cấp lên 14. 4. 5
        2. Hãy chắc chắn rằng đã hoàn thành
        3. Nâng cấp lên GitLab 14. 5 hoặc muộn hơn
      • Đặt lại mật khẩu ngẫu nhiên cho các tài khoản bị ảnh hưởng, sử dụng

        sudo gitlab-rake gitlab:elastic:list_pending_migrations
        
        5

14. 2. 0

  • .
  • Đảm bảo trước khi nâng cấp lên 14. 2. Z từ các bản phát hành GitLab 14 trước đó
  • GitLab 14. 2. 0 chứa di chuyển nền để giải quyết rủi ro tràn Khóa chính cho các bảng có PK số nguyên cho các bảng được liệt kê bên dưới
    • php artisan key:generate
      Application key [base64:xxxxxxxxxxxxxx] set successfully.
      php artisan config:clear
      Configuration cache cleared!
      
      006
    • php artisan key:generate
      Application key [base64:xxxxxxxxxxxxxx] set successfully.
      php artisan config:clear
      Configuration cache cleared!
      
      007
    • php artisan key:generate
      Application key [base64:xxxxxxxxxxxxxx] set successfully.
      php artisan config:clear
      Configuration cache cleared!
      
      008
    • php artisan key:generate
      Application key [base64:xxxxxxxxxxxxxx] set successfully.
      php artisan config:clear
      Configuration cache cleared!
      
      009
    • php artisan key:generate
      Application key [base64:xxxxxxxxxxxxxx] set successfully.
      php artisan config:clear
      Configuration cache cleared!
      
      010
    • php artisan key:generate
      Application key [base64:xxxxxxxxxxxxxx] set successfully.
      php artisan config:clear
      Configuration cache cleared!
      
      011
    • sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      15
      • Hoàn tất chuyển đổi
        php artisan key:generate
        Application key [base64:xxxxxxxxxxxxxx] set successfully.
        php artisan config:clear
        Configuration cache cleared!
        
        013 thành
        php artisan key:generate
        Application key [base64:xxxxxxxxxxxxxx] set successfully.
        php artisan config:clear
        Configuration cache cleared!
        
        014 cho
        sudo gitlab-rake gitlab:elastic:list_pending_migrations
        
        15
      • Hoàn thành chuyển đổi
        sudo gitlab-rake gitlab:elastic:list_pending_migrations
        
        15 thành
        php artisan key:generate
        Application key [base64:xxxxxxxxxxxxxx] set successfully.
        php artisan config:clear
        Configuration cache cleared!
        
        014

    Nếu quá trình di chuyển được thực hiện như một phần của quá trình triển khai không có thời gian chết, sẽ có nguy cơ xảy ra lỗi do xung đột khóa với logic ứng dụng, dẫn đến thời gian chờ khóa hoặc bế tắc. Trong mỗi trường hợp, các lần di chuyển này đều an toàn để chạy lại cho đến khi thành công

    sudo gitlab-ctl reconfigure
    
    9

  • Nhìn thấy
  • GitLab 14. 2. 0 bao gồm một lần di chuyển nền

    php artisan key:generate
    Application key [base64:xxxxxxxxxxxxxx] set successfully.
    php artisan config:clear
    Configuration cache cleared!
    
    018 có thể vẫn bị mắc kẹt vĩnh viễn ở trạng thái đang chờ xử lý khi phiên bản thiếu các bản ghi phù hợp với mục tiêu của quá trình di chuyển

    Để dọn dẹp công việc bị mắc kẹt này, hãy chạy phần sau trong Bảng điều khiển GitLab Rails

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    7

14. 1. 0

  • nhưng có thể nâng cấp lên 14. 1. Z

    Nó không bắt buộc đối với các phiên bản đã chạy 14. 0. 5 [hoặc muộn hơn] dừng ở 14. 1. Z. 14. 1 được đưa vào lộ trình nâng cấp để có khả năng tương thích rộng nhất với các cài đặt tự quản lý và đảm bảo 14. 0. 0-14. 0. 4 cài đặt không gặp sự cố với

  • Nâng cấp lên GitLab [hoặc mới hơn] có thể mất nhiều thời gian hơn nếu bạn không nâng cấp lên ít nhất 14. 1 đầu tiên. 14. 1 yêu cầu hợp nhất khác biệt cam kết di chuyển cơ sở dữ liệu có thể mất hàng giờ để chạy, nhưng chạy ở chế độ nền trong khi GitLab đang được sử dụng. Phiên bản GitLab được nâng cấp trực tiếp từ 14. 0 đến 14. 5 trở lên phải chạy quá trình di chuyển ở nền trước và do đó mất nhiều thời gian hơn để hoàn thành

  • Nhìn thấy

14. 0. 0

điều kiện tiên quyết

  • Giới thiệu về các điều kiện tiên quyết bao gồm , di chuyển và đến Puma
  • Sự hỗ trợ của PostgreSQL 11. Đảm bảo đến phiên bản 12 trước khi cập nhật lên GitLab 14. 0

Di chuyển cơ sở dữ liệu nền theo đợt trong thời gian dài

  • Những thay đổi về cơ sở dữ liệu do nâng cấp lên GitLab 14. 0 có thể mất hàng giờ hoặc hàng ngày để hoàn thành trên các phiên bản GitLab lớn hơn. Những cập nhật này toàn bộ bảng cơ sở dữ liệu để giảm thiểu tràn khóa chính và phải được hoàn thành trước khi nâng cấp lên GitLab 14. 2 hoặc muộn hơn
  • Do sự cố trong đó

    php artisan key:generate
    Application key [base64:xxxxxxxxxxxxxx] set successfully.
    php artisan config:clear
    Configuration cache cleared!
    
    019 dành cho các phiên bản tự quản lý, một bản sửa lỗi đã được tạo yêu cầu cập nhật lên ít nhất 14. 0. 5. Bản sửa lỗi cũng đã được phát hành trong

    Sau khi bạn cập nhật lên 14. 0. 5 hoặc muộn hơn 14. 0, trước khi bạn cập nhật lên phiên bản mới hơn

    Nếu quá trình di chuyển chưa hoàn tất và bạn cố gắng cập nhật lên phiên bản mới hơn, bạn sẽ thấy lỗi như

    sudo gitlab-ctl reconfigure
    
    0

    Xem cách

Các vấn đề khác

  • Trong GitLab 13. 3 một số phương pháp xử lý đường ống không được dùng nữa và mã này đã bị xóa hoàn toàn trong GitLab 14. 0. Nếu bạn định nâng cấp từ GitLab 13. 2 hoặc lớn hơn trực tiếp đến 14. 0, đây là. Thay vào đó, bạn nên làm theo một
  • Nhìn thấy
  • Xem liệu bạn có duy trì trình khởi tạo Rack Attack tùy chỉnh của riêng mình trong quá trình nâng cấp không

Nâng cấp lên sau 14. bản phát hành Y

  • Phiên bản đang chạy 14. 0. 0 - 14. 0. 4 không nên nâng cấp trực tiếp lên GitLab 14. 2 hoặc muộn hơn, vì
    1. Nâng cấp đầu tiên lên một trong hai
      • 14. 0. 5 hoặc muộn hơn 14. 0. Phát hành bản vá Z
      • 14. 1. 0 hoặc muộn hơn 14. 1. Phát hành bản vá Z
    2. trước khi bạn cập nhật lên phiên bản mới hơn

13. 12. 0

  • Nhìn thấy

  • Kiểm tra cơ sở dữ liệu GitLab. GitLab 14. 0 kiểm tra trước khi cài đặt khiến cập nhật gói không thành công nếu tồn tại dữ liệu chưa được di chuyển

    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    9

13. 11. 0

  • Git 2. 31. x trở lên là bắt buộc. Chúng tôi khuyên bạn nên sử dụng

  • Nhìn thấy

  • GitLab 13. 11 bao gồm di chuyển nền bị lỗi [

    php artisan key:generate
    Application key [base64:xxxxxxxxxxxxxx] set successfully.
    php artisan config:clear
    Configuration cache cleared!
    
    020] đặt sai cột
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    14 trong bảng cơ sở dữ liệu
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    15. Các giá trị
    sudo gitlab-rake gitlab:elastic:list_pending_migrations
    
    14 không chính xác có khả năng gây mất dữ liệu

    Để ngăn chặn nguy cơ mất dữ liệu này, bạn phải xóa nội dung của quá trình di chuyển

    php artisan key:generate
    Application key [base64:xxxxxxxxxxxxxx] set successfully.
    php artisan config:clear
    Configuration cache cleared!
    
    020, điều này khiến quá trình này trở thành quá trình di chuyển không hoạt động. Bạn có thể lặp lại các thay đổi từ cam kết khiến quá trình di chuyển không hoạt động trong 14. 9 trở lên. Để biết thêm thông tin, xem

13. 10. 0

Nhìn thấy

13. 9. 0

  • Chúng tôi đã phát hiện sự cố với việc đổi tên cột ngăn việc nâng cấp lên GitLab 13. 9. 0, 13. 9. 1, 13. 9. 2 và 13. 9. 3 khi làm theo các bước không thời gian chết. Cần thực hiện các bước bổ sung sau để nâng cấp không ngừng hoạt động

    1. Trước khi chạy lệnh

      php artisan key:generate
      Application key [base64:xxxxxxxxxxxxxx] set successfully.
      php artisan config:clear
      Configuration cache cleared!
      
      025 cuối cùng trên nút triển khai, hãy thực hiện các truy vấn sau bằng bảng điều khiển PostgreSQL [hoặc
      sudo gitlab-rake gitlab:elastic:list_pending_migrations
      
      97] để loại bỏ các trình kích hoạt có vấn đề

      php artisan key:generate
      Application key [base64:xxxxxxxxxxxxxx] set successfully.
      php artisan config:clear
      Configuration cache cleared!
      
      00

    2. Chạy các lần di chuyển cuối cùng

      php artisan key:generate
      Application key [base64:xxxxxxxxxxxxxx] set successfully.
      php artisan config:clear
      Configuration cache cleared!
      
      01

    Nếu bạn đã chạy lệnh

    php artisan key:generate
    Application key [base64:xxxxxxxxxxxxxx] set successfully.
    php artisan config:clear
    Configuration cache cleared!
    
    025 cuối cùng trên nút triển khai và gặp sự cố đổi tên cột, bạn sẽ thấy lỗi sau

    php artisan key:generate
    Application key [base64:xxxxxxxxxxxxxx] set successfully.
    php artisan config:clear
    Configuration cache cleared!
    
    02

    Để khắc phục lỗi này, hãy làm theo các bước trước đó để hoàn tất cập nhật. Thêm chi tiết có sẵn trong vấn đề này

  • Nhìn thấy

  • Đối với khách hàng của GitLab Enterprise Edition, chúng tôi đã nhận thấy sự cố khi sắp hết hạn đăng ký và bạn tạo các nhóm con và dự án mới. Nếu bạn thuộc danh mục đó và gặp 500 lỗi, bạn có thể khắc phục sự cố này

    1. SSH vào máy chủ GitLab của bạn và mở bảng điều khiển Rails

      php artisan key:generate
      Application key [base64:xxxxxxxxxxxxxx] set successfully.
      php artisan config:clear
      Configuration cache cleared!
      
      03

    2. Vô hiệu hóa các tính năng sau

      php artisan key:generate
      Application key [base64:xxxxxxxxxxxxxx] set successfully.
      php artisan config:clear
      Configuration cache cleared!
      
      04

    3. Khởi động lại Puma hoặc Unicorn

      php artisan key:generate
      Application key [base64:xxxxxxxxxxxxxx] set successfully.
      php artisan config:clear
      Configuration cache cleared!
      
      05

13. 8. 8

GitLab 13. 8 bao gồm di chuyển nền để giải quyết vấn đề với bản ghi dịch vụ trùng lặp. Nếu có các dịch vụ trùng lặp, quá trình di chuyển nền này phải hoàn tất trước khi một chỉ mục duy nhất được áp dụng cho bảng dịch vụ, được giới thiệu trong GitLab 13. 9. Nâng cấp từ GitLab 13. 8 trở về trước phải bao gồm bản nâng cấp trung gian lên GitLab 13. 8. 8 và phải đợi cho đến khi quá trình di chuyển nền hoàn tất trước khi tiếp tục

Nếu các dịch vụ trùng lặp vẫn còn, hãy nâng cấp lên 13. 9. x trở lên dẫn đến nâng cấp không thành công với lỗi sau

php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
06

13. 6. 0

hồng ngọc 2. 7. 2 là bắt buộc. GitLab không bắt đầu với Ruby 2. 6. 6 hoặc phiên bản cũ hơn

Phiên bản Git bắt buộc là Git v2. 29 hoặc muộn hơn

GitLab 13. 6 bao gồm một quá trình di chuyển nền

php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
028 có thể vẫn bị kẹt vĩnh viễn ở trạng thái chờ xử lý mặc dù đã hoàn thành công việc do lỗi

Để dọn dẹp công việc bị mắc kẹt này, hãy chạy phần sau trong Bảng điều khiển GitLab Rails

php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
07

13. 4. 0

GitLab 13. 4. 0 bao gồm di chuyển nền sang. Có các sự cố đã biết với quá trình di chuyển này đã được khắc phục trong GitLab 13. 5. 4 trở lên. Nếu có thể, bỏ qua 13. 4. 0 và nâng cấp lên 13. 5. 4 hoặc mới hơn để thay thế. Quá trình di chuyển có thể mất khá nhiều thời gian để chạy, tùy thuộc vào số lượng kho lưu trữ phải được di chuyển. Đảm bảo kiểm tra xem tất cả quá trình di chuyển trong nền đã hoàn tất chưa trước khi nâng cấp thêm

13. 3. 0

Phiên bản Git được đề xuất là Git v2. 28. Phiên bản yêu cầu tối thiểu của Git v2. 24 vẫn giữ nguyên

13. 2. 0

Phải cài đặt GitLab có nhiều nút web trước khi nâng cấp lên 13. 2 [và phiên bản mới hơn] do thay đổi lớn trong Rails có thể dẫn đến sự cố ủy quyền

GitLab 13. 2. 0 khắc phục bỏ qua xác minh email. Sau khi nâng cấp, nếu một số người dùng của bạn bất ngờ gặp phải lỗi 404 hoặc 422 khi đăng nhập hoặc thông báo "bị chặn" khi sử dụng dòng lệnh, tài khoản của họ có thể chưa được xác nhận. Trong trường hợp đó, hãy yêu cầu họ kiểm tra email của họ để tìm liên kết xác nhận lại. Để biết thêm thông tin, hãy xem phần thảo luận của chúng tôi về các vấn đề xác nhận Email

GitLab 13. 2. 0 dựa trên tiện ích mở rộng

php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
029 cho PostgreSQL. Đối với các cài đặt có thiết lập PostgreSQL được quản lý bên ngoài, hãy đảm bảo cài đặt tiện ích mở rộng theo cách thủ công trước khi nâng cấp GitLab nếu người dùng cơ sở dữ liệu cho GitLab không phải là siêu người dùng. Điều này không cần thiết đối với các cài đặt sử dụng cơ sở dữ liệu PostgreSQL do GitLab quản lý

13. 1. 0

Trong 13. 1. 0, bạn phải nâng cấp lên một trong hai

  • Ít nhất là Git v2. 24 [trước đây, phiên bản yêu cầu tối thiểu là Git v2. 22]
  • Git v2 được đề xuất. 26

Không làm như vậy dẫn đến lỗi nội bộ trong dịch vụ Gitaly ở một số RPC do sử dụng cờ Git

php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
030 mới

Ngoài ra, trong GitLab 13. 1. 0, phiên bản Rails được nâng cấp từ 6. 0. 3 đến 6. 0. 3. 1. Bản nâng cấp Rails bao gồm một thay đổi đối với việc tạo mã thông báo CSRF không tương thích ngược - máy chủ GitLab với phiên bản Rails mới tạo mã thông báo CSRF mà máy chủ GitLab với phiên bản Rails cũ hơn không thể nhận ra - điều này có thể khiến các yêu cầu không NHẬN không thành công cho

Vì vậy, nếu bạn đang sử dụng nhiều máy chủ Rails và cụ thể là nâng cấp từ 13. 0, tất cả các máy chủ trước tiên phải được nâng cấp lên 13. 1. Z trước khi nâng cấp lên 13. 2. 0 trở lên

  1. Đảm bảo tất cả các nút web GitLab đang chạy GitLab 13. 1. Z
  2. Bật cờ tính năng

    php artisan key:generate
    Application key [base64:xxxxxxxxxxxxxx] set successfully.
    php artisan config:clear
    Configuration cache cleared!
    
    031 để kích hoạt phương thức tạo mã thông báo CSRF mới

    php artisan key:generate
    Application key [base64:xxxxxxxxxxxxxx] set successfully.
    php artisan config:clear
    Configuration cache cleared!
    
    08

  3. Chỉ khi đó, hãy tiếp tục nâng cấp lên các phiên bản GitLab sau này

Công cụ khởi tạo Rack Attack tùy chỉnh

Từ GitLab 13. 0. 1, bộ khởi tạo Rack Attack tùy chỉnh [

php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
032] được thay thế bằng bộ khởi tạo được cung cấp cùng với GitLab trong quá trình nâng cấp. Chúng tôi khuyên bạn nên sử dụng các trình khởi tạo do GitLab cung cấp này

Nếu bạn duy trì trình khởi tạo Rack Attack của riêng mình giữa các lần nâng cấp, bạn có thể gặp lỗi

php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
033 khi

12. 10. 0

  • Bản phát hành bản vá cuối cùng [12. 10. 14]. Nếu bạn sử dụng tính năng này và phải ở trên 12. 10 khi chuẩn bị nâng cấp lên 13. 0

    • Nâng cấp lên 12. 10. 13 thay vì
    • Nâng cấp lên 13. 0. 14 càng sớm càng tốt
  • .

    • 12. 10 là bản phát hành cuối cùng đi kèm với PostgreSQL 9. 6, 10 và 11
    • Bạn nên đảm bảo rằng cơ sở dữ liệu của bạn là PostgreSQL 11 trên GitLab 12. 10 trước khi nâng cấp lên 13. 0. Nâng cấp này yêu cầu thời gian chết

12. 2. 0

trong 12. 2. 0, chúng tôi đã bật mã hóa cookie được xác thực của Rails. Các phiên cũ được tự động nâng cấp

Tuy nhiên, hạ cấp cookie phiên không được hỗ trợ. Vì vậy, sau khi nâng cấp lên 12. 2. 0, mọi hạ cấp sẽ dẫn đến tất cả các phiên bị vô hiệu và người dùng bị đăng xuất

12. 1. 0

  • Nếu bạn định nâng cấp từ

    php artisan key:generate
    Application key [base64:xxxxxxxxxxxxxx] set successfully.
    php artisan config:clear
    Configuration cache cleared!
    
    034 lên
    php artisan key:generate
    Application key [base64:xxxxxxxxxxxxxx] set successfully.
    php artisan config:clear
    Configuration cache cleared!
    
    035, thì cần thực hiện nâng cấp trung gian lên
    php artisan key:generate
    Application key [base64:xxxxxxxxxxxxxx] set successfully.
    php artisan config:clear
    Configuration cache cleared!
    
    036 trước khi nâng cấp lên
    php artisan key:generate
    Application key [base64:xxxxxxxxxxxxxx] set successfully.
    php artisan config:clear
    Configuration cache cleared!
    
    035 để tránh các sự cố như #215141

  • Hỗ trợ cho MySQL đã bị xóa trong GitLab 12. 1. Người dùng hiện tại đang sử dụng GitLab với MySQL/MariaDB nên chuyển sang PostgreSQL trước khi nâng cấp

12. 0. 0

trong 12. 0. 0, chúng tôi đã thực hiện nhiều thay đổi liên quan đến cơ sở dữ liệu. Những thay đổi này yêu cầu người dùng trước tiên phải nâng cấp lên phiên bản 11 mới nhất. phát hành bản vá 11. Sau khi nâng cấp lên 11. 11. Z, người dùng có thể nâng cấp lên 12. 0. Z. Không làm như vậy có thể dẫn đến việc di chuyển cơ sở dữ liệu không được áp dụng, điều này có thể dẫn đến lỗi ứng dụng

Bạn cũng cần phải nâng cấp lên 12. 0. Z trước khi chuyển sang phiên bản mới hơn của 12. Y

ví dụ 1. bạn hiện đang sử dụng GitLab 11. 11. 8, đây là bản phát hành bản vá mới nhất cho 11. 11. Z. Bạn có thể nâng cấp như bình thường lên 12. 0. Z

ví dụ 2. bạn hiện đang sử dụng phiên bản GitLab 10. Y. Để nâng cấp, trước tiên hãy nâng cấp lên 10. Y phát hành [10. 8. 7] sau đó là 11. phát hành Y [11. 11. số 8]. Sau khi nâng cấp lên 11. 11. 8 bạn có thể nâng cấp lên 12 một cách an toàn. 0. Z

Xem của chúng tôi để biết thêm thông tin

Thay đổi thành đường dẫn bản sao do Praefect tạo trong GitLab 15. 3

Kho lưu trữ Git mới được tạo trong cụm Gitaly không còn sử dụng đường dẫn lưu trữ

sudo gitlab-rake gitlab:elastic:list_pending_migrations
22

Praefect hiện tạo các đường dẫn bản sao để cụm Gitaly sử dụng. Thay đổi này là điều kiện tiên quyết để cụm Gitaly tạo, xóa và đổi tên nguyên tử các kho Git

Để xác định đường dẫn bản sao và chuyển đường dẫn lưu trữ

sudo gitlab-rake gitlab:elastic:list_pending_migrations
22 tới
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
040

Với thông tin này, bạn có thể cài đặt móc máy chủ một cách chính xác

Sự cố chế độ bảo trì trong GitLab 13. 9 đến 14. 4

Khi chế độ Bảo trì được bật, người dùng không thể đăng nhập bằng SSO, SAML hoặc LDAP

Người dùng đã đăng nhập trước khi Chế độ bảo trì được bật, tiếp tục đăng nhập. Nếu quản trị viên đã bật Chế độ bảo trì bị mất phiên của họ thì họ không thể tắt Chế độ bảo trì qua giao diện người dùng. Trong trường hợp đó, bạn có thể

Lỗi này đã được sửa trong GitLab 14. 5. 0 và được nhập vào 14. 4. 3 và 14. 3. 5

Sự cố nhập và phản chiếu các đối tượng LFS trong GitLab 14. 6. 0 đến 14. 7. 2

Khi Geo được bật, các đối tượng LFS không được lưu cho các dự án được nhập hoặc nhân bản

Lỗi này đã được sửa trong GitLab 14. 8. 0 và được nhập vào 14. 7. 3

Sự cố lỗi phân đoạn PostgreSQL

Nếu bạn chạy GitLab với PostgreSQL bên ngoài, đặc biệt là AWS RDS, hãy đảm bảo bạn nâng cấp PostgreSQL để vá các mức tối thiểu là 12. 7 hoặc 13. 3 trước khi nâng cấp lên GitLab 14. 8 hoặc muộn hơn

Trong 14. 8 cho GitLab Enterprise Edition và 15. 1 cho Phiên bản cộng đồng GitLab, một tính năng GitLab có tên Loose Foreign Keys đã được bật

Sau khi nó được kích hoạt, chúng tôi đã nhận được báo cáo về việc khởi động lại PostgreSQL ngoài ý muốn do lỗi công cụ cơ sở dữ liệu gây ra lỗi phân đoạn

Đọc thêm trong vấn đề

địa lý. Xóa tệp LFS lưu trữ đối tượng không chính xác trên các trang web phụ trong GitLab 15. 0. 0 đến 15. 3. 2

Việc xóa nhầm các tệp lưu trữ đối tượng trên các trang Geo phụ có thể xảy ra trong GitLab 15. 0. 0 đến 15. 3. 2 trong các trường hợp sau

  • Bản sao lưu trữ đối tượng do GitLab quản lý bị tắt và các đối tượng LFS được tạo trong khi nhập dự án có bật lưu trữ đối tượng
  • Bản sao do GitLab quản lý để đồng bộ hóa lưu trữ đối tượng được bật và sau đó bị tắt

Vấn đề này được giải quyết trong 15. 3. 3. Những khách hàng đã bật cả LFS và các đối tượng LFS đang được sao chép trên các trang Geo nên nâng cấp trực tiếp lên 15. 3. 3 để giảm nguy cơ mất dữ liệu trên các trang web thứ cấp

địa lý. LFS chuyển hướng chuyển hướng đến trang chính từ trang phụ vào giữa phiên trong GitLab 15. 1. 0 đến 15. 3. 2

Chuyển LFS có thể chuyển hướng đến trang chính từ trang phụ vào giữa phiên gây ra các yêu cầu kéo và sao chép không thành công trong GitLab 15. 1. 0 đến 15. 3. 2 khi ủy quyền địa lý được bật. Theo mặc định, ủy quyền địa lý được bật trong GitLab 15. 1 trở lên

Vấn đề này được giải quyết trong GitLab 15. 3. 3 nên những khách hàng có cấu hình sau nên nâng cấp lên 15. 3. 3 hoặc muộn hơn

Chủ Đề