Nâng cấp ReputeCast
Để nâng cấp ReputeCast, bạn thay image hoặc tệp nhị phân bằng một bản phát hành mới hơn và để nó áp dụng các migration cơ sở dữ liệu; mọi thứ khác (cấu hình, khóa bí mật, dữ liệu) giữ nguyên.
Xem phiên bản bạn đang chạy
Phần tiêu đề “Xem phiên bản bạn đang chạy”Quản trị viên hệ thống xem được phiên bản đã cài, bản phát hành mới nhất và
changelog của nó trong Quản trị hệ thống, rồi Hệ thống và cập nhật, ở thẻ
Phiên bản và cập nhật. Từ dòng lệnh, reputecast version in ra cùng thông tin đó:
reputecast <version> (<commit>) <Go version>.

- Nhãn Có bản cập nhật xuất hiện khi bản phát hành mới nhất mới hơn phiên bản đã cài. Các bản
build không có số phiên bản phát hành (như
dev) không bao giờ hiện nhãn này. - Trong mục Nâng cấp trên máy chủ, thẻ hiển thị lệnh Docker Compose
cd /opt/reputecast && docker compose pull && docker compose up -d. Hãy thay/opt/reputecastbằng thư mục chứadocker-compose.ymlcủa bạn. - Công tắc Kiểm tra bản phát hành trên GitHub mỗi ngày một lần lấy bản phát hành mới nhất từ
api.github.commỗi ngày một lần. Yêu cầu này không gửi kèm số phiên bản hay ID hệ thống; đây là lệnh gọi ra ngoài duy nhất ReputeCast tự thực hiện. Bạn có thể tắt công tắc ở đây, hoặc đặtupdates.check: falsetrong cấu hình để tắt cho toàn hệ thống (khi đó công tắc bị khóa).
Trước khi bắt đầu
Phần tiêu đề “Trước khi bắt đầu”- Đọc ghi chú phát hành của mọi phiên bản nằm giữa phiên bản của bạn và phiên bản mới, trên trang phát hành GitHub.
- Sao lưu cơ sở dữ liệu và khóa bí mật. Migration thay đổi schema, và bản sao lưu là cách quay lại đáng tin cậy.
- Dự tính một khoảng gián đoạn ngắn trong lúc ứng dụng khởi động lại.
Nâng cấp
Phần tiêu đề “Nâng cấp”-
Vào thư mục chứa
docker-compose.ymlvà tạo bản sao lưu:Terminal window docker compose exec -T postgres pg_dump -U reputecast -d reputecast -Fc > reputecast-before-upgrade.dump -
Nếu bạn ghim phiên bản trong
.env(REPUTECAST_VERSION=v1.4.2), hãy đổi sang tag của bản phát hành mới. Tag của image là tag phát hành, giữ nguyên chữvở đầu, cùng vớilatest. Nếu không cóREPUTECAST_VERSION, tệp compose dùnglatest. -
Kéo image mới và tạo lại container của ứng dụng:
Terminal window docker compose pull && docker compose up -dImage khởi động với
serve --auto-migrate, nên nó áp dụng các migration còn chờ trước khi phục vụ yêu cầu. Log hiển thị một dòngmigration appliedcho mỗi migration.
-
Tạo bản sao lưu (xem sao lưu và khôi phục).
-
Tải tệp nén cho nền tảng của bạn và
checksums.txttừ trang phát hành, rồi kiểm tra tệp đã tải:Terminal window sha256sum --ignore-missing -c checksums.txt -
Dừng mọi tiến trình ReputeCast, ví dụ
sudo systemctl stop reputecast. -
Thay tệp nhị phân (ví dụ
/usr/local/bin/reputecast) bằng tệp mới. -
Áp dụng migration một lần, với cùng môi trường mà dịch vụ sử dụng:
Terminal window reputecast migrate upLệnh này áp dụng migration của ReputeCast, sau đó đến migration của hàng đợi công việc, và kết thúc bằng
Database is up to date. -
Khởi động lại mọi tiến trình. Nếu bạn chạy nhiều vai trò, hãy nâng cấp tất cả lên cùng một phiên bản.
Kiểm tra kết quả
Phần tiêu đề “Kiểm tra kết quả”- Phiên bản và cập nhật hiển thị phiên bản mới là phiên bản đã cài.
reputecast migrate statusliệt kê mọi migration kèm ngày áp dụng và không có migration nào ở trạng tháipending. Trong Docker:docker compose exec app /usr/local/bin/reputecast migrate status./readyztrả vềready(health check, metrics và log).
Quay lại phiên bản trước
Phần tiêu đề “Quay lại phiên bản trước”Chạy lại image hoặc tệp nhị phân cũ không hoàn tác migration: cơ sở dữ liệu vẫn giữ schema mới hơn.
- Khôi phục bản sao lưu để trở về chính xác trạng thái trước khi nâng cấp: dừng ReputeCast, khôi phục bản dump bạn đã tạo (xem khôi phục), rồi khởi động phiên bản bạn chạy trước đó. Mọi thay đổi sau khi nâng cấp sẽ mất.
- Ghim phiên bản trước (
REPUTECAST_VERSIONtrong.env, rồidocker compose up -d), như thẻ Phiên bản và cập nhật gợi ý, khi bạn muốn giữ dữ liệu đã ghi từ lúc nâng cấp. reputecast migrate downchỉ hoàn tác migration mới nhất của ReputeCast, mỗi lần chạy một migration, và không đụng đến các bảng của hàng đợi công việc. Nên ưu tiên khôi phục bản sao lưu.
Khắc phục sự cố
Phần tiêu đề “Khắc phục sự cố”- Container mới thoát ngay khi khởi động: đọc
docker compose logs app. Migration thất bại sẽ dừng quá trình khởi động vớimigrate: …; hãy khôi phục bản sao lưu và báo lỗi kèm phiên bản phát hành. - Thẻ phiên bản báo kiểm tra cập nhật thất bại: máy chủ không kết nối được
api.github.com, hoặc GitHub trả về lỗi. Không có gì khác bị ảnh hưởng; lần kiểm tra tiếp theo chạy vào ngày hôm sau. - Bản phát hành mới nhất hiển thị dấu gạch ngang: việc kiểm tra đang tắt hoặc chưa chạy lần nào.
Liên quan
Phần tiêu đề “Liên quan”- Sao lưu và khôi phục
- Quản trị hệ thống: các phần còn lại của Hệ thống và cập nhật.
- Tham chiếu CLI:
migrate,versionvà mọi lệnh khác.