本地仓库 Artifactory 的搭建与使用

3,577 阅读3分钟

准备

本文在 CentOS 7 上进行安装,需要准备以下内容:

JDK 安装

  1. /usr/local 下创建 java 文件夹并进入
cd /usr/local/
mkdir java
cd java
  1. 下载 JDK 安装包,并解压缩
# 2.1 下载安装包
wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz

# 2.2 解压缩

tar -zxvf jdk-8u202-linux-x64.tar.gz
  1. 配置环境变量

编辑 /etc/profile 文件,在尾部追加以下内容并保存

# JDK 8
JAVA_HOME=/usr/local/java/jdk1.8.0_161
CLASSPATH=$JAVA_HOME/lib/ 
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

使环境变量生效

source /etc/profile
  1. 验证是否安装成功
java -version
  1. 如果遇到以下错误,可通过下面方法解决
# Error
/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

原因是缺少一个底层 API,安装即可

yum install glibc.i686

Artifactory 安装

  1. /usr/local 下创建 artifactory 文件夹并进入
cd /usr/local/
mkdir artifactory
cd artifactory
  1. 将下载好的安装包放到里面
[root@centos artifactory]# ls
artifactory-injector-1.1.jar  artifactory-pro-6.6.0.zip
  1. 解压 artifactory-pro-6.6.0.zip 安装包
unzip artifactory-pro-6.6.0.zip
  1. 运行 JAR
java -jar artifactory-injector-1.1.jar

首先运行命令 2,并输入 artifactroy 所在目录

[root@centos artifactory]# java -jar artifactory-injector-1.1.jar 
What do you want to do?
1 - generate License String
2 - inject artifactory
exit - exit
# 执行命令 2
2
where is artifactory home? ("back" for back)
# 输入目录
artifactory-pro-6.6.0

然后运行命令 1,生成密钥并记住

What do you want to do?
1 - generate License String
2 - inject artifactory
exit - exit
# 执行命令 1
1
# 得到密钥,复制一份
eyJhcnRpZmFjdG9yeSI6eyJpZCI6IiIsIm93bmVyIjoicjRwMyIsInZhbGlkRnJvbSI6MTU5MjA5OTA2MDI5NywiZXhwaXJlcyI6NDc0NzgwMTQ2MDI5NiwidHlwZSI6IkVOVEVSUFJJU0VfUExVUyIsInRyaWFsIjpmYWxzZSwicHJvcGVydGllcyI6e319fQ==

至此安装完毕,下面开始运行

Artifactory 运行

  1. 进入 /artifactory-pro-6.6.0/bin 目录,并运行 artifactory.sh
[root@centos bin]# ./artifactory.sh 
  1. 当看到以下内容即代表开启成功
##########################################################
### Artifactory successfully started (47.554 seconds)  ###
##########################################################
  1. 默认端口号为 8081,在浏览器中打开进入(如果是外网访问需要放行端口)

  2. 首先进入引导页面,首先输入之前生成的密钥,进入下一步,设置账户密码

  1. 至此运行成功

Artifactory 使用(以Android为例)

介绍

Artifactory 的存储库(Repositories) 主要有以下几种

  • Local:本地仓库
  • Remote:远程仓库
  • Virtual:虚拟仓库,可以将多个本地或远程仓库合并到一起

创建本地仓库(Local)

  1. 点击右上角的加号➕,选择 Package Typemaven

  1. 指定 Repository Key,这里为 android_local,并保存

  1. 进入菜单 Artifacts 就可以看到刚刚创建的本地存储库了,点击右上角的 Deploy 可以上传本地包

⚠️ 注意

默认会限制上传文件大小为 100MB ,可以进入以下路径修改 Admin => General Configuration => File Upload Max Size (MB)

这里以 gradle 为例

结果如下

创建远程仓库(Remote)

  1. 点击右上角的加号➕,选择 Package Typemaven

  2. 指定 Repository KeyURL ,并保存

这里指定3

  1. 结果如下

创建虚拟仓库(Virtual)

  1. 点击右上角的加号➕,选择 Package Typemaven

  2. 指定 Repository Key,这里为 android_group

  3. 在下面的 Available Repositories 指定需要的存储库,并保存

配置项目

  1. 配置 gradle 下载路径,打开 /项目/gradle/wrapper/gradle-wrapper.properties ,将 distributionUrl 改为 artifactory 地址
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
distributionUrl=https\://<you ip address>:8081/artifactory/android_group/gradle-5.6.4-all.zip
  1. 配置仓库地址,打开 **/项目/build.gradle **文件,修改仓库地址为 artifactory
buildscript {

    repositories {
        
        maven{
            url 'https://<you ip address>:8081/artifactory/android_group/'
        }
        
    }
    
	......

}

allprojects {
    repositories {
        
        maven{
            url 'https://<you ip address>:8081/artifactory/android_group/'
        }

    }
}
  1. 至此配置完毕,重新构建即可