# Пакетный репозиторий ## Основные приниципы * Репозиторий предлагает работу с пакетами как с конструктором. * Пакеты разделены на уровни в соотвествии с уровнем их абстракции. Цифра в начале названия пакета указывает на уровень абстракции. 0 - самый высокий уровень, 9 - самый низкий. * Пакет с высоким уровнем абстракции может использоваться ТОЛЬКО в пакетах с более низким уровнем абстракции. ![схема](./images/Схема.jpg) # Установщики и пакеты ## Установка Docker * sudo apt install apt-transport-https ca-certificates curl software-properties-common * curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - * sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" * apt-cache policy docker-ce * sudo apt install docker-ce * sudo systemctl status docker ## Установка verdaccio #### *требуются дополнительные настройки* ### Скачиваем образ * docker pull verdaccio/verdaccio ### Запуск под docker volume * docker volume create --name verdaccio-storage * docker run -d --name verdaccio -p 4873:4873 --restart unless-stopped -v verdaccio-storage:/verdaccio verdaccio/verdaccio ### Volume в локальной папке * mkdir verdaccio * mkdir verdaccio/storage * sudo chmod a+rwx ./verdaccio * sudo chmod a+rwx ./verdaccio/storage * docker run -d --name verdaccio -p 4873:4873 --restart unless-stopped -v /data/verdaccio/storage:/verdaccio/storage verdaccio/verdaccio ## Работа с npm ### Создать пользователя и зарегестрироваться * npm adduser --registry https://vniac.ru:4873/ * Пример login: vbuglov, password: *****, email: test@test.tets ### Переключение регестри. #### Будет работать только npm; yarn не чувствует авторизацтию * npm set registry https://vniac.ru:4873/ * yarn config set registry https://vniac.ru:4873/ (обычно не требуется) #### Вернуть регистри назад * npm set registry https://registry.npmjs.org/ #### Установки из регистри * npm install 5-test-package --registry=https://vniac.ru:4873/ ## Создание npm auth token * npm login --registry https://vniac.ru:4873/ * npm token list --registry https://vniac.ru:4873/ * npm token create --registry https://vniac.ru:4873/ ## Публикация пакета * npm config set registry http://$NPM_REGISTRY * npm config set //$NPM_REGISTRY:_authToken=$NPM_TOKEN *(для работы из гита)* * npm publish --tag latest ## Публикация пакета из гитлаба * npm config set registry https://vniac.ru:4873/ * npm config set https://vniac.ru:4873:_authToken=d16uS0wqLkS97/E98V2pgtL3EY3C+0aThqUkrzIIhI4= * npm publish --tag latest ## Установка пакета из репозитория * npm install 1-toolkits-helpers --registry=https://vniac.ru:4873/ ## History 1 * docker login cr.selcloud.ru * docker login -u token -p CRgAAAAAsYBrOCPNnU4w5lpyWvBUqBJZc10Zx2Vk cr.selcloud.ru/test * docker pull cr.selcloud.ru/test/serverx:v0.0.1 * ls * docker images * docker run ca9acef541e4 * docker run -p 8080:80 ca9acef541e4 * history * exit * ssh-keygen -t rsa * ssh-copy-id root@31.41.155.24 * ssh 'root@31.41.155.24' * cat .ssh/id_rsa * history ## History 2 * 1 exit * 2 sudo apt install apt-transport-https ca-certificates curl software-properties-common * 3 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - * 4 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" * 5 apt-cache policy docker-ce * 6 sudo apt install docker-ce * 7 sudo systemctl status docker * 8 docker ps * 9 docker login cr.selcloud.ru * 10 docker login -u token -p CRgAAAAAh1ym3ZjMpOFRRiZUeVgVRTDWe2a-Xjaa cr.selcloud.ru/learn-registry * 11 docker pull cr.selcloud.ru/learn-registry/learnbuild:v0.0.1 * 12 ls * 13 docker images * 14 docker run -d -p 4040:80 --rm --name cr.selcloud.ru/learn-registry/learnbuild cr.selcloud.ru/learn-registry/learnbuild * 15 docker run -d -p 4040:80 --rm 8e7dfb4cfe29 * 16 $ ssh-keygen -t rsa * 17 ssh-keygen -t rsa * 18 ls * 19 ls .ssh/ * 20 cd .ssh/id_rsa * 21 cat .ssh/id_rsa * 22 ssh root@185.91.52.59 * 23 docker ps * 24 docker stop ff9cb826bbec * 25 docker ps * 26 cat .ssh/id_rsa * 27 history