Linux之centos7环境Archiva搭建Maven私服

一、私服及Archiva简介

        私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。
        Apache Archiva是一套可扩展的Artifact Repository管理系统。它能够与Maven,Continuum和ANT等构建工具完美结合。Archiva提供的功能包括:远程Repository代理,基于角色的安全访问管理,Artifact分发、维护、查询,生成使用报告,提供基于Web的管理界面等。

二、安装系统要求

  • 要求JDK版本1.8以上;
  • 磁盘空间没有要求,软件本身只有几十M,私服仓库根据自己开发下载的包相关,个人建议预留100G以上;
  • 支持的操作系统有linux、Mac OS、window等。
    在这里插入图片描述

三、archiva安装步骤

1、首先安装jdk

参照博文安装JDK
https://blog.csdn.net/carefree2005/article/details/111314687

2、登录官网下载程序软件包

打开官网下载软件包,官网地址http://archiva.apache.org/download.cgi

#wget https://mirror.bit.edu.cn/apache/archiva/2.2.5/binaries/apache-archiva-2.2.5-bin.tar.gz

当前最新版本apache-archiva-2.2.5,下载单机版即可。
在这里插入图片描述

3、解压安装包

#tar -zxvf apache-archiva-2.2.5-bin.tar.gz
创建软连接,方便以后升级和日常管理
#ln -s apache-archiva-2.2.5 archiva

4、修改配置文件

#cd archiva/
#vim conf/jetty.xml
默认服务端口8080,可以根据自定需要自行修改
在这里插入图片描述

5、启动archiva服务

[root@test1 archiva]# ./bin/archiva start
Starting Apache Archiva…
启动需要十几秒的时间
在这里插入图片描述

6、web登录控制台

登录http://ip:8080/
看到如下页面说明安装成功,首次等需要创建admin账户
在这里插入图片描述
设置密码和管理员邮箱后保存
在这里插入图片描述

7、默认的Repository

登入后,左侧Administration栏列出了所有常用配置。
点击Reposoitory会看到archiva自带的默认internal repository 和 remote repository
internal repository表示Archive本地的repository,remote repository代表远程的repository。
当maven连接到Archiva的internal repository时,Archiva会先从本地寻找目标,找不到的话再从remote repository上继续寻找。
在这里插入图片描述

8、常用的配置文件目录

%ARCHIVA_HOME%/data 数据文件根目录
%ARCHIVA_HOME%/data/database 里配置了数据库文件,包括用户数据库和系统数据库
%ARCHIVA_HOME%/data/repositories 包含索引信息。如果上传了jar等文件的话,也会保存在这里。
%ARCHIVA_HOME%/logs 存放log文件。

9、开发者maven配置

#cat conf/settings.xml

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository>\Common\my_repository</localRepository>
  <pluginGroups>
  </pluginGroups>
  <proxies>
  </proxies>
        <servers>
                <server>
                  <id>archiva-releases</id>
                  <username>admin</username>
                  <password>admin123</password>
                </server>
                <server>
                  <id>archiva-snapshots</id>
                  <username>admin</username>
                  <password>admin123</password>
                </server>
        </servers>
        <mirrors>
                <!-- 私服地址 start -->
                <mirror> 
                  <id>archiva-releases</id> 
                  <mirrorOf>internal</mirrorOf> 
                  <url>http://192.168.0.124:8080/repository/internal</url> 
                </mirror>
                <mirror> 
                  <id>archiva-snapshots</id>
                  <mirrorOf>snapshots</mirrorOf> 
                  <url>http://192.168.0.124:8080/repository/snapshots</url> 
                </mirror>
        </mirrors>
  <profiles>
      <profile>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <repositories>
        <repository>
          <id>internal</id>
          <name>Archiva Managed Internal Repository</name>
          <url>http://192.168.0.124:8080/repository/internal</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </repository>
        <repository>
          <id>snapshots</id>
          <name>Archiva Managed Snapshots Repository</name>
          <url>http://192.168.0.124:8080/repository/snapshots</url>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
    </profile>
  </profiles>
  <!-- 私服地址END -->
</settings>

四、QA

1、提示密码过期

解决方案:
将archiva/data/databases 下面的users删除掉,登录后按照第6步重设admin账户。

2、将archiva添加到服务

创建archiva命令的软连接
其中/opt/archiva为软件安装主目录

[root@test1 archiva]# ln -sf /opt/archiva/bin/archiva /etc/init.d/archiva
[root@test1 archiva]# service archiva status
Apache Archiva is running (58438).
[root@test1 archiva]# service archiva stop
Stopping Apache Archiva…
Stopped Apache Archiva.
[root@test1 archiva]# service archiva start
Starting Apache Archiva…

猜你喜欢

转载自blog.csdn.net/carefree2005/article/details/112155816