Как я могу использовать npm-install с параметрами команды --build-name и --build-number как пользователь без прав администратора в CLI JFrog? - PullRequest
0 голосов
/ 06 июня 2018

Описание

Я пытаюсь настроить JFrog Artifactory Pro (v 6.0.1) для хранения и кэширования зависимостей моих проектов.Я хочу использовать JFrog CLI для сбора и публикации информации о npm-сборке в Artifactory, как описано в этом (https://jfrog.com/blog/npm-flies-with-jfrog-cli/) блоге, но я хочу сделать это как не -admin user.

Setup

Artifactory содержит виртуальный репозиторий с именем npm , который представляет собой локальную коллекцию (с именем npm-local *).1014 *) и удаленный (с именем npm-remote ) репозиторий.

Существует два пользователя: пользователь с именем admin , имеющий доступ с правами администратора, и пользователь с именем разработчик , который не имеет прав администратора.

Конфигурация для CLI JFrog:

# create a configuration for the admin
jfrog rt config --user=admin \
    --password=admin \
    --url=http://localhost:8081/artifactory \
    --interactive=false rt_admin

# create a configuration for the developer
jfrog rt config --user=developer \
    --password=developer \
    --url=http://localhost:8081/artifactory \
    --interactive=false rt_dev

Что я делаю

Для этого теста я пытаюсьсоздайте приложение simple-node-js-реагировать-npm-приложение (https://github.com/jenkins-docs/simple-node-js-react-npm-app) и опубликуйте его в локальном репозитории npm в Artifactory, используя следующие команды CLI JFrog:

jfrog rt npm-install npm \
    --build-name=simple \
    --build-number=1.0.0 \
    --server-id=rt_dev

, что приводит к следующемуследующая ошибка непосредственно перед выполнением команды (если ошибки на этапе установки npm игнорируются):

[Info] Collecting dependencies information, this might take several minuets...
[Error] Artifactory response: 400 Bad Request
For permissions reasons AQL demands the following fields: repo, path and name.

Когда я продолжаю с

jfrog rt npm-publish npm \
    --build-name=simple \
    --build-number=1.0.0 \
    --server-id=rt_dev
jfrog rt build-publish simple 1.0.0 --server-id=rt_dev

, недавно опубликованный артефакт имеет нулевую зависимость.

Если публикуется так же, как администратор

jfrog rt npm-install npm \
    --build-name=simple \
    --build-number=1.0.1  \
    --server-id=rt_admin
jfrog rt npm-publish npm \
    --build-name=simple \
    --build-number=1.0.1 \
    --server-id=rt_admin
jfrog rt build-publish simple 1.0.1 --server-id=rt_admin

я получаю более 1000 зависимостей.

Как я могу получить тот же результат, что и пользователь без прав администратора?

1 Ответ

0 голосов
/ 06 июня 2018

Если это поможет, я пытался воспроизвести это поведение, но не смог.Успешно собрал и опубликовал с правами не-администратора, используя CLI (см. Журнал сборки ниже).

В вашем случае вы можете отлаживать CLI JFrog, запустив его на DEBUG .

$ echo "$ARTIFACTORY_URL"
https://arielk.jfrog.io/arielk
$ echo "$ARTIFACTORY_USER"
npm
$ echo "$ARTIFACTORY_NPM_REPOSITORY"
npm
$ chmod 777 jfrog
$ ./jfrog rt config --url=$ARTIFACTORY_URL --user=$ARTIFACTORY_USER --password=$ARTIFACTORY_PASS
Artifactory server ID: [Info] Encrypting password...
$ ./jfrog rt c show
Server ID: Default-Server
Url: https://arielk.jfrog.io/arielk/
User: npm
Password: ***
Default:  true

$ ./jfrog rt npmi $ARTIFACTORY_NPM_REPOSITORY --build-name=gitlabci-npm-artifactory --build-number=$CI_JOB_ID
[Info] Running npm Install.
npm notice created a lockfile as package-lock.json. You should commit this file.
{
  "added": [
    {
      "action": "add",
      "name": "inherits",
      "version": "2.0.1",
      "path": "/builds/ArielKJFrog/NPM-TEST/node_modules/inherits"
    },
    {
      "action": "add",
      "name": "util",
      "version": "0.10.3",
      "path": "/builds/ArielKJFrog/NPM-TEST/node_modules/util"
    },
    {
      "action": "add",
      "name": "assert",
      "version": "1.4.1",
      "path": "/builds/ArielKJFrog/NPM-TEST/node_modules/assert"
    },
    {
      "action": "add",
      "name": "colors",
      "version": "1.3.0",
      "path": "/builds/ArielKJFrog/NPM-TEST/node_modules/colors"
    }
  ],
  "removed": [],
  "updated": [],
  "moved": [],
  "failed": [],
  "warnings": [],
  "elapsed": 3734
}
[Info] Collecting dependencies information, this might take several minuets...
[Info] npm install finished successfully.
$ ./jfrog rt bce gitlabci-npm-artifactory $CI_JOB_ID
[Info] Collecting environment variables...
[Info] Collected environment variables for gitlabci-npm-artifactory/72931109.
$ ./jfrog rt npmp $ARTIFACTORY_NPM_REPOSITORY --build-name=gitlabci-npm-artifactory --build-number=$CI_JOB_ID
[Info] Running npm Publish
npm notice 
npm notice package: gitlabci-npm-artifactory@1.0.0
npm notice === Tarball Contents === 
npm notice 693B    package.json        
npm notice 1.3kB   .gitlab-ci.yml      
npm notice 129B    index.js            
npm notice 20.2MB  jfrog               
npm notice 947B    README.md           
npm notice 497.7kB img/Screen_Shot1.png
npm notice 379.3kB img/Screen_Shot2.png
npm notice 420.0kB img/Screen_Shot3.png
npm notice 490B    test/test.js        
npm notice === Tarball Details === 
npm notice name:          gitlabci-npm-artifactory                
npm notice version:       1.0.0                                   
npm notice filename:      gitlabci-npm-artifactory-1.0.0.tgz      
npm notice package size:  6.8 MB                                  
npm notice unpacked size: 21.5 MB                                 
npm notice shasum:        81be9defef61f0afaa9e9503c17b611f59c90bdb
npm notice integrity:     sha512-bbLIHqj3THLma[...]+UNMCLsnVSQsA==
npm notice total files:   9                                       
npm notice 
gitlabci-npm-artifactory-1.0.0.tgz
[Info] [Thread 2] Uploading artifact: /builds/ArielKJFrog/NPM-TEST/gitlabci-npm-artifactory-1.0.0.tgz
[Info] npm publish finished successfully.
$ ./jfrog rt bag gitlabci-npm-artifactory $CI_JOB_ID
[Info] Collecting git revision and remote url...
[Info] Collected git revision and remote url for gitlabci-npm-artifactory/72931109.
$ ./jfrog rt bp gitlabci-npm-artifactory $CI_JOB_ID
[Info] Deploying build info...
[Info] Build info successfully deployed. Browse it in Artifactory under https://arielk.jfrog.io/arielk/webapp/builds/gitlabci-npm-artifactory/72931109
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...