Apache Ivy: указатель на менеджера хранилища - PullRequest
1 голос
/ 21 февраля 2012

Я пытаюсь настроить Ivy для приятной игры с Artifactory (популярным менеджером хранилища) и мне нужно подтверждение, что я иду по правильному пути.

Я предполагаю, что, как только у меня правильно настроен Artifactory на сервере репозитория, я могу просто указать Ivy на какой-либо каталог в ARTIFACTORY_HOME и передать ему ту же информацию, что и обычному преобразователю URL. Таким образом, Artifactory получает информацию (какую команду обрабатывать, имя пользователя и пароль, и т. Д.) И вступает во владение от имени действительного хранилища. (Таким образом, если учетные данные неверны или у пользователя нет разрешения на выполнение запроса, Artifactory отправляет обратно 404 / и т. Д.)

Итак, для начала, если это не так, пожалуйста, поправьте меня!

Так вот что я думаю. В сборке Ant для моего проекта:

<ivy:settings url="http://my-repo-server.com/ivy/settings/ivy-settings.xml"/>

<target name="ivy-resolve">
    <ivy:configure host="http://my-repo-server.com/ivy"
        realm="ivy"
        username="developer" <!-- "developer" is read-only user configured in Artifactory -->
        passwd="38ur84u83j38y83u" <!-- encrypted password provided by Artifactory -->
        override="false"/>
    <ivy:resolve file="ivy.xml" conf="compile"/>
</target>

А затем (на стороне сервера) ivy-settings.xml:

<resolvers>  
    <url name="repo-server">
        <ivy pattern="http://my-repo-server.com/ivy/???"/>
        <artifact pattern="http://my-repo-server.com/ivy/???"/>
    </url>
</resolvers>

Таким образом, когда Ant-сборка разработчика запускает цель ivy-resolve, клиент Ivy знает, куда идти, чтобы найти файл ivy-settings.xml, и настраивает себя, используя developer пользователя и зашифрованный пароль, который я установил в Artifactory.

Единственная проблема, я не уверен, что указать для шаблонов Ivy & Artifact в файле настроек? Я предполагаю, что мне нужно установить для них какой-то каталог, которым управляет Artifactory, но я не уверен, что (в Artifactory мое репо использует макет репо Ivy по умолчанию).

Кроме того, я нарушаю "лучшие практики" Artifactory, размещая файл настроек на сервере репо, как сделал я? Должен ли я поместить его в некоторый управляемый Artifactory (скрытый) каталог? Если да, то где и почему?

В конечном счете, примеры кода помогают мне учиться быстрее и проще (я учусь на графике), поэтому любые программные толчки в правильном направлении чрезвычайно ценятся!

Заранее спасибо!

...