2008-10-30 32 views
6

Tôi hy vọng một người nào đó sẽ có thể trả lời câu hỏi của tôi.Móc khóa phụ không chấp nhận chứng chỉ vĩnh viễn

Tôi đã thiết lập Subversion, được phục vụ bởi Apache2 + SSL, phát triển web.

Tôi muốn một móc hậu cam kết chạy cập nhật svn trên máy chủ thử nghiệm của tôi, vì vậy khi ai đó cam kết, nó sẽ tự động cập nhật trang web thử nghiệm. Móc không hoạt động vì chứng chỉ là một chứng chỉ tự tạo và không đáng tin cậy.

Tôi đã cố gắng chấp nhận (p) vĩnh viễn, nhưng không.

Bất kỳ ý tưởng nào?

Trả lời

1

Nó có thể là lật đổ đang chạy như một người dùng khác nhau sau đó một trong những bạn đã chấp nhận giấy chứng nhận với khi gọi bằng các móc. Hãy cố gắng tìm ra người dùng (ví dụ: đặt "echo $ USER>/tmp/svn-hook-user" trong tập lệnh móc hậu cam kết) và sử dụng sudo để chấp nhận chứng chỉ với người dùng đó.

Hoặc, hãy xem sách Subversion về cách thiết lập cấu hình của bạn để giấy chứng nhận tự ký được chấp nhận: SSL certificate management.

0

Bạn đang sử dụng sudo hoặc nội dung nào đó trong tập lệnh? Sudo thường làm sạch các biến môi trường để HOME không tồn tại. Bạn phải có thư mục nhà có thể ghi, nơi lật đổ có thể lưu trữ thông tin về chứng chỉ được chấp nhận vĩnh viễn. Vì vậy, đặt HOME biến mình trong đầu của kịch bản và nó sẽ làm việc.

8

root sở hữu thư mục .subversion trong $ HOME của tôi, vì vậy tôi đã xóa nó và chạy lại 'svn up'. Tất cả mọi thứ là tốt bây giờ.

+3

Đã bỏ phiếu vì tôi googled cho câu trả lời này và điều này đã chỉ cho tôi đi đúng hướng. Lỗi '(p)' là do ~/.subversion không thuộc sở hữu của chủ sở hữu hiện tại. sửa nó.nếu nghi ngờ, hãy chạy 'strace e-trace = file svn up' và xem những gì nó âm thầm lỗi khi cố gắng viết –

+1

Tôi đã luôn luôn tự hỏi tại sao SVN sẽ không nhớ mật khẩu đã lưu của tôi hoặc certs đáng tin cậy, và đây là câu trả lời tôi cần . Cảm ơn! –

5

Dưới Linux:

Ở đây tôi cố định vấn đề bằng cách chmodding các tập tin trong $ HOME/.subversion/auth/svn.ssl.server để -rw-r - r--. Rõ ràng, nếu máy chủ nhận được chứng chỉ mới hoặc nâng cấp, Máy chủ sẽ ghi tệp mới nhưng không thêm quyền ghi cho chính nó. với -r - r - r-- quyền các chương trình svn hoạt động, nhưng nó không thể viết cờ "Chấp nhận vĩnh viễn" vào tập tin .. :)

0

Có vấn đề tương tự với cài đặt này trên Window Server với Apache. Bài đăng cam kết hook sẽ thất bại. Tôi không chắc chắn về SVN đứng một mình nhưng tôi sử dụng VisualSVN Server chạy như một dịch vụ Windows. Tài khoản người dùng mặc định cho dịch vụ này là Dịch vụ mạng - Vì vậy, tôi chỉ cần thay đổi tài khoản thành tài khoản quản trị của riêng tôi và mọi thứ đã hoạt động.

0

Khi trang web của bạn nằm trên cùng một máy chủ, hãy sử dụng tệp: /// để kiểm tra kho lưu trữ để tránh kiểm tra chứng chỉ.

svn co file:///path_to/your/repo 
Các vấn đề liên quan