JFrog帮助中心

我们的新门户即将推出!
文档+知识库

搜索







概述

升级Xray的过程取决于您的安装类型。我们强烈建议您在继续升级之前通读此页面。

在升级x射线之前,请参阅有关的附加信息系统需求(用于存储,数据库、浏览器及其他要求),和系统架构

在Xray 3.x中引入了几个新概念,改进安装和定制流程

请注意确保使用与最初安装Xray相同的升级方法(RPM, Debian, Docker等)。

Xray支持高可用性(HA)和从3.31.0版本开始的HA安装热升级。有关HA升级的更多信息,请参见HA升级

升级到版本3。第一次做X ?

请记住,当使用下面的PostgreSQL命令时,只使用您正在运行的版本。

建议您先复习一下有什么新鲜事最新的JFrog平台。查看重大变更、弃用特性等。

继续之前

为了确保在升级过程中遇到任何问题时可以恢复x射线和数据库,我们强烈建议您确保系统和数据库备份是最新的

从版本3开始。MongoDB将不会被Xray使用,除非在从版本2.x迁移的初始阶段。数据会自动从MongoDB迁移到PostgreSQL。确保你的PostgreSQL存储空间至少增加2.5倍。

是否有多个Artifactory实例连接到单个x射线实例?

当升级到JFrog平台时,Xray必须只连接到单个Artifactory实例。如果一个x射线实例连接到多个Artifactory实例,请在继续任何升级之前使用以下选项之一:

选项1(推荐)保持一个连接的Artifactory实例到您的单个Xray实例,并将其余的升级到版本7。x与新安装的Xray版本3。x实例。此选项将需要重新索引额外的Artifactory实例,并将导致一些配置数据的丢失。了解更多>

选项2:安装额外的x射线版本2。为您拥有的每个Artifactory实例,并恢复所有MongoDB和PostgreSQL数据。继续将每个Artifactory和Xray对升级到版本7。X和版本3.x。只有当您必须保留所有x射线配置并在新实例中轻松地重新配置它们时,才建议使用此过程。了解更多>

升级Xray PostgreSQL

x光3。X和2。x支持PostgreSQL版本9.5,9.6,10,11,12 (Xray 2的最早版本)。支持PostgreSQL 10-12的版本是Xray 2.16。因为PostgreSQL将停止对一些旧版本的支持,包括2021年2月的9.5和2021年11月的9.6。虽然可以从9.5逐步升级到9.6,但JFrog建议升级到PostgreSQL 13。这将延长时间,直到下一个PostgreSQL支持结束,并使Xray能够利用新版本提供的最新功能,如更好的性能等

了解升级PostgreSQL的流程和要求,请参见JFrog Xray PostgreSQL升级- PostgreSQL 9。x EoS

升级步骤

升级步骤如下:

  1. 下载x光(Docker Compose, RPM, Debian)。
  2. 停止x射线服务
  3. 安装x光根据分布类型。
  4. 检查迁移日志并检查system.yaml验证迁移是否成功(仅用于从v3.x升级)。
  5. 启动服务使用启动脚本或操作系统服务管理。
  6. 检查x射线日志查询服务的状态。

默认主目录/ $JFROG_HOME

默认的x射线主目录根据安装类型定义。有关更多详细信息,请参阅产品目录结构页面。

请注意:本指南使用JFROG_HOME美元表示包含已部署产品的JFrog根目录。

JFrog订阅级别

自托管
箴X
企业
企业+
页面内容


从2.7以下版本升级

要从2.6及以下版本升级,首先需要升级到2.7版本。中描述的X升级Xray 2文档,然后继续从版本2.7升级到3.x。

从版本3开始。MongoDB不被Xray使用,除非在从版本2.x迁移的初始阶段。数据自动从MongoDB迁移到2.7x及以上版本的PostgreSQL。在升级到版本2.7x之后,必须确保在继续升级到版本3.x之前完成所有数据迁移。的xray-migration-readiness工具使您能够验证所有数据迁移是否完成。下载工具,并按照自述文件中的说明进行操作。

升级前,请确认当前使用的操作系统版本为支持。看到系统需求有关操作系统支持的详细信息。


从版本2.7升级到3.x

JFrog x射线v3。x只兼容JFrog Artifactory v7.x。要升级,你必须首先安装JFrog Artifactory 7.x

支持以下升级方式:

升级前,请确认当前使用的操作系统版本为支持。看到系统需求有关操作系统支持的详细信息。

将数据从MongoDB迁移到PostgreSQL

从版本3开始。x,除了迁移阶段,Xray不使用MongoDB。在版本3的开始。数据自动从MongoDB迁移到PostgreSQL。在启动x射线服务之前,请确保两个数据库都已启动并运行。在迁移期间,Xray将不可访问。迁移时间取决于待迁移数据的大小。


交互式脚本升级(推荐)

安装程序脚本适用于所有支持的升级方法(RPM, Debian码头工人组成).它为您提供了一种交互式方式来升级Xray及其依赖项。

  1. 下载x光(RPM, Debian或Docker Compose)。
  2. 停止服务。

    Docker -停止并移除x射线容器
    x射线停止docker ps -a——format '{{。grep ^xray_* | xargs docker rm -f
    RPM / DEB
    CD /opt/jfrog/xray/scripts ./xray.sh停止
  3. 提取压缩归档文件的内容并转到提取的文件夹。安装程序脚本位于解压的文件夹中。

    CD jfrog-xray--.tar.gz CD jfrog-xray--

    .env文件包含在Docker-Compose归档文件中

    这个.env文件由docker-compose在安装和升级期间更新。

    请注意,有些操作系统默认情况下不显示点文件。如果对文件进行了任何更改,请记住在升级之前进行备份。

  4. 对于非Docker-Compose安装,确保您的MongoDB正在运行,以确保迁移到PostgreSQL的过程将工作。
    对于Docker-Compose安装,MongoDB服务将作为新撰写文件的一部分出现。
  5. 运行安装脚本。
    请注意:脚本将提示您一系列强制输入,包括jfrogURL(自定义基础URL)joinKey

    组成
    。/ config.sh

    .env在Docker-Compose

    归档文件中包含一个.env文件。该文件由docker-compose在安装和升级期间更新。

    一些操作系统默认不显示点文件,所以请注意这个文件。

    如果对文件进行了更改,请记住在升级之前进行备份

    RPM / DEB
    。/ install.sh
  6. 通过查看以下文件,检查配置迁移是否成功完成:
    1. 迁移日志美元JFROG_HOME / x光/ var / log / migration.log文件

    2. system.yaml配置$ JFROG_HOME / x光/ var / etc / system.yaml
      这个新创建的文件将以新的格式包含您当前的自定义配置。

      请确保一个大的文件句柄限制在启动x射线之前指定。

  7. 启动x射线服务。

    systemd操作系统
    Systemctl启动xray.service

    从Xray 3.8x开始,Xray上的停止和重启操作将不会应用于RabbitMQ进程。在Xray的启动动作中,如果RabbitMQ没有运行,它将被启动。

    如果您希望脚本对RabbitMQ执行停止和重启操作,请设置shared.rabbitMq.autoStop作为真正的在system.yaml中。注意,在docker-compose安装中不会使用此标志。

    systemv操作系统
    Systemctl start xray
    码头工人组成
    cd jfrog-xray--compose #从Xray 3.8x开始,RabbitMQ已经被移动到一个自己的组合文件,这需要在启动其他服务之前启动。从Xray 3.8开始。在启动其他服务之前,需要先启动PostgreSQL。Docker-compose -p xray-postgres -f Docker-compose -postgres-9-5-2v。-d docker-compose -p xray ps docker-compose -p xray down
  8. 从浏览器访问Xray:http:// < jfrogUrl > / ui/,去吧。x光选项卡应用程序模块。
  9. 检查x射线日志。

    Linux
    $JFROG_HOME/var/log/console.log . tail

Post数据迁移步骤(MongoDB到PostgreSQL)

迁移成功后,建议执行以下步骤:

  1. 验证您的x射线数据已成功迁移。
  2. 删除MongoDB的配置system.yaml
  3. RPM安装时,请卸载MongoDB数据库。
    对于Docker-Compose安装,您要么需要从Docker-Compose中删除“mongodb”服务。或者再次运行安装脚本,脚本将确定不再需要MongoDB,并将自动执行此操作。


手动RPM升级

RPM升级捆绑了Xray及其所有依赖项。它作为本机RPM包提供,其中Xray及其依赖项必须单独安装。如果您正在自动化安装,请使用此选项。

  1. 下载x光(RPM)。
  2. 停止当前服务。

    CD /opt/jfrog/xray/scripts ./xray.sh停止
  3. 提取压缩归档文件的内容并转到提取的文件夹。

    CD jfrog-xray--rpm. gz
  4. 确保MongoDB正在运行,以确保迁移到PostgreSQL的过程能够正常工作。
  5. 在Red Hat兼容的Linux发行版上,以root用户将Xray作为服务安装。

    Yum -y install ./xray/xray.rpm
  6. 通过查看以下文件,检查迁移是否成功完成:

    1. 迁移日志美元JFROG_HOME / x光/ var / log / migration.log文件

    2. system.yaml配置$ JFROG_HOME / x光/ var / etc / system.yaml
      这个新创建的文件将以新的格式包含您当前的自定义配置。

      请确保一个大的文件句柄限制在启动x射线之前指定。

  7. 设置Artifactory连接详细信息。
    x射线需要一个工作的Artifactory服务器和一个合适的许可证。x射线连接到Artifactory需要2个参数:
    • jfrogUrl-部署JFrog Artifactory的机器的URL,或者指向它的负载平衡器。建议使用DNS名称,不要使用直连ip。例如:http://jfrog.acme.comhttp://10.20.30.40:8082”。请注意,/ artifactory不再需要上下文。
      将其设置为共享配置部分JFROG_HOME美元/ x光/ var / etc / system.yaml文件。
    • join.key-这是Artifactory注册和认证x射线服务器所需的“秘密”密钥。
      你可以去取神器joinKey的JPD UI中(join Key)用户管理|设置|加入键
      设置join.key中的Artifactory服务器所使用的共享配置部分JFROG_HOME美元/ x光/var/etc/system.yaml文件。

  8. 确保第三方服务正在运行。

    PostgreSQL

    如果你有PostgreSQL数据库,它被打包为2。X安装后,同样会在当前安装中使用。可以使用以下命令进行管理:

    Service postgresql-9.5 start|stop|status

    RabbitMQ

    从版本3开始。RabbitMQ作为Xray RPM的一部分进行打包和管理。Xray主服务上的任何操作(停止、启动和状态)也将在RabbitMQ上执行。现有的RabbitMQ RPM是作为第2部分安装的。x在x射线3后可以卸载。X已成功安装并运行。

    将数据从MongoDB迁移到PostgreSQL

    从版本3开始。x,除非在迁移阶段,否则Xray不会使用MongoDB。在启动x射线服务之前,请确保两个数据库都已启动并运行。在迁移期间,Xray将不可访问。您可以在x射线3后卸载MongoDB。X已成功安装并运行。

    服务mongod start / stop / status
  9. 开始x光。

    systemd操作系统
    Systemctl启动xray.service
    systemv操作系统
    Systemctl start xray
  10. 从浏览器访问Xray:http:// < jfrogUrl > / ui /,去吧。x光选项卡应用程序模块。

  11. 检查x射线日志。

    $JFROG_HOME/xray/var/log/console.log . tail

Post数据迁移步骤(MongoDB到PostgreSQL)

迁移成功后,建议执行以下步骤:

  1. 验证您的x射线数据已成功迁移。
  2. 删除MongoDB的配置system.yaml
  3. 卸载MongoDB数据库。


手动升级Debian

Debian升级捆绑了Xray及其所有依赖项。它作为本机Debian软件包提供,其中Xray及其依赖项必须单独安装。如果您正在自动化安装,请使用此选项。

  1. 下载x光(Debian)。
  2. 停止当前服务器。

    CD /opt/jfrog/xray/scripts ./xray.sh停止

  3. 提取压缩归档文件的内容并转到提取的文件夹。

    CD jfrog-xray--deb. Tar .gz
  4. 确保您的MongoDB正在运行,以确保迁移到PostgreSQL的过程工作。
  5. 将Xray作为服务安装在Debian兼容的Linux发行版上,以root用户的身份。

    运行安装
    DPKG - 1 ./xray/xray.deb
  6. 通过查看以下文件,检查迁移是否成功完成:

    1. 迁移日志美元JFROG_HOME / x光/ var / log / migration.log文件

    2. system.yaml配置$ JFROG_HOME / x光/ var / etc / system.yaml
      这个新创建的文件将以新的格式包含您当前的自定义配置。

      请确保一个大的文件句柄限制在启动x射线之前指定。

  7. 设置Artifactory连接详细信息。
    x射线需要一个工作的Artifactory服务器和一个合适的许可证。x射线连接到Artifactory需要2个参数:

    • jfrogUrl-部署JFrog Artifactory的机器的URL,或者指向它的负载平衡器。建议使用DNS名称,不要使用直连ip。例如:http://jfrog.acme.comhttp://10.20.30.40:8082”。请注意,/ artifactory不再需要上下文。
      将其设置为共享配置部分JFROG_HOME美元/ x光/ var / etc / system.yaml文件。
    • join.key-这是Artifactory注册和认证x射线服务器所需的“秘密”密钥。
      你可以去取神器joinKey的JPD UI中(join Key)用户管理|设置|加入键
      设置join.key中的Artifactory服务器所使用的共享配置部分JFROG_HOME美元/ x光/var/etc/system.yaml文件。

  8. 确保第三方服务正在运行。

    PostgreSQL

    如果你有PostgreSQL数据库,它被打包为2。X安装后,同样会在当前安装中使用。可以使用以下命令进行管理:

    Service postgresql-9.5 start|stop|status

    RabbitMq

    从3。RabbitMQ作为Xray DEB的一部分进行打包和管理。Xray主服务上的任何操作(停止、启动和状态)也将在RabbitMQ上执行。现有的RabbitMQ DEB是作为第2部分安装的。x在x射线3后可以卸载。X已成功安装并运行。

    MongoDB

    从3。x, x射线将不会使用MongoDB,除非在迁移期间。从3开始。数据将从MongoDB迁移到PostgreSQL。在启动x射线服务之前,请确保两个数据库都已启动并运行。您可以在x射线3后卸载MongoDB。X已成功安装并运行。

    服务mongod start / stop / status
  9. 开始x光。

    systemd操作系统
    Systemctl启动xray.service
    Systemv操作系统
    Systemctl start xray
  10. 从浏览器访问Xray:http:// < jfrogUrl > / ui /,去吧。x光选项卡应用程序模块。
  11. 检查x射线日志。

    $JFROG_HOME/xray/var/log/console.log . tail

Post数据迁移步骤(MongoDB到PostgreSQL)

迁移成功后,建议执行以下步骤:

  1. 验证您的x射线数据已成功迁移。
  2. 删除MongoDB的配置system.yaml
  3. 卸载MongoDB数据库。

HA升级

本节描述升级x射线的过程高可用性集群。

升级x射线2。x HA集群

从版本2升级Xray HA集群时,不再需要Xray负载平衡器。X到3.x作为all the Xray requests are now routed through the平台的路由器在JFrog平台。

支持以下安装方式:

升级前,请确认当前使用的操作系统版本为支持。看到系统需求有关操作系统支持的详细信息。

码头工人组成

对系统中的每个节点执行以下步骤。在启动每个节点时,请确保根据添加到集群中的第一个节点或其他节点输入正确的详细信息。

下面的说明假设您正在从2升级。X官方Docker安装。

  1. 通过在每个节点上运行以下命令,停止使用HA设置的所有集群节点。

    ./x射线停止所有
  2. 提取压缩归档文件的内容并转到提取的文件夹。

    CD jfrog-xray-- composer . Tar .gz

    .env文件包含在Docker-Compose归档文件中

    这个.env文件由docker-compose在安装和升级期间更新。

    请注意,有些操作系统默认情况下不显示点文件。如果对文件进行了任何更改,请记住在升级之前进行备份。

  3. 运行config.sh脚本设置具有所需所有权的文件夹。请注意该脚本将提示您一系列强制输入,包括如果这是集群的一部分,并配置所需的输入system.yaml

    。/ config.sh

    请注意:对于第一个节点升级,如果您正在向现有产品集群添加额外的节点,请确保在提示时选择“N”。对于以下附加节点,请确保选择“Y”并提供连接键和JFrog URL。

  4. 启动节点。

    运行命令只有从提取的文件夹中。

    使用docker-compose命令管理Xray。

    cd jfrog-xray--compose #从Xray 3.8开始。在启动其他服务之前,需要先启动PostgreSQL。如果PostgreSQL 9.5.2运行,请使用- docker-compose-p xray-postgres -f docker-compose-postgres-9-5-2v。使用- docker-compose-p xray-postgres -f docker-compose-postgres-10-13v。使用- docker-compose-p xray-postgres -f docker-compose-postgres。-d docker-compose -p xray ps docker-compose -p xray down
  5. 从浏览器访问Xray:http:// < jfrogUrl > / ui /,去吧。x光选项卡应用程序模块。

    Docker-compose -p x射线日志
  6. 检查x射线日志。

RPM或Debian

升级第一个节点
  1. 通过在每个节点上运行以下命令,停止使用HA设置的所有集群节点。

    服务x射线停止

    确保MongoDB和PostgreSQL在后台运行。

  2. 提取压缩归档文件的内容并转到提取的文件夹。

    RPM
    Tar -xvf jfrog-xray--rpm. Tar .gz
    Debian
    Tar -xvf jfrog-xray-deb.tar.gz
  3. 运行install.sh脚本设置具有所需所有权的文件夹。

    。/ install.sh
  4. 将以下内容添加到$/data/pg_hba.conf文件。

    主机所有所有0.0.0.0/0 md5
  5. 一个将以下内容添加到$/data/ PostgreSQL .conf文件。

    listen_addresses = ' * '


  6. 重启PostgreSQL。

    Service postgresql- stop Service postgresql- start

    从x射线版本3。RabbitMQ作为Xray RPM的一部分进行打包和管理。Xray主服务上的任何操作(停止、启动和状态)也将在RabbitMQ上执行。
    现有的RabbitMQ RPM是作为Xray版本2的一部分安装的。x在x射线3后可以卸载。X已成功安装并运行。

  7. 启动x射线节点。

    systemd操作系统
    Systemctl启动xray.service
    systemv操作系统
    Systemctl start xray

    使用以下命令管理Xray。

    systemd操作系统
    Systemctl停止x射线服务
    systemv操作系统
    Service xray stop|status|restart
  8. 从浏览器访问Xray:http:// < jfrogUrl > / ui /,去吧。x光选项卡应用程序模块。
  9. 检查x射线日志。

    $JFROG_HOME/xray/var/log/console.log . tail
升级新增节点
  1. 通过在每个节点上运行以下命令,停止使用HA设置的所有集群节点。

    服务x射线停止


  2. 提取压缩归档文件的内容并转到提取的文件夹。

    RPM
    Tar -xvf jfrog-xray--rpm. Tar .gz
    Debian
    jfrog-xray--deb. Tar .gz
  3. 运行config.sh脚本设置具有所需所有权的文件夹。

    。/ install.sh
  4. 修改system.yaml文件位于$ JFROG_HOME / x光/var/etc文件夹中使用以下配置。

    shared: rabbitMq: active: node: name: (所有后续节点使用相同的名称)ip: 
  5. 启动x射线节点。

    systemd操作系统
    Systemctl启动xray.service
    systemv操作系统
    Systemctl start xray

    使用以下命令管理Xray。

    systemd操作系统
    Systemctl停止x射线服务
    systemv操作系统
    Service xray stop|status|restart
  6. 从浏览器访问Xray:http:// < jfrogUrl > / ui /,去吧。x光选项卡应用程序模块。
  7. 检查x射线日志。

    $JFROG_HOME/xray/var/log/console.log . tail

Post数据迁移步骤(MongoDB到PostgreSQL)

迁移成功后,建议执行以下步骤:

  1. 验证您的x射线数据已成功迁移。
  2. 删除MongoDB的配置system.yaml
  3. 卸载MongoDB数据库。



从版本3升级。X到3.x

支持以下升级方式:

交互式脚本升级(推荐)

安装脚本适用于所有支持的升级方法(RPM、Debian和Docker Compose)。它为您提供了一种交互式方式来升级Xray及其依赖项。

  1. 下载x光(RPM、Debian或Docker Compose)。
  2. 停止服务。

    systemd操作系统
    Systemctl停止x射线服务
    systemv操作系统
    服务x射线停止
    码头工人组成
    CD jfrog-xray--compose docker-compose -p xray down
  3. 提取压缩归档文件的内容并转到提取的文件夹。安装程序脚本位于解压的文件夹中。
    请注意对于Docker Compose升级,请确保合并当前版本中的任何自定义docker-compose.yaml文件的新解压缩版本
    docker-compose.yaml文件。

    CD jfrog-xray--.tar.gz CD jfrog-xray--

    请注意

    的内容.env文件在之前的安装中新建.env此存档中的文件不复制版本,因为这将影响升级。

  4. 运行安装脚本。
    如果需要,脚本将用一系列强制输入提示您,包括jfrogURL(自定义基础URL)joinKey

    组成
    。/ config.sh
    RPM / DEB
    。/ install.sh
  5. 启动x射线服务。

    systemd操作系统
    Systemctl启动xray.service
    systemv操作系统
    Systemctl start xray
    码头工人组成
    CD jfrog-xray--compose docker-compose -p xray up -d
  6. 从浏览器访问Xray:http:// < jfrogUrl > / ui /,去吧。x光选项卡应用程序模块。
  7. 检查x射线日志。

    $JFROG_HOME/xray/var/log/console.log . tail

手动RPM/Debian升级

  1. 下载x光(RPM或Debian)

  2. 停止当前服务器。

    systemd操作系统
    Systemctl停止x射线服务
    systemv操作系统
    服务x射线停止
  3. 升级前请妥善保存RabbitMQ密码。
    你可以在文件里找到密码,JFROG_HOME美元rabbitmq / app / bin / /rabbitmq.conf。

  4. 提取压缩归档文件的内容并转到提取的文件夹。

    CD jfrog-xray--.tar.gz

    从Xray 3.8开始。与Xray绑定的RabbitMQ已经升级,它需要升级Erlang库。这个库可以在$JFROG_HOME/xray/app/third找到。有关更多信息,请参见安装Erlang

    要升级RabbitMQ的依赖,你需要升级erlang socat /通过使用“——replacefiles”来解决文件冲突错误。

  5. 在Red Hat兼容的Linux发行版上,以root用户将Xray作为服务安装。

    rpm
    Yum -y install ./xray/xray.rpm
    Debian
    DPKG - 1 ./xray/xray.deb
  6. 更新文件中的RabbitMQ密码。JFROG_HOME美元rabbitmq / app / bin / /rabbitmq.conf,使用您先前存储的密码。

  7. 开始x光。

    systemd操作系统
    Systemctl启动xray.service
    systemv操作系统
    Systemctl start xray
  8. 从浏览器访问Xray:http:// < jfrogUrl > / ui /,去吧。x光选项卡应用程序模块。

  9. 检查x射线日志。

    $JFROG_HOME/xray/var/log/console.log . tail

手动升级Docker组件

  1. 停止当前服务器。

    Docker-compose -p xray down
  2. 提取压缩归档文件的内容并转到提取的文件夹。

    Tar -xvf jfrog-xray-- composer . Tar .gz

    .env文件包含在Docker-Compose归档文件中

    这个.env文件由docker-compose在安装和升级期间更新。

    请注意,有些操作系统默认情况下不显示点文件。如果您对文件做了任何更改,请记得在升级之前进行备份。

  3. 将docker-compose模板从templates文件夹复制到解压的文件夹中。将其重命名为docker-compose.yaml.确保使用与安装期间相同的模板。

    要求 模板
    x光 docker-compose.yaml
    RabbitMQ docker-compose-rabbitmq.yaml
    PostgreSQL

    docker-compose-postgres.yaml


    Mac版Docker

    当你在Mac中使用Docker Compose时,/etc/localtime可能不像预期的那样工作,因为它可能不是docker-for-mac设置中的共享位置。

    您可以从选定的文件中删除以下行docker-compose.yaml文件以避免安装问题。

    - /etc/localtime: / etc /作用:罗依
  4. 更新.env文件,并确保在安装时使用相同的值。

    Xray的安装目录。如果没有输入,脚本将提示您输入。默认[$ HOME /。jfrog/xray] ROOT_DATA_DIR= #主机ID。集群中的其他节点将使用此ID来标识该节点HOST_ID= #主节点的ID。对于主节点,请保留该值为“None”。(shared.rabbitMq.active.node.name)。JF_SHARED_RABBITMQ_ACTIVE_NODE_NAME=无#主节点IP。JF_THIRD_PARTY_BIND_IP=127.0.0.1 . (shared.rabbitMq.active.node.ip) JF_SHARED_RABBITMQ_ACTIVE_NODE_IP=127.0.0.1
  5. 使用docker-compose命令启动Xray和PostgreSQL。

    ##启动其他服务前需要先启动RabbitMQ。docker-compose -p xray-rabbitmq -f docker-compose- RabbitMQ从x射线3.8。在启动其他服务之前,需要先启动PostgreSQL。Docker-compose -p xray-postgres检查服务是否已启动
  6. 从浏览器访问Artifactory:http://SERVER_HOSTNAME/ui/.例如,在您的本地机器上:http://localhost/ui/

  7. 检查x射线日志。

    Docker -compose -p x射线日志

    配置控制台日志的日志轮换

    console.log文件可以快速增长,因为所有服务都写入它。安装脚本添加了一个cron作业来进行日志轮换console.log每小时归档一次。

    这是完成手动Docker Compose安装。了解更多关于如何配置日志轮换

Linux Archive升级

请记住备份RabbitMQ密码并将其添加回rabbitmq.conf文件。

  1. 停止当前服务器。

    停止x光
    cd $JFROG_HOME/xray/app/bin ./xray.sh stop .sh
  2. 提取压缩归档文件的内容并转到提取的文件夹。

    解压
    /opt/jfrog/ CD /opt/jfrog tar -xf jfrog-xray--linux.tar.gz

    从Xray 3.8开始。与Xray绑定的RabbitMQ已经升级,它需要升级Erlang库。这个库可以在$JFROG_HOME/xray/app/third找到。有关更多信息,请参见安装Erlang

  3. 替换现有的美元JFROG_HOME / x光/应用程序用新的应用程序文件夹中。

    升级
    #导出变量以简化命令Export JFROG_HOME=/opt/jfrog Export JF_NEW_VERSION=/opt/jfrog/jfrog-xray--linux #删除应用rm -rf $JFROG_HOME/xray/app #复制新应用cp -fr $JF_NEW_VERSION/app $JFROG_HOME/xray/ #删除提取的新版本rm -rf $JF_NEW_VERSION
  4. 管理x光。

    $ JFROG_HOME / x光/ app / bin / xray.sh开始|停止
  5. 访问x光从你的浏览器:http:// < jfrogUrl > / ui /,去吧。指示板选项卡应用程序模块。
  6. 检查x射线日志。

    $JFROG_HOME/xray/var/log/console.log . tail

执掌升级

从x射线图版本3升级时。X到3.x,due to breaking changes, useKubectl delete statefulsets 运行舵机升级。

同时,从x射线图版本3升级。X到4。x,由于破坏RabbitMQ(当rabbitmq.enabled = true)子图更改时,运行以下命令。

$ kubectl delete statefulsets  $ kubectl delete statefulsets  $ kubectl delete pvc  $ helm upgrade——install xray——namespace xray jfrog/xray

执行升级需要停机时间。

离线更新

如果您希望在pod中运行时对Xray数据库进行脱机更新,请将下载的数据复制到正确的Xray容器中(如果之前需要,可以缩小到1个副本),然后使用kubectl命令将文件复制到特定位置。

例如:

Kubectl cp ./ comp_6795364578871 .zip /xray-0:/opt/jfrog/xray/var/work/server/updates/component/ comp_6795364578871 .zip -c xray-server .zip
Kubectl cp ./ vuln_6795364578871 .zip /xray-0:/opt/jfrog/xray/var/work/server/updates/vulnerability/ vuln_6795364578871 .zip -c xray-server .zip

升级Xray。

  1. 将已部署的版本更新为更新后的版本。

    头盔升级——设置普通。xrayVersion =(版本号)/ jfrog / x光
  2. 如果安装了x射线而没有提供值postgresql.postgresqlPassword(密码是自动生成的),按照这些说明操作。

    1. 得到了执行以下命令获取当前密码。

      POSTGRES_PASSWORD=$(kubectl get secret -n  -postgresql -o jsonpath="{.data. path ")Postgresql-password}" | base64——decode)
    2. 通过传递先前自动生成的秘密来升级版本。

      jfrog/xray——set postgresql.postgresqlPassword=${POSTGRES_PASSWORD}
  3. 如果安装了x射线而没有提供值rabbitmq.auth.password(密码是自动生成的),按照这些说明操作。

    1. G通过运行以下命令设置当前密码。

      RABBITMQ_PASSWORD=$(kubectl get secret -n  -rabbitmq -o jsonpath="{.data. path ")Rabbitmq-password}”| base64——decode)
    2. 通过传递先前自动生成的秘密来升级版本。

       jfrog/xray——set rabbitmq.auth.password=${RABBITMQ_PASSWORD}
  4. 如果Xray是用所有默认值安装的(例如,Rabbit/Postgres没有用户提供的值),请遵循以下步骤。
    1. 如上节所述,检索所有当前密码(RabbitMQ/PostgreSQL)。
    2. 通过传递以前自动生成的秘密来升级版本。

      ——安装xray——命名空间xray jfrog/xray——set rabbitmq.auth。Password =——set postgresql.post
  5. 从浏览器访问Xray:http:// < jfrogUrl > / ui /,然后去x光选项卡应用程序模块。
  6. 检查已部署的舵机释放的状态。

    舵机状态x射线

从1.x/2升级图表版本。X到3.x和一个bove

  • JFrog x射线x只兼容JFrog Artifactory 7.x;要升级,必须首先安装JFrog Artifactory 7.x。
  • 从1之前的版本升级。如果安装了1.x,首先需要升级到最新版本的1.x
  • 从版本2升级。X,首先需要升级到最新版本2。X(有关更多信息,请参见升级Xray 2文档).
PostgreSQL迁移进程

推荐的迁移过程有两个主要步骤:

  1. 将已有的MongoDB数据迁移到已有的PostgreSQL中。
  2. 执行PostgreSQL的完整数据库导出和导入操作。
前提步骤:获取现有图表的详细信息
  1. 阻止用户访问Xray(但不关闭)。
  2. 获取服务名称OLD_PG_SERVICE_NAMEOLD_MONGO_SERVICE_NAME使用下面的命令。例如:OLD_PG_SERVICE_NAMEOLD_MONGO_SERVICE_NAME值作为< OLD_RELEASE_NAME > postgresql< OLD_RELEASE_NAME > mongodb分别。

    $ kubectl get svc NAME TYPE CLUSTER-IP external_ip PORT(S) AGE -mongodb ClusterIP 10.101.56.69  27017/TCP 114m -postgresql ClusterIP 10.101.250.74  5432/TCP 114m -rabbitmq-ha ClusterIP none  15672/TCP,5672/TCP,4369/TCP 114m -rabbitmq-ha- ha ClusterIP none  15672/TCP,5672/TCP,4369/TCP 114m -x射线分析ClusterIP 10.104.138.63  7000/TCP 114m-x射线-indexer ClusterIP 10.106.72.163  7002/TCP 114m -x射线-persist ClusterIP 10.103.20.33  7003/TCP 114m -x射线-server LoadBalancer 10.105.121.175  80:32326/TCP 114m
  3. 保存以前的密码OLD_PG_SERVICE_NAMEOLD_MONGO_SERVICE_NAME或者从现有的PostgreSQL和MongoDB的pod中提取它们。

    #示例:OLD_PG_PASSWORD=$(kubectl get secret -n  -postgresql -o jsonpath="{.data. path "postgresql -password}" | base64——decode) OLD_MONGO_PASSWORD=$(kubectl get secret -n  -mongodb -o jsonpath="{.data. password}"Mongodb-password}”| base64——decode)
  4. 停止旧的Xray pod(将副本缩减到0)仍然保持活跃。

    $ kubectl scale statfulsets - rabbitmqh -ha -xray-indexer -xray-persist -xray-server——replicas=0
将MongoDB的数据迁移到PostgreSQL中

运行舵安装(不是升级)新版本xray-new用下面的方法。

  1. 检查所有的探测是否被禁用。

    ——设置router.livenessProbe。启用=false——设置router.readinessProbe。启用=false——设置indexer. liveessprobe。启用=false——set analysis. liveessprobe。启用=false——设置server. liveessprobe。enabled=false——set persistent . liveessprobe。启用=false——设置indexer.readinessProbe。enabled=false——set analysis.readinessProbe。启用=false——设置server.readinessProbe。set persistent . readinessprobe .enabled=false
  2. 指向之前的PostgreSQL pod (user, password,DATABASE)。

    ——设置postgresql。启用=false——设置数据库。user=——set database。password=——set database.url="postgres://:5432/xraydb?sslmode =禁用”
  3. 指向前一个MongoDB(用户、密码、数据库)pod。

    ——设置x光。mongoousername =——set xray。mongoPassword=< old_mongopassword >——set xray. mongol ="mongodb://:27017/? "authSource = xray&authMechanism = SCRAM-SHA-1”

    这将触发迁移过程,如下面的示例所示。

    #创建一个customvalues。yaml文件router: livenessProbe: enabled: false readinessProbe: enabled: false indexer: livenessProbe: enabled: false readinessProbe: enabled: false analysis: livenessProbe: enabled: false readinessProbe: enabled: false readinessProbe: enabled: false persistent: livenessProbe: enabled: false readinessProbe: enabled: false readinessProbe: enabled: false postgresql: enabled: false database: user:  password:  url:“postgres: / / < SERVICE_NAME_POSTGRES >: 5432 / xraydb吗?sslmode =禁用”xray: mongoUsername:  mongoPassword:  mongoUrl: "mongodb://:27017/?authSource=xray&authMechanism=SCRAM-SHA-1" masterKey:  jfrogUrl:  joinKey:  rabbitmq: enabled: true auth: password:  rabbitmq-ha: enabled: false
  4. 应用values.yaml文件。

    头盔升级——安装xray-new jfrog/xray -f customvalues.yaml
  5. 停止新的Xray pod(将副本缩小到0),两个PostgreSQL pod仍然是活跃的。
  6. 创建一个customvalues.yaml文件。

    replicaccount: 0 postgresql: postgresqlPassword:  rabbitmq: enabled: true auth: password: < password > rabbitmq-ha: enabled: false xray: masterKey:  jfrogrurl:  joinKey:  unifiedUpgradeAllowed: true databaseUpgradeReady: true
  7. 应用values.yaml文件。

    头盔升级——安装xray-new jfrog/xray -f customvalues.yaml

执行PostgreSQL的全数据库导出和导入操作

在新旧pod之间迁移PostgreSQL数据。

  1. 连接到新的PostgreSQL pod(您可以通过运行kubectl得到豆荚)。

    $ kubectl exec -it  bash
  2. 登录后,使用以下命令从上一个数据库创建转储文件pg_dump,并连接到前一个PostgreSQL图表。

    $ pg_dump -h  -U xray DATABASE_NAME > /tmp/backup.sql

    运行该命令后,系统会提示输入密码;此密码为之前的图表密码OLD_PG_PASSWORD.此操作可能需要一些时间,具体取决于数据库的大小。

  3. 有了备份文件后,可以使用此命令恢复它。

  4. $ psql -U xray DATABASE_NAME < /tmp/backup.sql

    运行上述命令后,系统将提示您输入密码;这是当前的图表密码。此操作可能需要一些时间,具体取决于数据库的大小。

  5. 接下来,最后一次运行upgrade命令来启动Xray。

    #创建一个customvalues。jfrogrurl:  joinKey:  rabbitmq: enabled: true auth: password: < password > rabbitmq-ha: enabled: false postgresql: postgresqlPassword:  unifiedUpgradeAllowed: true databaseUpgradeReady: true
  6. 在安装过程中应用values文件。

    头盔升级——安装xray-new jfrog/xray -f customvalues.yaml
  7. 运行下面的命令来恢复对新x射线的访问删除旧的x射线部署和Helm版本。

    run helm delete 

x射线现在应该可以使用了。

RabbitMQ迁移进程

TRabbitMQ-HA图表已从7。X图版本;因此,在升级到7。x图表版本,你需要执行RabbitMQ迁移(假设你没有使用RabbitMQ Bitnami这样)。本节描述从RabbitMQ-HA图迁移到Bitnami RabbitMQ图之前升级到图表版本7。X及以上。

对于这个过程,您需要选择是否迁移没有现有队列(假设所有队列都是空的)或者在Xray关闭时迁移。

迁移没有现有队列

重要的

此过程假定所有队列都为空。

在运行头盔升级时,确保没有索引或手表运行。

使用Bitnami RabbitMQ升级Xray(禁用RabbitMQ- ha)。

Yaml rabbitmq-ha: enabled: false rabbitmq: enabled: true auth: username: guest password: password


使用现有队列进行迁移

这个迁移选项需要停机时间,适用于在Xray中运行未完成任务的情况,但迁移到Bitnami RabbitMQ是必要的。

  1. 分离(禁用)x射线在人工。
  2. 使用两个RabbitMQ (RabbitMQ- ha和Bitnami RabbitMQ)升级Xray,并将Xray服务缩减为0 (replicaccount: 0)。

    两个rabbitmq应该缩小到一个副本。两个rabbitmq都应该有ha-mode:所有设置(默认情况下它们应该已经设置)。

    xray: replicaccount: 0 rabbitmq-ha: enabled: true replicaccount: 1 rabbitmq: enabled: true replicaccount: 1 auth:用户名:guest密码:guest
  3. 进入Bitnami RabbitMQ pod并运行以下命令。

    . bash export OLD_RMQ=rabbit@ '  ' -rabbitmq-ha-0. '  ' -rabbitmq-ha-discovery. '  ' .svc.cluster. bash$OLD_RMQ && \ rabbitmqctl start_app . local && \ rabbitmqctl stop_app && \ rabbitmqctl join_cluster


    进程之间的数据同步
    RabbitMQ-HA和新的BitnamiRabbitMQ节点开始。

  4. 使用命令验证队列大小和计数的同步rabbitmqctl list_queues.同步状态也可以从旧RabbitMQ (RabbitMQ- ha)的RabbitMQ仪表板中查看。
  5. 待所有集群节点间数据同步完成后,执行a执掌升级关闭RabbitMQ-HA。这将删除旧的RabbitMQ-HA并启动Xray服务。

    yaml xray: replicaccount: 1 rabbitmq-ha: enabled: false rabbitmq: enabled: true replicaccount: 1 auth:用户名:guest密码:guest
  6. 最后,从Bitnami RabbitMQ中移除旧节点。

    bash rabbitmqctl forget_cluster_node rabbit@ '  ' -rabbitmq-ha-0. '  ' -rabbitmq-ha-discovery. '  ' .svc.cluster.local . bash rabbitmqctl forget_cluster_node rabbit@ ' '  ' -rabbitmq-ha-discovery.
  7. 在Artifactory中启用Xray。

HA升级

本节描述升级x射线的过程使用交互式脚本的高可用性集群。

本次升级支持以下安装类型:

  • Linux存档
  • 码头工人组成
  • RPM或Debian

从3.31.0及更高版本开始,Xray支持HA安装的热升级。与常规升级不同,升级节点时不需要关闭辅助节点。

如果需要进行热升级,请确保HA集群中所有节点的版本一致。例如,如果一个节点的版本为3.31.0,另外两个节点的版本为3.31.1,则不能进行热升级。在升级过程中,您无法执行DB同步。在热升级过程中,不能重启任何节点。如果在进程中间重新启动节点,则该节点将无法重新加入集群。在升级过程中,JFrog平台UI显示一条警告消息。不能使用热升级过程降级到以前的版本

由于Xray支持从3.31.0版本开始热升级,因此可以通过热升级将3.31.0版本的HA安装升级到3.31.0以上版本。

从3.31.0以上版本升级

按照以下步骤,使用集群中每个节点上的交互式脚本升级Xray。

  1. 停止待升级节点的x射线服务。


    Linux存档
    $ JFROG_HOME / x光/ app / bin / xray.sh停止
    码头工人组成
    Docker-compose -p xray down
    RPM或Debian
    Systemctl stop xray
  2. 仅限Linux Archive:删除应用程序文件夹中。

  3. 通过运行安装脚本升级Xray。
    如果需要,脚本会用一系列强制输入提示您,包括jfrogURL(自定义基础URL)joinKey

    Linux归档/Docker撰写
    。/ config.sh
  4. RPM或Debian
    。/ install.sh
  5. 启动x射线服务。

    Linux存档
    $ JFROG_HOME / x光/ app / bin / xray.sh开始
    码头工人组成
    Docker-compose -p xray up -d
    RPM或Debian
    Systemctl start xray
从3.31.0之前版本升级

按照以下步骤使用交互式脚本升级Xray。

Linux和本地安装程序

在Linux和Native安装程序上运行升级之前,您需要停止RabbitMQ。因为shared.rabbitMq.autoStop默认设置为false。能够运行RabbitMQsystemctl / xray.sh,您将需要设置shared.rabbitMq.autoStop真正的在的system.yaml

码头工人组成

对于Docker Compose,您需要运行

docker- composition -rabbitmq -fyaml下来

  1. 停止所有x射线服务辅助节点

    重要的

    必须停止备节点上的业务之前停止主节点服务。

    Linux存档
    $ JFROG_HOME / x光/ app / bin / xray.sh停止
    码头工人组成
    Docker-compose -p xray down
    RPM或Debian
    Systemctl stop xray
  2. 接下来,停止主节点上的x射线服务。

    Linux存档
    $ JFROG_HOME / x光/ app / bin / xray.sh停止
    码头工人组成
    Docker-compose -p xray down
    RPM或Debian
    Systemctl stop xray
  3. 仅限Linux Archive:删除应用程序文件夹在所有节点上(主节点和辅助节点)。

  4. 通过运行安装脚本在主节点上升级Xray。
    如果需要,脚本将用一系列强制输入提示您,包括jfrogURL(自定义基础URL)joinKey

    Linux归档/Docker撰写
    。/ config.sh
  5. RPM或Debian
    。/ install.sh
  6. 启动主节点上的x射线服务。

    Linux存档
    $ JFROG_HOME / x光/ app / bin / xray.sh开始
    码头工人组成
    Docker-compose -p xray up -d
    RPM或Debian
    Systemctl start xray
  7. 升级备用节点的x射线。

    Linux归档/Docker撰写
    。/ config.sh
    RPM或Debian
    config.sh / install.sh
  8. 启动备节点的Xray服务。

    Linux存档
    $ JFROG_HOME / x光/ app / bin / xray.sh开始
    码头工人组成
    Docker-compose -p xray up -d
    RPM或Debian
    Systemctl start xray


  • 没有标签
版权所有©2023 JFrog Ltd.