Size: a a a

2020 August 10

ИС

И С in ru_gitlab
Пытался через пост, но там он говорит, что 404

curl -v --request POST --header "PRIVATE-TOKEN: ${PRIVATE_TOKEN}" "https...

<h1>
   404
 </h1>
 <div class="container">
   <h3>The page could not be found or you don't have permission to view it.</h3>
   <hr />
источник

ИС

И С in ru_gitlab
Andrey Gumilev
Приватный проект?
Да, приватный
источник

AG

Andrey Gumilev in ru_gitlab
И С
Добрый день!

Хочу скачать последний артефакт. Нашел в доке вот такой запрос

https://example.com/<namespace>/<project>/-/jobs/artifacts/<ref>/download?job=<job_name>

Подставил все переменные. Внутри джобы отправляю запрос

curl -v ".../artifacts/TEST/download?job=compile"

А он мне говорит
<html><body>You are being <a href="https://git.do.x5.ru/users/sign_in">redirected</a>.</body></html>

Вопрос: че делать то? Как ему передать авторизацию? Там же обычный гет запрос используется. Через него же вроде бы нельзя передать header. Ну, я пытался, но чет не получилось.
На самом деле тут нужно 2 запроса , 1-вычисляешь джоб ИД, 2 скачиваешь
источник

AG

Andrey Gumilev in ru_gitlab
И С
Пытался через пост, но там он говорит, что 404

curl -v --request POST --header "PRIVATE-TOKEN: ${PRIVATE_TOKEN}" "https...

<h1>
   404
 </h1>
 <div class="container">
   <h3>The page could not be found or you don't have permission to view it.</h3>
   <hr />
JOB_ID=$(curl -k --location --header "PRIVATE-TOKEN: $MY_TOKEN" "https://gitlab-my.ru/api/v4/projects/$CI_PROJECT_ID/repository/commits/$CI_COMMIT_SHA/statuses" | jq '.[] | select(.name == "build" and .status == "success") | .id')
echo "$JOB_ID"
if [ -z "$JOB_ID" ]; then
 echo "build failed"
 exit 1
else
       curl -k --output my_art.art --location --header "PRIVATE-TOKEN: $MY_TOKEN" "https://gitlab-my.ru/api/v4/projects/$CI_PROJECT_ID/jobs/$JOB_ID/artifacts/my_art.art"
fi
exit 0
источник

AG

Andrey Gumilev in ru_gitlab
например так
источник

ИС

И С in ru_gitlab
Andrey Gumilev
На самом деле тут нужно 2 запроса , 1-вычисляешь джоб ИД, 2 скачиваешь
https://gitlab-my.ru/api/v4/projects/$CI_PROJECT_ID/jobs/$JOB_ID/artifacts/my_art.art"

Что-то не видел такой формат ссылки. Сейчас попробую
источник

AG

Andrey Gumilev in ru_gitlab
И С
https://gitlab-my.ru/api/v4/projects/$CI_PROJECT_ID/jobs/$JOB_ID/artifacts/my_art.art"

Что-то не видел такой формат ссылки. Сейчас попробую
Это если не архив
источник

ИС

И С in ru_gitlab
Andrey Gumilev
Это если не архив
у меня как раз jar
источник

AG

Andrey Gumilev in ru_gitlab
И С
у меня как раз jar
источник

AG

Andrey Gumilev in ru_gitlab
Если архив
источник

AG

Andrey Gumilev in ru_gitlab
Сути не меняет
источник

ИС

И С in ru_gitlab
@Agumilev в общем через Download the artifacts archive чет 404 находил, а вот твой первый метод сработал. Спасибо!
источник

ИС

И С in ru_gitlab
Даже не смотря на то, что это jar
источник

AG

Andrey Gumilev in ru_gitlab
И С
Даже не смотря на то, что это jar
джар это файл
источник

AG

Andrey Gumilev in ru_gitlab
Архив это несколько файлов
источник

AG

Andrey Gumilev in ru_gitlab
или один
источник

AG

Andrey Gumilev in ru_gitlab
Но скачивание именно всего содержания артифактов джобы
источник

VS

Vladislav 👻 Shishkov... in ru_gitlab
Andrey Gumilev
джар это файл
Технически это архив, но ладно 😬
источник

AG

Andrey Gumilev in ru_gitlab
Vladislav 👻 Shishkov
Технически это архив, но ладно 😬
не в разрезе гитлаба , тут это одиночный файл
источник

AG

Andrey Gumilev in ru_gitlab
и не важно хоть Тар
источник