跳到元数据的末尾
进入元数据的开始

概述

Artifactory用户指南在描述这些主题的相关页面上提供了针对不同主题的故障排除技巧。


安装Artifactory

Artifactory无法启动

导致 在Artifactory加载其日志机制之前抛出了一个异常(可能是由您的servlet容器抛出的)。
决议 检查servlet容器的localhost.log文件。如需更多资料,请参阅Artifactory日志文件

使用Docker安装

本节描述了不同的方法来排除运行中或停止的Docker容器未按预期运行的故障。

页面内容

容器中状态

码头工人ps命令列出系统中的容器。

$ docker ps #列出正在运行的容器

日志

Artifactory日志存储在Artifactory容器下/var/opt/jfrog/artifactory /日志。

如果您使用一个装载了Artifactory数据的卷运行容器(/var/opt/jfrog/artifactory /),你也可以在你的主机上本地访问这些日志。

查看正在运行的容器的日志输出的一种简单方法是码头工人日志命令

$ docker logs <容器名>

这将把容器的所有STDOUT和STDERR输出到屏幕上,用于运行和停止容器。

连接到运行中的容器

属性可以连接到正在运行的容器的文件系统,并在容器中打开交互式命令提示符码头工人执行命令

$ docker exec -它<容器名称> /bin/bash

这将在正在运行的Artifactory容器中打开一个命令提示符,以根用户身份登录并将您放到/目录中。

运行一个备用入口点

在某些情况下,您希望运行容器,但不启动Artifactory。为此,您需要使用重写配置的入口点脚本Docker run——entrypoint=bash

$ docker run -it——entrypoint=/bin/bash -v /var/opt/jfrog/artifactory:/var/opt/jfrog/artifactory -p 8081:8018 docker.bintray.io/jfrog/artifactory-pro:最新版本

这将运行容器,在容器中显示提示符,但不执行/ entrypoint-artifactory.sh文件。

然后可以执行对容器配置的更改/ entrypoint-artifactory.sh在容器中启动Artifactory。


安装Artifactory HA

详情请参阅故障排除哈


访问令牌或访问服务

症状

在启动过程中,Artifactory启动失败,并抛出一个错误:

illegalstateexception:提供的私钥与最新私钥指纹不匹配。
导致

Artifactory尝试验证和比较驻留在Artifactory数据库和本地文件系统中的访问密钥指纹。如果密钥不匹配,将抛出上述异常以及不匹配的指纹id。

这可能发生在试图升级/安装Artifactory期间。
决议

按照以下步骤,确保您信任的圈子中的所有实例都具有相同的私钥和根证书:

键旋转将使任何发出的访问令牌无效

下面的过程将创建新的密钥对,从而使任何现有的访问令牌无效。

    1. 创建一个名为bootstrap.reset_root_keysARTIFACTORY_HOME /访问/ etc /美元
    2. 重启Artifactory。
    3. 验证美元ARTIFACTORY_HOME /日志/ artifactory.log$ ARTIFACTORY_HOME / /日志/ access.log访问文件显示如下条目:
    **************************************************************** *** 根私人的跳过验证指纹  *** **************************************************************** *** 私钥指纹将会被覆盖掉  **************** ****************************************************************



症状 使用访问令牌进行身份验证时出现“令牌验证失败".
导致 在Artifactory 5.4中改变了访问令牌的实现。该更改是向后兼容的,因此使用早期版本的Artifactory创建的令牌可以在新版本中进行身份验证,但反之则不然。在5.4或更高版本中创建的令牌无法通过5.4之前的版本进行身份验证。
决议 要么升级旧的Artifactory实例,要么确保只使用旧实例创建访问令牌

升级Artifactory

从错误中恢复:在Artifactory ' node_props '数据库表中发现了不兼容的索引

如果你正在使用PostgreSQL,并在Artifactory UI中看到这条消息,很可能是你已经将Artifactory版本升级到6.5.0或更高版本,并且经历了数据库转换,无法转换'node_props'表的索引。属性值的长度超过了允许限制2400个字符.这些长属性值通常是内部Artifactory过程的结果,例如将工件元数据(如自述文件)标记为属性的包索引。

若要修复索引,是否必须修剪超过允许的最大限制的属性值。Artifactory不会自动修复和修剪属性值,因为它们可能对您有价值。出于这个原因,我们提供了以下两个REST API:

  1. 返回无效属性的响应(如果存在)。

    得到的api /系统/ postgresql /属性/ listInvalidProperties

    响应
    {"properties": {"propKey":["原始长包自述文件内容.."], "propKey2":["原始长值..","另一个原始长值.."]}}
  2. 将无效属性(如果存在)修剪为允许的最大长度并运行索引转换。

    发布api /系统/ postgresql /属性/修复吗?干= {0 | 1}

    设置干运行命令dry= 0或1

    将参数设置为“1”将执行演练,而将其设置为“0”将实际运行命令。

    Response: {"indexFixed" true, "properties": {"propKey": [" edged value1"], "propKey2": [" edged value1", " edged value2"]}}