Hướng dẫn cập nhật hệ thống
Tài liệu này cung cấp các phương pháp cập nhật và các phương pháp hay nhất cho hệ thống 88API để đảm bảo nâng cấp suôn sẻ lên phiên bản mới nhất.
Chuẩn bị trước khi cập nhật
Trước khi cập nhật hệ thống, nên thực hiện các bước chuẩn bị sau:
- Dữ liệu dự phòng: Sao lưu cơ sở dữ liệu và các file cấu hình quan trọng
- Kiểm tra nhật ký cập nhật: Xem lại các bản cập nhật của phiên bản mới nhất trên Bản phát hành GitHub
- Kiểm tra tính tương thích: Xác nhận xem phiên bản mới có tương thích với các plugin, tiện ích tích hợp hoặc cấu hình tùy chỉnh hiện có của bạn không
- Chọn thời điểm phù hợp: Thực hiện cập nhật vào giờ thấp điểm để giảm thiểu ảnh hưởng đến người dùng
Phương thức cập nhật triển khai Docker
Phương pháp thứ nhất: Cập nhật triển khai vùng chứa đơn
Nếu bạn đã triển khai 88API bằng một bộ chứa Docker duy nhất, bạn có thể cập nhật bằng cách làm theo các bước sau:
# Pull the latest image
docker pull calciumion/new-api:latest
# Stop and remove the old container
docker stop new-api
docker rm new-api
# Run the container again with the same parameters
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e TZ=Asia/Shanghai \
-v /your/data/path:/data \
calciumion/new-api:latestChú ý
Hãy đảm bảo rằng bạn sử dụng các tham số tương tự như vùng chứa ban đầu khi bắt đầu vùng chứa mới, đặc biệt là đối với ổ đĩa và môi trường cấu hình thay đổi.
Phương pháp thứ hai: Sử dụng Docker Compose để cập nhật
Nếu bạn đang sử dụng Docker Compose để triển khai (xem Hướng dẫn cấu hình Docker Compose), quá trình cập nhật sẽ đơn giản hơn:
# Enter the project directory
cd new-api
# Pull the latest image
docker compose pull
# Stop and restart the service
docker compose down
docker compose up -dHoặc sử dụng lệnh ngắn gọn hơn:
docker compose pull && docker compose down && docker compose up -dPhương pháp thứ ba: Sử dụng Bảng điều khiển 1Panel để cập nhật
Nếu bạn đã triển khai bằng bảng 1Panel, bạn có thể cập nhật bằng cách làm theo các bước sau:
- Đăng nhập vào bảng 1Panel, vào App Store -> Trang có thể nâng cấp
- Tìm ứng dụng 88API và nhấp vào nút Nâng cấp
- Chọn Phiên bản mục tiêu để nâng cấp lên
- Bấm vào nút Xác nhận, hệ thống sẽ tự động pull hình ảnh mới nhất và nâng cấp ứng dụng
Phương pháp thứ tư: Sử dụng BaoTa Panel để cập nhật
Nếu bạn đã triển khai bằng bảng BaoTa, bạn có thể cập nhật bằng cách làm theo các bước sau:
- Đăng nhập vào bảng BaoTa, vào Docker Management -> Container List
- Tìm vùng chứa 88API, nhấp vào Thêm -> Tạo lại
- Chọn tùy chọn Kéo hình ảnh mới nhất, đảm bảo các cấu hình khác không thay đổi
- Nhấp vào Gửi, hệ thống sẽ tự động lấy hình ảnh mới nhất và tạo lại vùng chứa
Phương pháp cập nhật để biên dịch mã nguồn
Nếu bạn đã triển khai 88API bằng cách biên dịch từ mã nguồn thì các bước cập nhật như sau:
# Enter the project directory
cd new-api
# Pull the latest code
git pull
# Build the backend
go build -o new-api
# Update and build the frontend
cd web
bun install
bun run build
cd ..
# Restart the service
./new-api --port 3000Chiến lược cập nhật để triển khai nhiều nút
Đối với môi trường triển khai nhiều nút, chiến lược cập nhật sau được khuyến nghị:
- Cập nhật nút phụ trước: Bắt đầu bằng cách cập nhật một nút phụ và kiểm tra tính ổn định của nó
- Triển khai dần dần: Sau khi xác nhận tính ổn định của nút phụ, hãy cập nhật từng nút phụ còn lại
- Cập nhật nút chính lần cuối: Sau khi tất cả các nút phụ chạy ổn định, hãy cập nhật nút chính
Chiến lược này giảm thiểu nguy cơ gián đoạn dịch vụ.
Hướng dẫn chi tiết
Để có hướng dẫn đầy đủ về triển khai cụm, vui lòng tham khảo Cụm Tài liệu triển khai.
Danh sách kiểm tra sau cập nhật
Sau khi cập nhật hệ thống, vui lòng kiểm tra các mục sau để đảm bảo hệ thống hoạt động chính xác:
- Giao diện quản lý truy cập: Xác nhận rằng bạn có thể đăng nhập và truy cập giao diện quản lý bình thường
- Kiểm tra nhật ký: Xem lại nhật ký hệ thống để tìm lỗi hoặc cảnh báo
- Kiểm tra lệnh gọi API: Kiểm tra một số lệnh gọi API để đảm bảo chức năng hoạt động bình thường
- Kiểm tra di chuyển cơ sở dữ liệu: Xác nhận xem cập nhật cấu trúc cơ sở dữ liệu có thành công hay không
- Kiểm tra trạng thái kênh: Xác nhận xem tất cả các kết nối Kênh có bình thường không
Khôi phục phiên bản
Nếu vấn đề phát sinh sau khi cập nhật, bạn có thể quay lại phiên bản ổn định trước đó:
Khôi phục Docker
# Pull a specific image version
docker pull calciumion/new-api:v1.x.x
# Stop and remove the current container
docker stop new-api
docker rm new-api
# Recreate the container with the previous image
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e TZ=Asia/Shanghai \
-v /your/data/path:/data \
calciumion/new-api:v1.x.xKhôi phục mã nguồn
# Enter the project directory
cd new-api
# Switch to a specific version
git checkout v1.x.x
# Build again
go build -o new-api
# Update and build the frontend
cd web
bun install
bun run build
cd ..
# Restart the service
./new-api --port 3000Câu hỏi thường gặp (FAQ)
Dịch vụ không khởi động được sau khi cập nhật
- Kiểm tra nhật ký để tìm thông báo lỗi
- Xác nhận kết nối cơ sở dữ liệu là bình thường
- Xác nhận rằng cấu hình biến môi trường là chính xác
Chức năng bất thường sau khi cập nhật
- Kiểm tra mọi thay đổi về định dạng API
- Kiểm tra xem phiên bản frontend và backend có khớp nhau không
- Xác nhận xem phiên bản mới có yêu cầu cấu hình bổ sung không
Không tương thích cấu trúc cơ sở dữ liệu
- Kiểm tra nhật ký cập nhật để biết hướng dẫn di chuyển cơ sở dữ liệu
- Kiểm tra xem có cần thực thi thủ công các tập lệnh di chuyển cơ sở dữ liệu không
- Liên hệ với nhà phát triển để được hướng dẫn nâng cấp cơ sở dữ liệu
Công cụ cập nhật tự động (Sử dụng thận trọng)
Đối với những người dùng muốn cập nhật tự động, Tháp Canh có thể được sử dụng để cập nhật vùng chứa:
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower -c \
--run-once new-apiChú ý
Cập nhật tự động có thể dẫn đến các sự cố không mong muốn, đặc biệt khi cơ sở dữ liệu các cấu trúc thay đổi. Chỉ nên sử dụng cập nhật tự động trong thử nghiệm môi trường; môi trường sản xuất nên kiểm soát quá trình cập nhật bằng tay.