Търся правилния или достъпен начин за обработка и съхранение на артефакти
Използвам Gitlab CI/CD като метод за планиране и разгръщане на тераформа. Имам два етапа: plan
и apply
.
В етап „план“ той създава файла на плана за директория на проекта и в края съхранява артефактите на всяка директория на проекта. Така че файловете на плана, които са създадени, и файл, който съдържа списък с директории, които са били стартирани.
За да могат потребителите да приложат промените, те трябва да подадат заявка за сливане и след като бъде одобрена, тя ще бъде срещу основния клон.
Това изпълнява етап apply
, където в идеалния случай това, което искам да направи, е да издърпа артефакта и да го приложи.
Освен защото сега това е тръбопровод, който се движи по главния клон, няма артефакт, който да се свали.
curl -k --location --header "PRIVATE-TOKEN:super_secret_token" "https://gitlab.my_domain.tld/api/v4/projects/2/jobs/artifacts/my_source_branch_name/download?job=terraform_plan" -o artifact.zip
Замяна на my_source_branch_name с $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME от предварително дефинираните променливи. Освен ако клонът бъде изтрит, тъй като това е опция в заявката за сливане, той не може да го изтегли.
Така че единственият ми залог е да направя нещо като външно хранилище на артефакт, където мога да предам името на клона като структура на папки? Освен ако няма нещо друго, което мога да направя с Gitlab?
Или може би просто съм се отклонил от идеи.