2012-05-02 26 views
5

Tôi đang cố gắng tìm một cách để tôi có thể viết một tập lệnh bash sẽ tự động kéo từ Kho lưu trữ Github Riêng tư của chúng tôi mỗi nửa đêm và cập nhật trang web phát triển của chúng tôi.Bash Script để Đẩy/Kéo từ Kho lưu trữ Git Riêng tư?

Repo của chúng tôi là riêng tư vì những lý do rõ ràng và mọi thứ gần tôi thấy luôn yêu cầu cụm mật khẩu. Máy chủ của chúng tôi có Tài khoản Github của riêng nó mà nó sử dụng để đẩy và kéo từ kho lưu trữ nhưng tôi chỉ không biết cách thực hiện điều đó một cách tự động.

Có ai có thể chỉ cho tôi đúng hướng không?

Trả lời

7

Để tự động đẩy/kéo, bạn cần thiết lập xác thực không cần mật khẩu. Để làm như vậy, bạn sử dụng ssh (thay vì https). Nếu bạn chưa từng sử dụng ssh với github, hoặc trước hết, bạn sẽ cần thực hiện một vài bước để cấu hình mọi thứ.

Trên máy tính của bạn, tạo ra một chìa khóa ssh:

$ ssh-keygen -t rsa 

Hãy chắc chắn rằng bạn để trống ô mật khẩu. Điều này để lại khóa riêng của địa phương không được mã hóa, nhưng không kém an toàn cho giao tiếp thực tế qua internet.

Sau đó, tải lên ~/.ssh/id_rsa.pub để github trong Cài đặt tài khoản | Khóa SSH

Bây giờ bạn sẽ có thể đẩy và kéo từ máy đó mà không cần mật khẩu. Hãy dùng thử:

git clone [email protected]:user/repo.git 

Sau đó, bạn có thể đặt các lệnh này trong tập lệnh bash của bạn nếu thích hợp. Nếu bạn cần thực hiện việc này cho nhiều máy, bạn cần phải tải lên mỗi khóa hoặc sao chép khóa cá nhân (~/.ssh/id_rsa) vào mỗi máy.

Xem github help để biết thêm thông tin. Ngoài ra, hãy xem trang deploy keys, vì điều đó có thể cung cấp độ chi tiết bảo mật tốt hơn cho trường hợp của bạn.

+0

Còn về "git pull" thì sao? Tôi nhân bản khi nó được công khai, bây giờ nó là riêng tư, và tôi không thể cập nhật. Cảm ơn! –

+1

'git pull' không khác với' git clone', mặc dù bạn có thể tùy chọn thiết lập [url kéo và đẩy khác] (https://www.kernel.org/pub/software/scm/git/docs/git- remote.html). Tôi khuyên bạn nên kiểm tra cấu hình 'git remote' để đảm bảo url của bạn được thiết lập chính xác. – djs

Các vấn đề liên quan