I'm trying to upgrade librarires and artifacts management in my company. Now we're making artifacts (jar, war, ear files) with ant scripts running from Jenkins. I'd like to add Ivy and Artifactory but I'm a little bit unsure what would be best (or at leats good) configuration. As per documentation, Ivy has three repositories (local, shared and public) and additionaly cache. Reading Artifactory docs, one has to configure Ivy files for Artifactory resolver (not repository?!). My questions are:
- Would that be public repository in Ivy terminology?
- Is Ok tu use only one Artifactory repository for development (we have 4 teams) and deployment pipeline?
What would be (approximate) configuration? Is this ok (public ibiblio + enterprise Artifactory)?
<resolvers> <ibiblio name="libraries" m2compatible="true" /> <url name="arti"> <artifact pattern="http://localhost:8081/artifactory/libs-snapshot-local/[organization]/[module]/[revision]/[artifact]-[revision].[ext]"/> <ivy pattern="http://localhost:8081/artifactory/libs-snapshot-local/[organization]/[module]/[revision]/ivy-[revision].xml" /> </url> </resolvers>
Update on 11th Feb:
Just for the record, here is working configuration:
<credentials host="artifactory.host" realm="Artifactory Realm" username="admin" passwd="password"/>
<resolvers>
<chain name="loc-ext">
<filesystem name="tmp-lib">
<artifact pattern="${ivy.settings.dir}/lib/[artifact].[ext]" />
</filesystem>
<ibiblio name="libraries"
m2compatible="true"
checkmodified="true"
root="http://artifactory.host:8081/artifactory/ext-release-local"
/>
</chain>
<ibiblio name="snapshots"
m2compatible="true"
pattern="[organisation]/[module]/[artifact]-[revision].[ext]"
root="http://artifactory.host:8081/artifactory/libs-snapshot-local"
/>
</resolvers>
Chain resolver is for retrieving (f.e. for compiling), tmp_lib has libraries, that are needed only for current task, libraries is sort of enterprise repository and snapshots is for publishing.