Learn to Set Up An Internal Private Repository For An Organization

We have set up an internal Maven Repository for
our organisation so that the developers are not wasting time in searching and
downloading the required project libraries. This also allows us to have a
single company wide repository for project artifacts. The setup steps are not
too much complicated but we didn't run into several issues while setup the local
repository server (artifactory), for the first time.
When you're using maven at your company, you almost
always want to setup local maven repository as relying on ibiblio for nightly
/ production builds is not a great idea and it takes time to download the
library files if your development team is big. When setting up a local
repository you don't want to setup the entire ibiblio repository
locally as it is huge and has more libraries than you'll ever be using for
your project. Maven-repository (in our case maven artifactory) is a repository
server, which acts as your internal maven repository and downloads jars from
ibiblio or other public maven repositories on demand and store it for
further use in the project builds. And all this is transparent to the
developer running a maven build.
The other neat thing about local maven-repository is
that it allows you to neatly separate and organize jars that might not be
available on ibiblio i.e. the 3rd-party artifacts (some company specific
shared library or a commercial library).
Software requirements to set up the maven repository:
A Quick glance to the steps how we set up our local maven
repository :
- Download the appropriate Artifactory.zip file. You can get it from http://www.jfrog.org/sites/artifactory/latest/. Download
and unzip the file in your directory of choice. We have downloaded
artifactory-1.2.1.zip at our end.
- Lets take the Installation directory as D:\artifactory-1.2.2\artifactory-1.2.2, Extract the
artifactory-1.2.1.zip into the <artifactory-install-directory> directory.
- Create repository configuration file artifactory.config.xml into
<artifactory-install-directory>/etc/ directory and paste the following content in
the artifactory.config.xml file:
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://artifactory.jfrog.org/xsd/1.0.0"
xsi:schemaLocation="http://artifactory.jfrog.org/xsd/1.0.0
http://www.jfrog.org/xsd/artifactory-v1_0_0.xsd">
<!-- Backup every 12 hours -->
<!--<backupCronExp>0 0 /12 * * ?</backupCronExp>-->
<localRepositories>
<localRepository>
<key>private-internal-repository</key>
<description>Private internal repository</description>
<handleReleases>true</handleReleases>
<handleSnapshots>true</handleSnapshots>
</localRepository>
<localRepository>
<key>3rd-party</key>
<description>3rd party jars added
manually</description>
<handleReleases>true</handleReleases>
<handleSnapshots>false</handleSnapshots>
</localRepository>
</localRepositories>
<remoteRepositories>
<remoteRepository>
<key>ibiblio</key>
<handleReleases>true</handleReleases>
<handleSnapshots>false</handleSnapshots>
<excludesPattern>org/artifactory/**,org/jfrog/**</excludesPattern>
<url>http://repo1.maven.org/maven2</url>
<proxyRef>proxy1</proxyRef>
</remoteRepository>
<remoteRepository>
<key>ibiblio.org</key>
<description>ibiblio.org</description>
<handleReleases>true</handleReleases>
<handleSnapshots>false</handleSnapshots>
<excludesPattern>org/artifactory/**</excludesPattern>
<url>http://www.ibiblio.org/maven2</url>
<proxyRef>proxy1</proxyRef>
</remoteRepository>
<remoteRepository>
<key>java.net</key>
<description>java.net</description>
<handleReleases>true</handleReleases>
<handleSnapshots>false</handleSnapshots>
<excludesPattern>org/artifactory/**,org/jfrog/**</excludesPattern>
<url>http://download.java.net/maven/2</url>
<proxyRef>proxy1</proxyRef>
</remoteRepository>
</remoteRepositories>
<proxies>
<proxy>
<key>proxy1</key>
<host>192.168.10.80</host>
<port>9090</port>
<username></username>
<password></password>
<domain>192.168.10.80</domain>
</proxy>
</proxies>
</config>
|
At our end we are using squid proxy server to connect with the
internet. Our artifactory repository server will connect to internet
through squid proxy server running on the machine 192.168.10.80 at port
9090. You can also use artifactory server without proxy. We have made two
local and three remote repositories.
-
Download and install tomcat 6.0 on your machine.
- Copy artifactor.war from artifactory-1.2.1\webapps to the webapps folder
of your installed tomcat directory.
- Specify the local artifactory installation folder to the tomcat
environment.
Go to Start-->Programs --> Apache Tomcat 6.0-->
Configure Tomcat and specify the installation folder to the
Java Options.
-Dartifactory.home=<artifactory-install-directory>
- Now start the tomcat and configure your clients to use maven artifactory
repository.
- To access the admin control panel type http://<server>:<port>/artifactory
and login as User: admin and Password: password.

|