首页>软件资讯>常见问题

常见问题

jfrog artifactory使用

发布时间:2026-07-02 09:11:27人气:0

JFrog Artifactory 完整使用指南

一、Artifactory 核心介绍

Artifactory 是 JFrog 出品的通用制品仓库管理平台,统一管理各类二进制制品:Maven、Gradle、NPM、Docker、PyPI、Go、NuGet、Helm、RPM、DEB、Git LFS 等,核心能力:

私有仓库、远程代理仓库、虚拟聚合仓库三层仓库模型

制品版本管理、权限、元数据、搜索、清理、复制同步

CI/CD 流水线集成(Jenkins、GitLab CI、GitHub Actions)

漏洞扫描(Xray)、合规审计、构建溯源

高可用集群、多环境制品流转

三种仓库类型

Local 本地仓库:存储本地上传私有制品(公司内部包、镜像)

Remote 远程仓库:代理公共源(maven-central、docker.io、npm 官方源),缓存加速内网下载

Virtual 虚拟仓库:聚合多个 Local+Remote,客户端只配置一个地址即可拉取所有依赖

二、安装部署(快速两种方式)

1. Docker 快速启动(测试 / 演示)

bash

# 单节点社区版

docker run -d

  --name artifactory

  -p 8081:8081

  -p 8082:8082

  -v /data/artifactory:/var/opt/jfrog/artifactory

  jfrog/artifactory-jcr:latest


访问地址:http://ip:8081/artifactory

默认账号:admin / password,首次登录强制改密码

2. Linux 生产安装

官方 RPM/DEB 包,外置 PostgreSQL 数据库,配置独立存储卷,开启 HTTPS、反向代理 Nginx。

三、基础界面操作

1. 创建仓库示例(Maven)

Admin → Repositories → Repositories → Create Repository

选择包类型:Maven

分三种场景:

Local:maven-local 存放公司内部 jar

Remote:maven-central 代理中央仓库

Virtual:maven-virtual 聚合 local + central

保存后仓库地址:http://ip:8081/artifactory/maven-virtual

2. 制品上传 / 下载(Web UI)

进入对应仓库 → Deploy

上传本地文件,填写 GAV 坐标(groupId/artifactId/version)

制品详情页:下载、删除、复制 URL、设置属性、权限

3. 权限管理

创建用户 / 用户组

给组分配仓库权限:Read(拉取)、Write(上传)、Delete、Manage

支持细粒度路径权限(只允许操作某个目录)

四、各语言客户端接入使用

1. Maven/Gradle Java 项目

Maven settings.xml 配置


html

<servers>  <server>    <id>artifactory</id>    <username>admin</username>    <password>你的密码</password>  </server> </servers> <mirrors>  <mirror>    <id>artifactory</id>    <url>http://127.0.0.1:8081/artifactory/maven-virtual</url>    <mirrorOf>*</mirrorOf>  </mirror> </mirrors>


上传制品命令

bash

mvn deploy -DaltRepositoryId=artifactory -DaltReleaseRepositoryUrl=http://ip:8081/artifactory/maven-local


2. NPM 前端

创建 npm-local、npm-remote、npm-virtual

客户端登录配置


bash

# 设置仓库地址

npm config set registry http://ip:8081/artifactory/api/npm/npm-virtual

# 登录

npm login --registry=http://ip:8081/artifactory/api/npm/npm-virtual

# 上传包

npm publish


3. Docker 镜像仓库

Artifactory 8082 端口为 Docker 仓库端口

创建 docker-local、docker-remote、docker-virtual

登录推送镜像

bash

# 登录仓库

docker login ip:8082

# 镜像打标签

docker tag nginx:latest ip:8082/docker-local/nginx:v1

# 推送

docker push ip:8082/docker-local/nginx:v1

# 拉取

docker pull ip:8082/docker-local/nginx:v1

4. Python PyPI

bash

# pip 配置源

pip config set global.index-url http://admin:password@ip:8081/artifactory/api/pypi/pypi-virtual/simple

# 上传包

twine upload --repository-url http://ip:8081/artifactory/api/pypi/pypi-local dist/*

五、JFrog CLI 命令行工具(高频推荐)

JFrog CLI 统一操作所有制品,适配 CI 流水线

1. 安装 jf

bash

# Linux

curl -fL https://install-cli.jfrog.io | sh

2. 配置连接 Artifactory

bash

jf c add art --url http://ip:8081/artifactory --user admin --password xxx

jf c use art

3. 常用命令

bash

# 上传文件到本地仓库

jf rt upload ./target/*.jar maven-local/com/demo/1.0/


# 下载制品

jf rt download maven-local/com/demo/1.0/demo.jar ./


# 搜索制品

jf rt search "*.jar"


# 构建信息推送(构建溯源)

jf mvn clean install deploy

jf rt build-publish my-build 1

六、CI/CD 集成示例(GitLab CI)

yaml

stages:

  - build

  - upload


build:

  stage: build

  image: maven:3.8-openjdk-11

  script:

    - mvn clean package


upload:

  stage: upload

  image: jfrog/jfrog-cli

  script:

    - jf c add art --url $ART_URL --user $ART_USER --password $ART_PWD

    - jf rt upload target/*.jar maven-local/demo/app/1.0/

七、常用高级功能

1. 制品生命周期清理(Retention)

Admin → Repositories → 仓库设置 → Cleanup Policies

按版本数量保留、按过期天数删除、删除快照 / 废弃构建

2. 跨机房仓库复制(Replication)

支持推 / 拉复制,多环境同步制品(测试→预发→生产)

3. 元数据与属性

给制品打标签、环境标记、分支名称,用于流水线筛选分发

4. Xray 漏洞扫描(安全)

绑定 Artifactory,自动扫描上传包 CVE 漏洞、许可证合规,阻断高危制品部署

5. 构建溯源 Build Info

记录构建依赖、版本、提交记录,一键追溯漏洞来源制品

八、常见问题

401 未授权:账号密码错误、仓库未分配读写权限

远程仓库拉取超时:外网不通,配置代理服务器

Docker 登录失败:确认使用 8082 端口,关闭 http 校验或配置证书

磁盘爆满:配置清理策略,定期删除无用快照制品

上传包报 403:用户无 Write 权限



上一条:JFrog Artifactory用途

下一条:jfrog artifactory优势