目的
在线安装jfrog。
控制连接该私服的项目,所引用的org.jacoco.cli、org.jacoco.core、org.jacoco.report包,只能从我们推送到私服local的定制版本(xx-xxx-jacoco)中获取,不可以从配置的阿里云等远程中央仓库获取。
安装
-
- 端口:查看空闲端口,jfrog artifactory需要两个端口
lsof -i:port
-
- 镜像:拉取社区版镜像,拉取oss社区免费版
docker pull docker.bintray.io/jfrog/artifactory-oss
-
- 挂载卷:持久化容器数据
docker volume create data_artifactory
-
- 查看卷详情:宿主机文件位置
docker volume inspect data_artifactory
-
- 启动jfrog artifactory:
docker run --name jfrog-artifactory -d -v data_artifactory:/var/opt/jfrog/artifactory -p 8011:8081 -p 8012:8082 docker.bintray.io/jfrog/artifactory-oss
使用
docker容器启动成功后即可开始使用jfrog artifactory。
控制台
- 通过浏览器 http://192.168.xx.xx:8012/ 登录jfrog控制台。初始用户名密码为:admin/password,登录成功后,根据提示重置密码为:MyPassword012
仓库管理
项目
- 可在控制台Administration-Projects菜单下创建和管理不同的项目,后续可将不同仓库、成员、环境按需划分到指定项目进行管理。
仓库
创建仓库
- 可在控制台Administration-Repositories菜单下管理仓库,右侧分为Local、Remote、Virtual等3个分栏,分别对应不同类型的仓库。
- 右上角+ Add Repositories可创建三种类型的仓库, 区别如下:
3. Local Repository(本地仓库):
a. 我们上传的本公司制品 1.
b. 用于存储本地构建产物、第三方依赖和其他本地产生的文件。减少对外部网络的依赖,提高构建的速度和稳定性。
4. Remote Repository(远程仓库):
a. 中央仓库拉下来的三方制品
b. 远程仓库不直接存储任何文件,而是通过代理远程仓库中的文件,以便在需要时从本地获取。这有助于缓解对远程仓库的网络访问压力,并提高构建的效率.
5. Virtual Repository(虚拟仓库):
a. 不包含实际制品
b. 虚拟仓库允许通过一个单一的 URL 访问多个仓库,这些仓库可以包括本地仓库、远程仓库,甚至其他虚拟仓库。这简化了开发人员对依赖的管理,使其可以从一个逻辑仓库中获取所需的所有组件。
- 分别创建一个Local、Remote、Virtual仓库,并在xxx-java-maven-virtual仓库中聚合对应local、remote仓库。
配置仓库
- 本次需求为:控制连接该私服的项目,所引用的org.jacoco.cli、org.jacoco.core、org.jacoco.report包,只能从我们推送到私服local的定制版本(xx-xxx-jacoco)中获取,不可以从配置的阿里云等远程中央仓库获取。
- 实现:
1. 在Administration-Repositories-Remote下的xxx-java-maven-remote中,编辑Exclude Patterns,添加规则org/jacoco/org.jacoco.cli/**、org/jacoco/org.jacoco.core/**、org/jacoco/org.jacoco.report/**。
2. 在Application-Artifactory-Artifacts中,找到缓存库xxx-java-maven-remote-cache,删除其中jacoco缓存(若不存在,可忽略该步骤)。
3. 在更改个人开发环境maven的setting文件后,需要清除本地的maven仓库中的jacoco相关缓存(本地仓库/org/jacoco/**)。
maven-setting.xml配置
在maven/conf/setting.xml中添加以下配置:
<servers>
<server>
<id>artifactory-server</id>
<username>admin</username>
<password>MyPassword012</password>
</server>
</servers>
<mirrors>
<mirror>
<id>artifactory-server</id>
<url>http://192.168.xx.xxx:8012/artifactory/xxx-java-maven-virtual/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
pom.xml配置
maven项目推送到jfrog时,只能推送到local仓库,且需要在相关项目的pom.xml中,设置distributionManagement属性,具体配置可通过以下方式获取:
在Application-Artifactory-Artifacts中,选择本地仓库xxx-java-maven-local,右上角Set Me Up-Deploy,复制到pom.xml即可:
<distributionManagement>
<repository>
<id>central</id>
<name>9bcac9xxxxxx-releases</name>
<url>http://192.168.xx.xxx:8012/artifactory/xxx-java-maven-local</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>9bcac9xxxxxx-snapshots</name>
<url>http://192.168.xx.xxx:8012/artifactory/xxx-java-maven-local</url>
</snapshotRepository>
</distributionManagement>