准备
本文在 CentOS 7 上进行安装,需要准备以下内容:
- JDK 8
- Artifactroy 安装包 点我下载(访问码:9sho)
JDK 安装
- 在 /usr/local 下创建 java 文件夹并进入
cd /usr/local/
mkdir java
cd java
- 下载 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
- 配置环境变量
编辑 /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
- 验证是否安装成功
java -version
- 如果遇到以下错误,可通过下面方法解决
# Error
/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
原因是缺少一个底层 API,安装即可
yum install glibc.i686
Artifactory 安装
- 在 /usr/local 下创建 artifactory 文件夹并进入
cd /usr/local/
mkdir artifactory
cd artifactory
- 将下载好的安装包放到里面
[root@centos artifactory]# ls
artifactory-injector-1.1.jar artifactory-pro-6.6.0.zip
- 解压 artifactory-pro-6.6.0.zip 安装包
unzip artifactory-pro-6.6.0.zip
- 运行 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 运行
- 进入 /artifactory-pro-6.6.0/bin 目录,并运行 artifactory.sh
[root@centos bin]# ./artifactory.sh
- 当看到以下内容即代表开启成功
##########################################################
### Artifactory successfully started (47.554 seconds) ###
##########################################################
默认端口号为 8081,在浏览器中打开进入(如果是外网访问需要放行端口)
首先进入引导页面,首先输入之前生成的密钥,进入下一步,设置账户密码。
- 至此运行成功
Artifactory 使用(以Android为例)
介绍
Artifactory 的存储库(Repositories) 主要有以下几种
- Local:本地仓库
- Remote:远程仓库
- Virtual:虚拟仓库,可以将多个本地或远程仓库合并到一起
创建本地仓库(Local)
- 点击右上角的加号➕,选择 Package Type 为 maven
- 指定 Repository Key,这里为 android_local,并保存
- 进入菜单 Artifacts 就可以看到刚刚创建的本地存储库了,点击右上角的 Deploy 可以上传本地包
⚠️ 注意
默认会限制上传文件大小为 100MB ,可以进入以下路径修改 Admin => General Configuration => File Upload Max Size (MB)
这里以 gradle 为例
结果如下
创建远程仓库(Remote)
点击右上角的加号➕,选择 Package Type 为 maven
指定 Repository Key 和 URL ,并保存
这里指定3个
- google: https://maven.aliyun.com/repository/google
- center: https://maven.aliyun.com/repository/jcenter
- public: https://maven.aliyun.com/repository/public
- 结果如下
创建虚拟仓库(Virtual)
点击右上角的加号➕,选择 Package Type 为 maven
指定 Repository Key,这里为 android_group
在下面的 Available Repositories 指定需要的存储库,并保存
配置项目
- 配置 gradle 下载路径,打开 /项目/gradle/wrapper/gradle-wrapper.properties ,将 distributionUrl 改为 artifactory 地址
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
distributionUrl=https\://:8081/artifactory/android_group/gradle-5.6.4-all.zip
- 配置仓库地址,打开 **/项目/build.gradle **文件,修改仓库地址为 artifactory
buildscript {
repositories {
maven{
url 'https://:8081/artifactory/android_group/'
}
}
......
}
allprojects {
repositories {
maven{
url 'https://:8081/artifactory/android_group/'
}
}
}
- 至此配置完毕,重新构建即可