Создание нескольких артефактных репозиториев из json - PullRequest
0 голосов
/ 25 сентября 2018

Я хочу автоматизировать процесс импорта структуры существующих репозиториев из другой Артефактории через файл .json.До сих пор мне удалось сделать одно репо из json с помощью следующей команды:

curl -X PUT --insecure -u admin -H "Content-type: application/json" -T repository-config.json "https://artifactory.test.net/artifactory/api/repositories/acqbo-docker-release-local"

Есть ли способ импортировать несколько / массив репозиториев из одного файла json и одного скручивания?

1 Ответ

0 голосов
/ 05 октября 2018

Закончилось написание собственного сценария bash для этой цели.вам нужно будет создать файл с репозиториями, которые вы хотите скопировать:

#!/bin/bash

#############
# This script copies the repository structure from one Artifactory server to another
# repos.list file is required to have repositories that we want to copy, each in new line.
# user with the admin rights is necessary
#############


#Where to copy repos from and to
ARTIFACTORY_SOURCE="https://source.group.net/artifactory/api/repositories/"
ARTIFACTORY_DESTINATION="https://destination.group.net/artifactory/api/repositories/"

NOLINES=$(wc -l < repos.list)   #get total nuber of lines in repos.line
COUNTER=1                       #Set the counter to 1

while [ $COUNTER -le $NOLINES ] #loops times number of lines in the repos.line
do
        REPONAME=$(awk "NR==$COUNTER" repos.list) #get only repo name, line by line

        curl -GET --insecure -u admin:adminpass  "$ARTIFACTORY_SOURCE$REPONAME" > xrep.json  #Obtain data from Artifactory source, repo by repo, and writes it to the xrep.json
        curl -X PUT --insecure -u admin:adminpass -H "Content-type: application/json" -T xrep.json "$ARTIFACTORY_DESTINATION$REPONAME"   #Sends data from json to the destination Artifactory server

        #print in blue color
        printf "\e[1;34m$COUNTER repo done\n\e[0m"


    ((COUNTER++))
done
    printf "\e[1;34mAll repos exported!\n\e[0m"
...