понедельник, 21 декабря 2020 г.

Миграция из Artifactory в Nexus

 Очень мало информации о процессе миграции данных из реп Artifactory  в Nexus.

Номально это происходит (возможно) в полной платной версии, а в бесплатной приходится дико страдать.

Как выглядит процесс переноса данных:

в Artifactory идем в раздел Admin -> Import & Export -> Repositories и выгружаем нужную репу на файловую систему.

1. Репозиторий Yum/Raw загружается в Nexus простой командой:

find . -type f -name '*' -exec curl --user USER:PASS --upload-file {} https://NEXUS_URL/repository/npm-local/{} \;

 

2. NPM репозиторий перенести немного сложнее, нам понадобится контейнер с node js.

Docker-Compose.yml

version: "3"

services:

  node:
    image: "node"
    container_name: "node"
    volumes:
      - "/export/repositories:/export/repositories" # директория, с выгруженными данными из Artifactory
    command: sleep 1d

Команду экспорта можно подставить при запуске контейнера, но я расскажу как это делается руками:

2.1 находим наш контейнер и делаем
docker exec -it CONTAINER bash

2.2 переходим в директорию с экспортнутыми данными и запускаем:

export REPO_URL="https://NEXUS_URL/repository/npm-local/"
npm login --registry=$REPO_URL #авторизуемся в Nexus
#npm whoami --registry=$REPO_URL # проверить авторизацию

find . -type f -not -path '*/\.*' -name '*.tgz' -exec npm publish {} --registry $REPO_URL \;


Может возникнуть проблема с загрузкой NPM пакетов, связанная с безопасностью:

npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://repos.ncloudtech.ru/api/npm/npm-local/@nct%2fapp-switcher - forbidden
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy, or
npm ERR! 403 on a server you do not have access to.


Решается она довольно просто:
находим сбойный пакет, правим в нем файл package.json

  "publishConfig": {
    "registry": "https://NEXUS_URL/api/npm/npm-local/",
  }

Удаляем / изменяем ключ registry и повторяем загрузку данных

Комментариев нет:

Отправить комментарий

Популярные сообщения