2.6 KiB
2.6 KiB
Gitea Actions - Sync README Files
Workflow này tự động đồng bộ các file README.md từ repository này sang một repository công khai khác.
Cấu hình
1. Thiết lập Secrets trong Gitea
Vào Settings > Secrets của repository và thêm 2 secrets sau:
TARGET_REPO_URL: URL của repository đích (ví dụ:https://gitea.example.com/username/public-repo.git)TOKEN_ACTION_PUBLIC_README: Token có quyền push vào repository đích
2. Tạo Token trong Gitea
- Vào Settings > Applications > Generate New Token
- Đặt tên token (ví dụ: "README Sync Token")
- Chọn quyền:
write:repositoryhoặcrepo - Copy token và lưu vào secret
TOKEN_ACTION_PUBLIC_README
3. Cách hoạt động
Workflow sẽ tự động chạy khi:
- Push events: Có push vào các branch
mainhoặcmaster(sau khi PR được merge) - Pull Request events: Có PR mới, cập nhật, hoặc reopen vào
main/mastervới thay đổi file.md - Manual trigger: Chạy thủ công qua Actions > Sync README files > Run workflow
Lưu ý quan trọng:
- Khi chạy trên PR event: Workflow sẽ validate và chuẩn bị files nhưng KHÔNG push vào repo đích (chỉ để preview)
- Khi chạy trên Push event (sau khi merge): Workflow sẽ push files vào repo đích
4. Cấu trúc file được sync
- File
readme.mdhoặcREADME.mdở root → được copy thànhREADME.mdở root của repo đích - Các file
README.mdtrong các thư mục con → được copy vàodocs/của repo đích, giữ nguyên cấu trúc thư mục
5. Kiểm tra kết quả
Sau khi workflow chạy:
- Vào tab Actions để xem log
- Kiểm tra repository đích để xác nhận các file đã được sync
Troubleshooting
Lỗi: "TARGET_REPO_URL secret is not set"
- Kiểm tra đã thêm secret
TARGET_REPO_URLchưa - Đảm bảo tên secret chính xác (case-sensitive)
Lỗi: "Failed to clone target repository"
- Kiểm tra URL repository đích có đúng không
- Kiểm tra token có quyền đọc repository không
- Đảm bảo repository đích là public hoặc token có quyền truy cập
Lỗi: "Push failed"
- Kiểm tra token có quyền push vào repository đích
- Kiểm tra branch mặc định của repository đích (main/master)
Tùy chỉnh
Nếu cần thay đổi:
- Branch trigger: Sửa phần
branchestrong workflow - File pattern: Sửa phần
pathstrong workflow - Target directory: Sửa phần copy files trong step "Find and copy README files"