Giống như hầu hết truy cập câu hỏi này, tôi hoàn toàn thất vọng với việc tìm cách tự động hóa hoàn toàn việc tải xuống phiên bản LATEST hoặc phiên bản repo trong Github. Lợi ích của giải pháp này là bạn không phải chỉ định bất kỳ bản phát hành hoặc số thẻ nào - nó sẽ chỉ lấy LATEST .
Tôi đã tiến hành thử nghiệm bằng cách sử dụng & repo người dùng Github sau đây:
" F1linux " = Người dùng Github
" pi-ap " = Repo
Tên thư mục tùy ý mà repo được lưu vào được đặt trong:
--one-top-level="pi-ap"
THẲNG THẮN:
Sử dụng Firefox " Web Developer tools" (3 quầy bar ở góc trên bên phải), trong " Mạng " phần tôi thấy https://api.github.com
được chuyển hướng đến https://codeload.github.com
, vì vậy bằng đường ống curl
để tar
tôi có thể lấy mới nhất repo phiên bản và lưu nó vào một tên dự đoán được nên nó có thể được vận hành trên:
curl https://codeload.github.com/f1linux/pi-ap/legacy.tar.gz/master | tar xzvf - --one-top-level="pi-ap" --strip-components 1
GIÁN TIẾP:
Sau khi tôi đạt được các bản tải xuống hoàn toàn tự động của bản phát hành phiên bản mới nhất bằng URL TRỰC TIẾP , tôi chuyển sự chú ý của mình để đạt được điều tương tự với chuyển hướng của Github:
curl -L https://api.github.com/repos/f1linux/pi-ap/tarball | tar xzvf - --one-top-level="pi-ap" --strip-components 1
Phương pháp ưa thích:
Tuy nhiên, xin lưu ý theo nhận xét của Von bên dưới rằng INDIRECT là phương pháp ưa thích
Xác nhận thêm:
Để đảm bảo kết quả của tôi có thể được lặp lại với các repos Github được phiên bản khác, các thử nghiệm tương tự đã được thực hiện thành công cho Digital Ocean doctl
bộ công cụ api (thực sự đã bắt đầu toàn bộ bài tập!):
Cả TRỰC TIẾP và INDIRECT đều hoạt động bằng cách sử dụng cùng một hình thức như trên, chỉ cần thay đổi tên người dùng & repo:
THẲNG THẮN:
curl https://codeload.github.com/digitalocean/doctl/legacy.tar.gz/master | tar xzvf - --one-top-level="doctl" --strip-components 1
GIÁN TIẾP:
curl -L https://api.github.com/repos/digitalocean/doctl/tarball | tar xzvf - --one-top-level="doctl" --strip-components 1