đá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:generate22, đó 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
- Lập kế hoạch bảo trì của bạn
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
0 của bạnFATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails] [..] Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
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
- Đợi cho đến khi tất cả các công việc kết thúc
- Nâng cấp GitLab
- 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
- 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
0 trước đóFATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails] [..] Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
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!
0Bạ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. 1Nế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
php artisan key:generate
Application key [base64:xxxxxxxxxxxxxx] set successfully.
php artisan config:clear
Configuration cache cleared!
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
- 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
- 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 đó
- 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]
- 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:generate60.
php artisan key:generate61
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
00sudo 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
08sudo 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
19sudo 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!
96sudo gitlab-ctl reconfigure
36sudo 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
45sudo gitlab-ctl reconfigure
46sudo 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
59sudo gitlab-ctl reconfigure
60sudo 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
36sudo gitlab-ctl reconfigure
78sudo 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
55Nâ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
93 trên cộtsudo 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
95sudo gitlab-ctl reconfigure
96 trên bảngsudo gitlab-ctl reconfigure
97. Có nhiều lần di chuyển nềnsudo gitlab-ctl reconfigure
98 sẽ được hoàn thiện với quá trình di chuyển sau triển khaisudo gitlab-ctl reconfigure
99sudo gitlab-ctl reconfigure
- GitLab 15. 4. 0 đã giới thiệu giá trị a để chèn lấp
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. 0sudo gitlab-rake gitlab:elastic:list_pending_migrations
Một ràng buộc cơ sở dữ liệu được thêm vào, xác định rằng cột
00 trên bảng vấn đề không có giá trịsudo gitlab-rake gitlab:elastic:list_pending_migrations
95sudo gitlab-ctl reconfigure
Nếu quá trình di chuyển nền theo đợt của
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ệusudo gitlab-rake gitlab:elastic:list_pending_migrations
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
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ẩmsudo gitlab-rake gitlab:elastic:list_pending_migrations
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 [
06]. 25sudo gitlab-rake gitlab:elastic:list_pending_migrations
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
04 sẽ không bị ảnh hưởng bởi thay đổi này.sudo gitlab-rake gitlab:elastic:list_pending_migrations
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
9php artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
Ba chỉ số khác là.
08,sudo gitlab-rake gitlab:elastic:list_pending_migrations
09 vàsudo gitlab-rake gitlab:elastic:list_pending_migrations
10sudo gitlab-rake gitlab:elastic:list_pending_migrations
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
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 độngsudo gitlab-rake gitlab:elastic:list_pending_migrations
- 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
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àosudo gitlab-rake gitlab:elastic:list_pending_migrations
0FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails] [..] Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
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
14 trong bảngsudo 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ơnsudo gitlab-rake gitlab:elastic:list_pending_migrations
- Theo mặc định, các nút Gitaly và Praefect sử dụng máy chủ thời gian tại
16. Nếu phiên bản của bạn không thể kết nối vớisudo gitlab-rake gitlab:elastic:list_pending_migrations
16,sudo gitlab-rake gitlab:elastic:list_pending_migrations
- 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
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 độngsudo gitlab-rake gitlab:elastic:list_pending_migrations
- 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
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àosudo gitlab-rake gitlab:elastic:list_pending_migrations
0FATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails] [..] Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
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
23 đã được sửa đổi trong GitLab 15. 4 và cấu hình mới đã được thêm vào các phầnsudo 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 trongsudo gitlab-rake gitlab:elastic:list_pending_migrations
0, hãy đảm bảo rằngFATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails] [..] Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
23 giống nhau trên tất cả các nútsudo gitlab-rake gitlab:elastic:list_pending_migrations
- GitLab 15. 4. 0 đã giới thiệu giá trị a để chèn lấp
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ênsudo gitlab-rake gitlab:elastic:list_pending_migrations
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
30 đã thay đổi thànhsudo gitlab-rake gitlab:elastic:list_pending_migrations
31. Xem tài liệu APIsudo gitlab-rake gitlab:elastic:list_pending_migrations
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à
33. Nếu vị trí này được gắn vớisudo gitlab-rake gitlab:elastic:list_pending_migrations
34, các yêu cầu hợp nhất sẽ tạo ra lỗi sausudo gitlab-rake gitlab:elastic:list_pending_migrations
php artisan key:generate
6Để giải quyết vấn đề này, hãy xóa tùy chọn
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 Gitalysudo gitlab-rake gitlab:elastic:list_pending_migrations
- Thêm
36 vàosudo gitlab-rake gitlab:elastic:list_pending_migrations
0 và chỉ định một vị trí mà không cần đặtFATAL: Mixlib::ShellOut::CommandTimeout: rails_migration[gitlab-rails] [..] Mixlib::ShellOut::CommandTimeout: Command timed out after 3600s:
34sudo gitlab-rake gitlab:elastic:list_pending_migrations
- Chạy
39sudo gitlab-rake gitlab:elastic:list_pending_migrations
- Thêm
- 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
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ênsudo gitlab-rake gitlab:elastic:list_pending_migrations
- Đảm bảo tất cả các nút web GitLab đang chạy GitLab 15. 1. Z
- để chuyển
40 sang sử dụng SHA256sudo gitlab-rake gitlab:elastic:list_pending_migrations
- 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
46 tùy chỉnh, hãy đảm bảo rằng nó có quyềnsudo 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ênsudo gitlab-rake gitlab:elastic:list_pending_migrations
46 vàsudo gitlab-rake gitlab:elastic:list_pending_migrations
50sudo gitlab-rake gitlab:elastic:list_pending_migrations
- 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
52 thay vìsudo gitlab-rake gitlab:elastic:list_pending_migrations
53sudo gitlab-rake gitlab:elastic:list_pending_migrations
- 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
54 bị xóa và hình ảnh của trình trợ giúp luôn được lấy từ GitLab Registrysudo gitlab-rake gitlab:elastic:list_pending_migrations
- Mã hóa SSL
55 không còn được NGINX cho phép. Xem cách bạn có thể vào danh sách cho phépsudo gitlab-rake gitlab:elastic:list_pending_migrations
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
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ệusudo gitlab-rake gitlab:elastic:list_pending_migrations
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=
6Mộ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
57 cho mỗi bản ghi trong bảngsudo gitlab-rake gitlab:elastic:list_pending_migrations
58sudo gitlab-rake gitlab:elastic:list_pending_migrations
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ư
0sudo gitlab-ctl reconfigure
Hoặc
1sudo gitlab-ctl reconfigure
GitLab 14. 9. 0 bao gồm di chuyển nền
59 có thể vẫn bị kẹt vĩnh viễn ở trạng thái chờ xử lýsudo gitlab-rake gitlab:elastic:list_pending_migrations
Để 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
2sudo gitlab-ctl reconfigure
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
60 chứ không phải quasudo gitlab-rake gitlab:elastic:list_pending_migrations
61]sudo gitlab-rake gitlab:elastic:list_pending_migrations
- Đăng ký vùng chứa
- Bất kỳ loại máy chủ nào khác dựa trên
62, chẳng hạn như các nút GitLab Railssudo gitlab-rake gitlab:elastic:list_pending_migrations
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ý
- Thêm
63 vàosudo gitlab-rake gitlab:elastic:list_pending_migrations
64sudo gitlab-rake gitlab:elastic:list_pending_migrations
- Nếu máy chủ đã được nâng cấp lên 14. 8, chạy
65sudo gitlab-rake gitlab:elastic:list_pending_migrations
GitLab 14. 8. 0 bao gồm di chuyển nền
66 có thể vẫn bị kẹt vĩnh viễn ở trạng thái chờ xử lýsudo gitlab-rake gitlab:elastic:list_pending_migrations
Để 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
3sudo gitlab-ctl reconfigure
- 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
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. xsudo gitlab-rake gitlab:elastic:list_pending_migrations
- 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
68. Khi sử dụng tùy chọn gắn kếtsudo gitlab-rake gitlab:elastic:list_pending_migrations
69 trênsudo 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 địnhsudo gitlab-rake gitlab:elastic:list_pending_migrations
Nếu bản phân phối Linux của bạn quản lý các tệp trong
68 với dịch vụsudo gitlab-rake gitlab:elastic:list_pending_migrations
72, bạn có thể ghi đè hành vi củasudo gitlab-rake gitlab:elastic:list_pending_migrations
72 đối với các tệp Gitaly và tránh sự cố nàysudo gitlab-rake gitlab:elastic:list_pending_migrations
4sudo gitlab-ctl reconfigure
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
74, các bản dựng Gitaly hiện được tạo trongsudo 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 theosudo gitlab-rake gitlab:elastic:list_pending_migrations
Các kết nối giữa Workhorse và Gitaly sử dụng giao thức Gitaly
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àysudo gitlab-rake gitlab:elastic:list_pending_migrations
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
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ànhsudo gitlab-rake gitlab:elastic:list_pending_migrations
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
78 vẫn được giải nén cho đến khi bạn chạysudo gitlab-rake gitlab:elastic:list_pending_migrations
80. Tuy nhiên, thao tácsudo gitlab-rake gitlab:elastic:list_pending_migrations
81 khóa và ghi lại toàn bộ bảngsudo 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ụngsudo gitlab-rake gitlab:elastic:list_pending_migrations
83sudo gitlab-rake gitlab:elastic:list_pending_migrations
Để 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
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ểnsudo gitlab-rake gitlab:elastic:list_pending_migrations
Để 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
5sudo gitlab-ctl reconfigure
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
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ậtsudo 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 sausudo gitlab-rake gitlab:elastic:list_pending_migrations
7sudo gitlab-ctl reconfigure
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
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ểnsudo gitlab-rake gitlab:elastic:list_pending_migrations
Để 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
8sudo gitlab-ctl reconfigure
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
88sudo gitlab-rake gitlab:elastic:list_pending_migrations
89sudo gitlab-rake gitlab:elastic:list_pending_migrations
90sudo gitlab-rake gitlab:elastic:list_pending_migrations
91sudo gitlab-rake gitlab:elastic:list_pending_migrations
92sudo gitlab-rake gitlab:elastic:list_pending_migrations
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
9sudo gitlab-ctl reconfigure
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
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ảngsudo gitlab-rake gitlab:elastic:list_pending_migrations
78 lớn. Mọi công việc di chuyển nềnsudo 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ý chosudo gitlab-rake gitlab:elastic:list_pending_migrations
93 bằng cách sử dụng bảng điều khiển PostgreSQL [hoặcsudo gitlab-rake gitlab:elastic:list_pending_migrations
97]sudo gitlab-rake gitlab:elastic:list_pending_migrations
0sudo gitlab-rake gitlab:elastic:list_pending_migrations
Khi công việc được hoàn thành, bản ghi cơ sở dữ liệu thay đổi từ
98 [đang chờ xử lý] thànhsudo 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ềnsudo 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ý Sidekiqsudo gitlab-rake gitlab:elastic:list_pending_migrations
1sudo gitlab-rake gitlab:elastic:list_pending_migrations
Nếu cần, bạn có thể thử chạy công việc di chuyển nền
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 Railssudo gitlab-rake gitlab:elastic:list_pending_migrations
Sử dụng Sidekiq để lên lịch công việc không đồng bộ
2sudo gitlab-rake gitlab:elastic:list_pending_migrations
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
002php artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
Sử dụng quy trình Rails để chạy các công việc đồng bộ
3sudo gitlab-rake gitlab:elastic:list_pending_migrations
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ư
003 hoặcphp artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
004php artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
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
4sudo gitlab-rake gitlab:elastic:list_pending_migrations
- 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ợ
- Nâng cấp lên 14. 4. 5
- Hãy chắc chắn rằng đã hoàn thành
- 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
5sudo gitlab-rake gitlab:elastic:list_pending_migrations
- 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ợ
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
006php artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
007php artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
008php artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
009php artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
010php artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
011php artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
15sudo gitlab-rake gitlab:elastic:list_pending_migrations
- Hoàn tất chuyển đổi
013 thànhphp artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
014 chophp artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
15sudo gitlab-rake gitlab:elastic:list_pending_migrations
- Hoàn thành chuyển đổi
15 thànhsudo gitlab-rake gitlab:elastic:list_pending_migrations
014php artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
- Hoàn tất chuyển đổi
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
9sudo gitlab-ctl reconfigure
- Nhìn thấy
GitLab 14. 2. 0 bao gồm một lần di chuyển nền
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ểnphp artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
Để 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
7sudo gitlab-rake gitlab:elastic:list_pending_migrations
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 đó
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 trongphp artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
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ư
0sudo gitlab-ctl reconfigure
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ì
- 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
- trước khi bạn cập nhật lên phiên bản mới hơn
- Nâng cấp đầu tiên lên một trong hai
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
9sudo gitlab-rake gitlab:elastic:list_pending_migrations
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 [
020] đặt sai cộtphp artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
14 trong bảng cơ sở dữ liệusudo 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ệusudo gitlab-rake gitlab:elastic:list_pending_migrations
Để 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
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, xemphp artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
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
Trước khi chạy lệnh
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ặcphp artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
97] để loại bỏ các trình kích hoạt có vấn đềsudo gitlab-rake gitlab:elastic:list_pending_migrations
00php artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
Chạy các lần di chuyển cuối cùng
01php artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
Nếu bạn đã chạy lệnh
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 sauphp artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
02php artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
Để 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
SSH vào máy chủ GitLab của bạn và mở bảng điều khiển Rails
03php artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
Vô hiệu hóa các tính năng sau
04php artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
Khởi động lại Puma hoặc Unicorn
05php artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
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!
0613. 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!
0713. 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ớiNgoà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
- Đảm bảo tất cả các nút web GitLab đang chạy GitLab 13. 1. Z
Bật cờ tính năng
031 để kích hoạt phương thức tạo mã thông báo CSRF mớiphp artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
08php artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
- 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àyNế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 khi12. 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ừ
034 lênphp 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ênphp 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ênphp artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
035 để tránh các sự cố như #215141php artisan key:generate Application key [base64:xxxxxxxxxxxxxx] set successfully. php artisan config:clear Configuration cache cleared!
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
22Praefect 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!
040Vớ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