Gitea 28.0.0 chính thức ra mắt: Bỏ tiền tố 1., bổ sung audit log, tài khoản bot và nhiều tính năng bảo mật
Gitea vừa phát hành phiên bản 28.0.0 với nhiều thay đổi quan trọng, bao gồm việc loại bỏ tiền tố "1." trong số phiên bản, thêm tính năng ghi log kiểm toán (audit logging), tài khoản bot chuyên dụng, deploy token qua HTTPS và khả năng giả lập người dùng cho quản trị viên. Bản phát hành này cũng chứa nhiều thay đổi phá vỡ tương thích (breaking changes) liên quan đến proxy mạng Git, thời hạn lưu lịch sử Actions và yêu cầu Git 2.25 trở lên.

Gitea vừa chính thức phát hành phiên bản 28.0.0, đánh dấu một cột mốc quan trọng khi dự án mã nguồn mở này lần đầu tiên loại bỏ tiền tố "1." tồn tại từ nhiều năm trong cách đặt số phiên bản. Đây không chỉ là thay đổi về con số, mà còn đi kèm hàng loạt tính năng mới đáng chú ý dành cho quản trị viên và đội ngũ phát triển.
Gitea 28.0.0 ra mắt với nhiều cập nhật quan trọng
Điểm nổi bật của Gitea 28.0.0
Bản phát hành này tập trung vào ba trụ cột chính: quản trị hệ thống, cộng tác mã nguồn và tự động hóa với Actions. Một số tính năng đáng chú ý bao gồm:
- Audit logging: Ghi lại các sự kiện liên quan đến bảo mật và hiển thị chúng trong phần cài đặt quản trị, tổ chức, kho lưu trữ và người dùng
- Tài khoản bot chuyên dụng: Dành riêng cho tự động hóa, xác thực bằng access token, không thể đăng nhập tương tác
- Deploy token qua HTTPS: Tương tự SSH deploy key nhưng dành cho giao thức HTTPS
- Giả lập người dùng (impersonation): Quản trị viên có thể xem hệ thống dưới góc nhìn của một người dùng cụ thể
- Quy tắc phê duyệt code-owner: Chặn merge cho đến khi các quy tắc CODEOWNERS được chấp thuận
- Bộ lọc file diff: Tìm kiếm và lọc file theo phần mở rộng trong pull request
- Giao diện hàng đợi Actions: Xem những gì đang chạy và đang chờ trong build queue
Thay đổi phá vỡ tương thích cần lưu ý
Trước khi nâng cấp, quản trị viên cần đặc biệt chú ý đến các thay đổi có thể ảnh hưởng đến hệ thống đang vận hành.
Proxy nội bộ cho các thao tác mạng Git
Các thao tác migration, mirror và các hoạt động mạng Git khác giờ đây đi qua một proxy nội bộ áp dụng cài đặt egress cho kết nối trực tiếp. Điều này có nghĩa là bạn cần xem lại danh sách cho phép và chặn trước khi nâng cấp. Đặc biệt:
- Preset "external" đã bị loại bỏ
- Để dùng chính sách từ chối mặc định, đặt
EGRESS_MODE = strictvà liệt kê các host được phép - Trong chế độ mặc định (lax),
ALLOWED_HOST_LISTkhông còn giới hạn các host công khai nữa - Các mục nhập địa chỉ IP không còn chấp nhận wildcard
Lịch sử chạy Actions hết hạn
Các lần chạy Actions đã hoàn thành giờ đây sẽ tự động bị xóa sau 400 ngày theo mặc định, cùng với job, log và artifact của chúng. Nếu muốn giữ lại toàn bộ, bạn cần đặt cấu hình sau trước khi nâng cấp:
[actions]
RUN_RETENTION_DAYS = 0
Giá trị 0 giờ đây có nghĩa là "giữ mãi mãi" cho các thiết lập RUN_RETENTION_DAYS, LOG_RETENTION_DAYS và ARTIFACT_RETENTION_DAYS.
Yêu cầu Git 2.25 trở lên
Gitea sẽ từ chối khởi động nếu phiên bản Git thấp hơn 2.25.0. Nếu bạn tự cài đặt Git, hãy kiểm tra bằng lệnh git --version trước khi nâng cấp.
Tự đăng ký bị tắt mặc định
Tính năng tự đăng ký giờ đây bị vô hiệu hóa trừ khi bạn đặt rõ ràng [service] DISABLE_REGISTRATION = false. Bên cạnh đó, Gitea không còn đọc [server] DOMAIN nữa — tên miền của instance, bao gồm cả miền SSH mặc định, giờ đây lấy từ ROOT_URL.
"Chúng tôi xin chân thành cảm ơn những người đã đóng góp cho dự án bằng cách gửi bản vá mã nguồn, báo cáo lỗi, dịch thuật và hỗ trợ chúng tôi bằng nhiều cách khác." — Nhóm phát triển Gitea
Cải tiến về quản trị và bảo mật
Tính năng audit logging cho phép ghi lại các sự kiện quan trọng liên quan đến bảo mật, có thể lọc theo actor, hành động và nguồn gốc, đồng thời xuất dưới định dạng JSONL. Mặc định tính năng này tắt và cần bật bằng cấu hình [audit] RECORD_OUTPUT = database. Các sự kiện được lưu trong 30 ngày theo mặc định.
Tính năng audit logging giúp theo dõi hoạt động bảo mật
Bên cạnh đó, Gitea 28.0.0 cũng bổ sung cấu hình Redis dùng chung thông qua mục [redis], giúp đơn giản hóa việc thiết lập một chuỗi kết nối mặc định cho cache, session, queue, global lock và WebSocket pub/sub.
Cải tiến cho lập trình viên
Với đội ngũ phát triển, bản phát hành mang đến nhiều cập nhật hữu ích:
- Tìm kiếm và lọc file trong diff pull request, với bộ lọc phần mở rộng được lưu trong URL để có thể chia sẻ
- Chuyển đổi repository nhanh từ thanh tiêu đề repository
- Loại trừ file khỏi repository được tạo từ template thông qua mục
[exclude]trong.gitea/template - Đóng pull request thông qua tham chiếu đóng như
Fixes: #123 - Sử dụng đồng thời issue tracker nội bộ và bên ngoài, ví dụ với các tham chiếu dạng JIRA-123
Các workflow Actions cũng được đánh giá nghiêm ngặt hơn, với if: cấp job được đánh giá trước khi mở rộng matrix, và hỗ trợ matrix động cùng strategy.max-parallel để giới hạn số lượng job matrix chạy đồng thời.
Lưu ý cho người dùng Việt Nam
Đối với các doanh nghiệp và tổ chức tại Việt Nam đang sử dụng Gitea làm giải pháp quản lý mã nguồn nội bộ — vốn là lựa chọn phổ biến nhờ khả năng tự lưu trữ và tiết kiệm chi phí so với GitHub Enterprise — việc nâng cấp lên 28.0.0 cần được lên kế hoạch cẩn thận. Đặc biệt lưu ý:
- Sao lưu dữ liệu trước khi nâng cấp, sau đó thay thế binary hoặc Docker container và khởi động lại
- Kiểm tra kỹ cấu hình egress nếu hệ thống của bạn có mirror hoặc migration từ các nguồn bên ngoài
- Cập nhật script tải xuống vì tên file không còn mang hậu tố phiên bản OS, ví dụ
gitea-28.0.0-windows-amd64.exe - Các bản build release không còn bao gồm 32-bit x86 hoặc gogit, và Snap không còn được build cho armhf
Bản phát hành này cũng chứa các bản vá bảo mật, tuy nhiên chi tiết sẽ được công bố khoảng một tuần sau để đảm bảo mọi người có thời gian nâng cấp. Người dùng có thể tải Gitea từ trang downloads chính thức và đọc hướng dẫn cài đặt cùng danh sách breaking changes đầy đủ trước khi tiến hành.

