Как удалить все содержимое локального репозитория Artifactory через REST API? - PullRequest
0 голосов
/ 08 мая 2020

Я использую локальный репозиторий в качестве промежуточного репо и хотел бы иметь возможность очистить все промежуточное репо через REST. Как я могу удалить содержимое репо, не удаляя само репо?

1 Ответ

0 голосов
/ 19 мая 2020

Поскольку у меня есть аналогичное требование в одной из моих сред, я хотел бы предоставить возможный подход к решению.

Предполагается, что экземпляр JFrog Artifactory имеет локальный репозиторий с именем JFROG-ARTIFACTORY, в котором хранится последняя версия JFrog Artifactory. Установочные RPM Pro. Для перечисления и удаления я создал следующий сценарий:

#!/bin/bash

# The logged in user will be also the admin account for Artifactory REST API

A_ACCOUNT=$(who am i | cut -d " " -f 1)

LOCAL_REPO=$1
PASSWORD=$2
STAGE=$3
URL="example.com"

# Check if a stage were provided, if not set it to PROD

if [ -z "$STAGE" ]; then
    STAGE="repository-prod"
fi

# Going to list all files within the local repository
# Doc: https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-FileList

curl --silent \
     -u"${A_ACCOUNT}:${PASSWORD}" \
     -i \
     -X GET "https://${STAGE}.${URL}/artifactory/api/storage/${LOCAL_REPO}/?list&deep=1" \
     -w "\n\n%{http_code}\n"
echo

# Going to delete all files in the local repository
# Doc: https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-DeleteItem

curl --silent \
     -u"${A_ACCOUNT}:${PASSWORD}" \
     -i \
     -X DELETE "https://${STAGE}.${URL}/artifactory/${LOCAL_REPO}/" \
     -w "\n\n%{http_code}\n"
echo

Итак, после вызова

./Scripts/deleteRepository.sh JFROG-ARTIFACTORY Pa\$\$w0rd! repository-dev

для экземпляра разработки он перечислил мне все файлы в локальном репозитории с именем JFROG-ARTIFACTORY, установочные RPM-пакеты JFrog Artifactory Pro удалили их, но оставили сам локальный репозиторий.

Вы можете изменить и улучшить сценарий для своих нужд, а также изучить Как я могу полностью удалить артефакты из Artifactory?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...