Nhật ký công việc cho nhiệm vụ "Triển khai cục bộ trang web Ruby ban đầu"

5 сент. 2026 г., 19:23:21

Khởi chạy cục bộ trang web Ruby cũ (legacy) đã hoàn thành

Trang web cũ bizneshelper.ru đã được khởi chạy thành công cục bộ trong Docker.

Cấu hình môi trường legacy đã được xác nhận

  • Ruby on Rails 3.2.21.
  • Máy chủ gốc sử dụng Ruby 2.2.5 thông qua Passenger.
  • Ruby 2.2.10 được sử dụng cho container như là một phiên bản tương thích của cùng nhánh đó.
  • Bundler 1.15.4.
  • MySQL được sử dụng như một dịch vụ bên ngoài đã được khởi chạy sẵn.
  • Trang web được chạy trong môi trường production.

Những việc đã được thực hiện

  • Chuẩn bị Dockerfile cho ngăn xếp (stack) Ruby cũ dựa trên Ruby 2.2.10.
  • Chuyển đổi các nguồn apt cho Debian Jessie sang kho lưu trữ lưu trữ (archive repositories), vì các kho lưu trữ chính thức của phiên bản này không còn khả dụng.
  • Cài đặt các phụ thuộc hệ thống cần thiết để biên dịch các gem legacy và vận hành MySQL/libv8.
  • Thêm dịch vụ bizneshelper vào docker-compose và kết nối nó với dịch vụ MySQL hiện có thông qua các biến môi trường.
  • Cấu hình một cổng cục bộ riêng để truy cập ứng dụng.
  • Thêm hỗ trợ kết nối MySQL qua host thay vì sử dụng Unix socket cục bộ trong database.yml.
  • Hạ cấp phiên bản ckeditor xuống nhánh tương thích với Rails 3.2.
  • Xác nhận rằng sự hiện diện của các thư mục hướng Rails 5 là app/channelsapp/jobs không chặn quá trình khởi động với cấu hình production hiện tại khi đã tắt tính năng tải trước lớp (class loading) chủ động.

Các đặc điểm và rủi ro đã phát hiện

  1. Debian Jessie yêu cầu sử dụng kho lưu trữ lưu trữ và các tham số cài đặt gói đặc biệt.
  2. Một số gem legacy không tương thích với các phiên bản thư viện hiện đại và yêu cầu cố định các phiên bản cũ.
  3. mysql2 thuộc nhánh cũ rất nhạy cảm với môi trường và cách thức kết nối với MySQL.
  4. ckeditor ở phiên bản mới hơn sử dụng API Rails 4+ và do đó phải được cố định ở phiên bản tương thích.
  5. Dự án gốc chứa các thành phần (artifact) của các phiên bản Rails mới hơn, cho thấy các thay đổi mang tính lịch sử của dự án và đòi hỏi sự cẩn trọng khi tự động di chuyển mã nguồn.

Kết quả

Trang web legacy có thể tái tạo khởi chạy cục bộ và sẵn sàng làm tiêu chuẩn cho việc kiểm kê tiếp theo, so sánh hành vi và di chuyển sang haih-cms.

Những việc cần kiểm tra tiếp theo

  • Tính đầy đủ của việc hiển thị các trang chính và biểu mẫu.
  • Hoạt động tìm kiếm với Solr.
  • Tính chính xác khi tải lên các tệp media cũ.
  • Hoạt động của trang quản trị (admin panel).
  • Các định tuyến thực tế, friendly_id và chuyển hướng (redirects).
  • Sự phù hợp của cơ sở dữ liệu cục bộ với cấu trúc dữ liệu ban đầu.

Nhật ký công việc công khai (worklog) không ghi lại mật khẩu, đường dẫn tuyệt đối cục bộ và các tham số môi trường nhạy cảm khác.

05.09.2026

Thiết lập bản sao cục bộ có thể tái tạo của dự án Ruby hiện tại để phân tích, di chuyển và kiểm tra hành vi của trang web cũ.