Nexus
REST
Первичное создание тега
curl -k -s -u "$USERNAME:$PASSWORD" -X POST "https://$URL/service/rest/v1/service/rest/v1/script/getVersion/run" \
-H "accept: application/json" \
-H "Content-Type: text/plain" \
-d "{\"version\":\"$VERSION\"}"
Публикация компонента с теггированием
curl -k -u "$USERNAME:$PASSWORD" -X POST "https://$URL/service/rest/v1/components?repository=$PROJECT_NAME-maven-test" \
-F groupId=$GROUP_ID \
-F artifactId=$APP_NAME \
-F version=$VERSION \
-F asset1=@$APP_NAME-$VERSION.zip \
-F asset1.extension=zip \
-F tag=ver-$VERSION
Теггирование образа Docker
curl -k -u "$USERNAME:$PASSWORD" -X POST "https://$URL/service/rest/v1/script/addVersionTagToDocker/run" \
-H "accept: application/json" \
-H "Content-Type: text/plain" \
-d "{\"repoName\":\"$PROJECT_NAME-docker-test\",\"versionTag\":\"ver-$VERSION\",\"images\":\"$DOCKER_IMAGE\"}"
Стейджинг всех теггированных компонетов репозитория
curl -k \
-u "$USERNAME:$PASSWORD" \
-X POST "https://$URL/service/rest/v1/script/staging/run" \
-H "accept: application/json" \
-H "Content-Type: text/plain" \
-d "{\"repoName\":\"$REPOSITORY\",\"version\":\"$VERSION\"}"
Поиск компонентов по TAG
curl -s -u '$USERNAME:$PASSWORD' -X 'GET' \
'https://$URL/service/rest/v1/search/assets?repository=$REPOSITORY&tag=$TAG_VERSION' \
-H 'accept: application/json' | jq -r '.items[] | .downloadUrl'