Как и большинство читателей этого вопроса, я был совершенно разочарован тем, что нашел способ полностью автоматизировать загрузку ПОСЛЕДНЕГО версионного релиза или репозитория в Github. Преимущество этого решения в том, что вам не нужно указывать какой-либо выпуск или номер тега - оно просто захватит ПОСЛЕДНИЕ .
Я провел тестирование с использованием следующего пользователя и репозитория Github:
" f1linux " = пользователь Github
" pi-ap " = репо
Произвольное имя каталога, в котором хранится репо, задается в:
--one-top-level="pi-ap"
НЕПОСРЕДСТВЕННЫЙ:
Использование «Firefox в Web Developer » инструментов (3 бара в правом верхнем углу), в « сетевом разделе» Я нашел https://api.github.com
был перенаправляю к https://codeload.github.com
, так по конвейеру , curl
чтобы tar
я был в состоянии захватить последний версионный репо и сохранить его на предсказуемое имя так это может быть прооперировано на:
curl https://codeload.github.com/f1linux/pi-ap/legacy.tar.gz/master | tar xzvf - --one-top-level="pi-ap" --strip-components 1
КОСВЕННЫЙ:
После того, как я достиг полностью автоматизированных загрузок последней версии с использованием DIRECT URL, я обратил свое внимание на то же самое с помощью перенаправления Github:
curl -L https://api.github.com/repos/f1linux/pi-ap/tarball | tar xzvf - --one-top-level="pi-ap" --strip-components 1
Предпочитаемый метод:
Тем не менее, обратите внимание, согласно комментарию Вона ниже, что INDIRECT является предпочтительным методом
Дальнейшая проверка:
Чтобы мои результаты можно было воспроизвести для других версий Github-репозиториев, те же тесты были успешно выполнены для doctl
api-инструментария Digital Ocean (именно с этого и началось все упражнение!):
И DIRECT, и INDIRECT работают, используя ту же форму, что и выше, просто меняя имя пользователя и репо:
НЕПОСРЕДСТВЕННЫЙ:
curl https://codeload.github.com/digitalocean/doctl/legacy.tar.gz/master | tar xzvf - --one-top-level="doctl" --strip-components 1
КОСВЕННЫЙ:
curl -L https://api.github.com/repos/digitalocean/doctl/tarball | tar xzvf - --one-top-level="doctl" --strip-components 1