Артефактори - Как пушить рубиновые камни? - PullRequest
0 голосов
/ 25 июня 2019

Как вы помещаете рубиновый камень в хранилище артефактных камней?

когда я пытаюсь сделать толчок, я получаю эту ошибку Method not allowed

gem push active_cube-0.0.9.gem --host https://gems.example.com/artifactory/api/gems/gems/  -k rubygems --verbose
GET https://api.rubygems.org/latest_specs.4.8.gz
200 OK
Getting SRV record failed: DNS result has no information for _rubygems._tcp.gems.internal.mx
GET https://gems.example.com/artifactory/api/gems/gems/latest_specs.4.8.gz
200 OK
Pushing gem to https://gems.example.com/artifactory/api/gems/gems/...
POST https://gems.example.com/artifactory/api/gems/gems//api/v1/gems
405 Method Not Allowed
{
  "errors" : [ {
    "status" : 405,
    "message" : "Method Not Allowed"
  } ]
}

1 Ответ

0 голосов
/ 25 июня 2019

В зависимости от того, как настроен обратный прокси, который находится перед артефактом, вам может потребоваться изменить gems.example.com/artifactory/api/gems/gems/ на gems.example.com/api/gems/gems/

Правильная процедура для

  1. Потяните ключ API
  2. gem push

Используйте curl, чтобы получить ключ api_key и сохранить его в ~/.gem/credentials. (Это переопределит содержимое ~ / .gem / credentials, лучше всего сначала сделать его резервную копию.

cp ~/.gem/credentials ~/.gem/credentials.back

curl -L gems.example.com/api/gems/gems/api/v1/api_key.yaml \ 
-u admin:<correct-horse-battery-staple> > ~/.gem/credentials

Содержимое ~/.gem/credentials будет выглядеть так:

---
:rubygems_api_key: Basic xxxxxxxxxxxxxx

Оттуда используйте gem push. Параметр -k rubygems соответствует строке :rubygems_api_key в файле ~ / .gem / credentials.

gem push active_cube-0.0.9.gem --host https://gems.example.com/api/gems/gems/  -k rubygems --verbose
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...