如何重置x射线<> Artifactory连接而不丢失扫描结果
相关版本:这个信息属于Artifactory版本5.10到最新的6。X而且x射线版本1.12至最新2。X
有时你需要重置你的Artifactory <> Xray连接(例如,当你需要重置你的管理凭证,更改你的Artifactory URL,或重置Xray使用的令牌)。本文解释了如何在不擦除Artifactory的扫描历史的情况下做到这一点,只要原始Artifactory可用。
x射线使用蒙戈数据库来管理Xray服务器的配置。它包含一个条目,用于连接到Artifactory。该条目包含Artifactory URL、管理凭证和二进制管理器ID。保留最后一项是保持扫描结果完整的关键。由于此过程涉及对数据库进行直接更改,因此一定要这样做备份你的MongoDB在继续之前:
[示例]mongodb -archive = mongodb。Archive -db x射线
从x射线中删除Artifactory“二进制管理器”的步骤
1.登录到Mongo数据库。你可以用来登录的CLI是在安装MongoDB时安装的,或者在MongoDB容器中执行“docker exec”。
请注意:自x光2.8.9, MongoDB密码是随机的,不再是字面上的“密码”。相反,有一个MongoDB_Admin_pass.txt文件中/根目录或用户的主文件夹。您可以使用以下密码登录:
[RPM/Debian安装示例命令]
mongo -u x射线——authenticationDatabase x射线——authenticationMechanism sra - sha -1 -p密码
2.打开x射线数据库:
使用x光
3.在“binary_managers表中,应该有一行包含Artifactory信息:
db.binary_managers.find ({})
4.使用它的ID删除二进制管理器表行-注意这里使用的“bin_mgr_id”!
db.binary_managers。删除({"bin_mgr_id": "art-gcp"})
有一个额外的配置绑定到已删除的binary_managers表行。如果在即将重启的Xray发生时它还在,则会发生错误,Xray将无法启动。
如果Artifactory是Xray的身份验证提供者,请在退出之前执行这些额外的MongoDB步骤(如果Xray没有使用Artifactory作为身份验证提供者,请跳过这些步骤):
5.列出你的JFrog Access configuration的配置:
db.configuration.find ()
6.删除accessConfig行:
db.configuration。remove({"config_id": "accessConfig"})
不管Xray是否使用Artifactory作为身份验证提供者,执行最后两个步骤:
7.重新启动x光
8.通过UI重新添加Artifactory到x射线,就像这是第一次你创造了这种联系。更改或更新任何需要更新的信息,只有一个例外。您需要为Artifactory使用与之前相同的名称。名称应该精确匹配bin_mgr_id字段,在MongoDB中。
在遵循这些步骤之后,Artifactory和Xray应该无缝连接重新开始工作。如果没有,你就需要这样做恢复备份MongoDB配置:
mongorestore -u xray -p password -authenticationDatabase xray——archive= mongodb。——db x射线-v