Archiva provides a rudimentary user management through the web
interface. I.e., you need to create a user and assign the user roles
that allow read access (Repository Observer) or write access (Repository
Manager). So, you will need the <server>s.
You didn't mention deployment originally. If you want to deploy to
Archiva, you'll need to define repositories in your settings.xml. Here's
what I have;
In Archiva;
3 Managed repositories; "internal", "dev" and "cm".
2 users; "m2repo" is Global Observer, and "dev" Manager,
"cmadmin" is Global Observer, and "cm" Manager,
6 Remote Repositories that are proxy connected to "internal"
In settings.xml; Note that some sections get commented in/out
depending on whether you are a developer or cmadmin.
<settings>
<!-- server for repo deployment. -->
<servers>
<server>
<id>internal</id>
<username>m2repo</username>
<password>m2repo-public-password</password>
</server>
<!-- CM users have a secret password to have read/write access in the CM
repo -->
<!--server>
<id>cm</id>
<username>cmadmin</username>
<password>cmadmin-secret-password</password>
</server-->
<!-- developers use a group password to have read-only access in the CM
repo -->
<server>
<id>cm</id>
<username>m2repo</username>
<password>m2repo-public-password</password>
</server>
<server>
<id>dev</id>
<username>m2repo</username>
<password>m2repo-public-password</password>
</server>
</servers>
<!-- To use the repo, we need to add it to an active profile -->
<profiles>
<profile>
<id>myProfile</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>cm</id>
<name>CM Maven2 Repo</name>
<url>http://m2repo/archiva/repository/cm</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>dev</id>
<name>Development Maven2 Repo</name>
<url>http://m2repo/archiva/repository/dev</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<!-- CM users deploy build artifacts to the CM repo -->
<!--properties>
<deploy.id>cm</deploy.id>
<deploy.url>http://m2repo/archiva/repository/cm</deploy.url>
</properties-->
<!-- Developers deploy build artifacts to the development repo -->
<properties>
<deploy.id>dev</deploy.id>
<deploy.url>http://m2repo/archiva/repository/dev</deploy.url>
</properties>
</profile>
</profiles>
<mirrors>
<mirror>
<mirrorOf>*</mirrorOf>
<name>Archiva Mirror Repository</name>
<url>http://m2repo/archiva/repository/internal</url>
<id>internal</id>
</mirror>
</mirrors>
</settings>
In individual POMs, I use this construct so, developers and cm publish to their
respective repos, without twiddling with the POMS;
<!--
Use properties from ~/.m2/settings.xml to make sure we publish to the
correct repo
-->
<distributionManagement>
<repository>
<id>${deploy.id}</id>
<name>Archiva M2 Repository</name>
<url>dav:${deploy.url}</url>
</repository>
</distributionManagement>
--CB