云客户?
免费开始>
在MyJFrog >中升级
云有什么新>

搜索







概述

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

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

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

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

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

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

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

建议您先复习一下有什么新鲜事使用最新的JFrog平台。回顾重大更改、已弃用特性等。

在继续之前

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

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

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

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

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

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

升级Xray PostgreSQL

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

要了解升级PostgreSQL的流程和要求,请参见JFrog x射线PostgreSQL升级- PostgreSQLx EoS

升级步骤

升级过程包括以下步骤:

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

默认主目录/ $JFROG_HOME

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

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

JFrog订阅级别

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


从2.7以下版本升级

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

从版本3开始。x时,Xray不使用MongoDB,除了从版本2.x迁移的初始阶段。数据从2.7x及以上版本自动从MongoDB迁移到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开始时。x时,数据自动从MongoDB迁移到PostgreSQL。在启动Xray服务之前,请确保两个数据库都已启动并正在运行。在迁移期间,x射线将不可访问。迁移时间取决于需要迁移的数据大小。


交互式脚本升级(推荐)

安装程序脚本适用于所有支持的升级方法(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. 解压缩归档文件的内容并转到解压缩的文件夹。安装程序脚本位于解压缩的文件夹中。

    Tar -xvf jfrog-xray--.tar.gz CD jfrog-xray--.tar.gz

    .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启动x射线
    码头工人组成
    cd jfrog-xray--compose #从Xray 3.8x开始,RabbitMQ已经被移动到自己的合成文件中,需要在启动其他服务之前启动docker-compose- p Xray - RabbitMQ -f docker-compose- RabbitMQ。yaml up -d #从Xray 3.8开始。在启动其他服务之前,需要先启动PostgreSQL。Docker-compose -p xray-postgres -f Docker-compose -postgres 9-5-2v。Yaml up -d docker-compose -p x射线up -d docker-compose -p x射线ps docker-compose -p x射线down
  8. 从浏览器访问Xray:http:// < jfrogUrl > / ui/,去x光页中的应用程序模块。
  9. 检查x射线日志。

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

数据迁移步骤(MongoDB to PostgreSQL)

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

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


手动升级RPM

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

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

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

    Tar -xvf jfrog-xray--rpm. Tar .gz CD jfrog-xray--rpm. gz
  4. 确保您的MongoDB正在运行,以确保迁移到PostgreSQL的过程将正常工作。
  5. 在Red Hat兼容的Linux发行版上,以根用户身份将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连接细节。
    Xray需要一个正常工作的Artifactory服务器和一个合适的许可证。与Artifactory的x射线连接需要2个参数:
    • jfrogUrl- JFrog Artifactory所在机器的URL,或者负载均衡器指向该机器的URL。建议使用DNS名称,不要直接使用ip地址。例如:http://jfrog.acme.comhttp://10.20.30.40:8082”。请注意,/ artifactory上下文不再是必需的。
      把它设置在共享配置部分JFROG_HOME美元/ x光/ var / etc / system.yaml文件。
    • join.key-这是Artifactory注册和验证x射线服务器所需的“秘密”密钥。
      你可以获取ArtifactoryjoinKey(join Key)从JPD UI用户管理|设置|接入键
      设置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可以在Xray 3之后卸载。X已成功安装并运行。

    从MongoDB迁移数据到PostgreSQL

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

    Service mongod start|stop|status
  9. 开始x光。

    systemd操作系统
    Systemctl启动xray.service
    systemv操作系统
    Systemctl启动x射线
  10. 从浏览器访问Xray:http:// < jfrogUrl > / ui /,去x光页中的应用程序模块。

  11. 检查x射线日志。

    -f $JFROG_HOME/xray/var/log/console.log

数据迁移步骤(MongoDB to 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. 解压缩归档文件的内容并转到解压缩的文件夹。

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

    运行安装
    DPKG -i ./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连接细节。
    Xray需要一个正常工作的Artifactory服务器和一个合适的许可证。与Artifactory的x射线连接需要2个参数:

    • jfrogUrl- JFrog Artifactory所在机器的URL,或者负载均衡器指向该机器的URL。建议使用DNS名称,不要直接使用ip地址。例如:http://jfrog.acme.comhttp://10.20.30.40:8082”。请注意,/ artifactory上下文不再是必需的。
      把它设置在共享配置部分JFROG_HOME美元/ x光/ var / etc / system.yaml文件。
    • join.key-这是Artifactory注册和验证x射线服务器所需的“秘密”密钥。
      你可以获取ArtifactoryjoinKey(join Key)从JPD UI用户管理|设置|接入键
      设置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可以在Xray 3之后卸载。X已成功安装并运行。

    MongoDB

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

    Service mongod start|stop|status
  9. 开始x光。

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

    -f $JFROG_HOME/xray/var/log/console.log

数据迁移步骤(MongoDB to PostgreSQL)

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

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

HA升级

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

升级x射线。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. 解压缩归档文件的内容并转到解压缩的文件夹。

    Tar -xvf jfrog-xray-- composer . Tar .gz 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运行use - docker-compose-p xray-postgres -f docker-compose-postgres 9-5-2v。如果PostgreSQL 10.13正在运行,使用- docker-compose-p xray-postgres -f docker-compose-postgres-10-13v。如果PostgreSQL 12.3正在运行,则使用- docker-compose-p xray-postgres -f docker-compose-postgres。Yaml up -d docker-compose -p x射线up -d docker-compose -p x射线ps docker-compose -p x射线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可以在Xray 3之后卸载。X已成功安装并运行。

  7. 启动x射线节点。

    systemd操作系统
    Systemctl启动xray.service
    systemv操作系统
    Systemctl启动x射线

    使用以下命令管理Xray。

    systemd操作系统
    Systemctl停止xray.service
    systemv操作系统
    Service xray stop|status|restart .使用实例
  8. 从浏览器访问Xray:http:// < jfrogUrl > / ui /,去x光页中的应用程序模块。
  9. 检查x射线日志。

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

    服务x射线停止


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

    RPM
    Tar -xvf jfrog-xray--rpm. Tar .gz
    Debian
    Tar -xvf 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启动x射线

    使用以下命令管理Xray。

    systemd操作系统
    Systemctl停止xray.service
    systemv操作系统
    Service xray stop|status|restart .使用实例
  6. 从浏览器访问Xray:http:// < jfrogUrl > / ui /,去x光页中的应用程序模块。
  7. 检查x射线日志。

    -f $JFROG_HOME/xray/var/log/console.log

数据迁移步骤(MongoDB to 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停止xray.service
    systemv操作系统
    服务x射线停止
    码头工人组成
    CD jfrog-xray--compose docker-compose -p xray down
  3. 解压缩归档文件的内容并转到解压缩的文件夹。安装程序脚本位于解压缩的文件夹中。
    请注意:对于Docker Compose升级,请确保合并当前的任何自定义docker-compose.yaml文件的新提取版本
    docker-compose.yaml文件。

    Tar -xvf jfrog-xray--.tar.gz CD jfrog-xray--.tar.gz

    请注意

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

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

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

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

    -f $JFROG_HOME/xray/var/log/console.log

手动升级RPM/Debian

  1. 下载x光(RPM或Debian)

  2. 停止当前服务器。

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

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

    Tar -xvf jfrog-xray--.tar.gz CD jfrog-xray--.tar.gz

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

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

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

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

  7. 开始x光。

    systemd操作系统
    Systemctl启动xray.service
    systemv操作系统
    Systemctl启动x射线
  8. 从浏览器访问Xray:http:// < jfrogUrl > / ui /,去x光页中的应用程序模块。

  9. 检查x射线日志。

    -f $JFROG_HOME/xray/var/log/console.log

手动Docker合成升级

  1. 停止当前服务器。

    Docker-compose -p x射线关闭
  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


    Docker for Mac

    当你在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_SHARED_RABBITMQ_ACTIVE_NODE_IP=127.0.0.1 #第三方应用程序内部端口的绑定IP JF_THIRD_PARTY_BIND_IP=127.0.0.1
  5. 使用docker-compose命令启动Xray和PostgreSQL。

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

  7. 检查x光日志。

    Docker ps Docker -compose -p x射线日志

    配置控制台日志的日志旋转

    console.log文件可以快速增长,因为所有服务都对其进行写操作。安装脚本添加了一个cron作业来记录旋转console.log每小时归档一次。

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

Linux档案升级

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

  1. 停止当前服务器。

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

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

    从Xray 3.8开始。Xray捆绑的RabbitMQ已经升级,需要升级Erlang库。这个库可以在$JFROG_HOME/xray/app/third-party上找到。有关更多信息,请参见安装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 $ jfrog_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射线日志。

    -f $JFROG_HOME/xray/var/log/console.log

执掌升级

当从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

升级x射线。

  1. 将现有的部署版本更新到更新后的版本。

    ——install ——命名空间xray jfrog/xray
  2. 如果安装Xray时没有提供值postgresql.postgresqlPassword(密码是自动生成的),按照下面的说明操作。

    1. 得到了运行以下命令输入当前密码。

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

      ——set postgresql.postgresqlPassword=${POSTGRES_PASSWORD}
  3. 如果安装Xray时没有提供值rabbitmq.auth.password(密码是自动生成的),按照下面的说明操作。

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

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

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

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

    舵舵状态x光片

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

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

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

  1. 迁移现有MongoDB数据到现有PostgreSQL。
  2. 执行PostgreSQL的完整数据库导出和导入。
前提条件步骤:获取现有图表的详细信息
  1. 阻止用户访问x射线(但不关闭)。
  2. 获取服务名称OLD_PG_SERVICE_NAMEOLD_MONGO_SERVICE_NAME使用以下命令。例如:OLD_PG_SERVICE_NAME而且OLD_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无<无> 15672/TCP,5672/TCP,4369/TCP 114m -rabbitmq-ha-discovery ClusterIP无<无> 15672/TCP,5672/TCP,4369/TCP 114m - x射线-analysis ClusterIP 10.104.138.63 <无> 7000/TCP 114m-xray-indexer ClusterIP 10.106.72.163  7002/TCP 114m -xray-persist ClusterIP 10.103.20.33  7003/TCP 114m -xray-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. data. "postgres-password}" | base64——decode) OLD_MONGO_PASSWORD=$(kubectl get secret -n <命名空间> -mongodb -o jsonpath="{.data. key}"Mongodb-password}" | base64——decode)
  4. 停止旧的Xray pod(将副本缩小到0)仍然保持活跃。

    $ kubectl scale statefulsets -rabbitmq-ha -xray-analysis -xray-indexer -xray-persist -xray-server——replicas=0
迁移现有MongoDB数据到现有PostgreSQL

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

  1. 验证所有探测都已禁用。

    ——设置router.livenessProbe。enabled=false——设置router.readinessProbe。enabled=false——设置index . livingessprobe。enabled=false——设置analysis. livingessprobe。enabled=false——设置server. livingessprobe。enabled=false——设置persistence . livingessprobe。enabled=false——设置indexer.readinessProbe。enabled=false——设置analysis.readinessProbe。enabled=false——设置server.readinessProbe。——set persistent . readinessprobe .enabled=false
  2. 指向之前的PostgreSQL pod(用户,密码,数据库)。

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

    ——设置x光。mongusername =——设置x射线。mongpassword =——set x - ray. mongourl ="mongodb://:27017/? "authSource = xray&authMechanism = SCRAM-SHA-1”

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

    #创建自定义值。yaml文件路由器:livingessprobe: enabled: false readinessProbe: enabled: false indexer: livingessprobe: enabled: false readinessProbe: enabled: false分析:livingessprobe: enabled: false readinessProbe: enabled: false服务器:livingessprobe: enabled: false readinessProbe: enabled: false persistent: livingessprobe: enabled: false postgresql: enabled: false数据库: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. 停止新的x射线舱(缩小副本到0)。两个PostgreSQL舱仍然处于活动状态。
  6. 创建一个customvalues.yaml文件。

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

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

执行PostgreSQL的完整数据库导出和导入

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

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

    $ kubectl exec -它 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. 接下来,最后一次运行升级命令来启动Xray。

    #创建自定义值。yaml文件xray: masterKey:  jfrogUrl:  joinKey:  rabbitmq: enabled: true auth: password: < password > rabbitmq-ha: enabled: false postgresql: postgresqlPassword:  unifiedUpgradeAllowed: true databaseUpgradeReady: true
  6. 在安装期间应用值文件。

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

    执行helm delete  .命令

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

RabbitMQ迁移过程

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

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

迁移没有现有队列

重要的

这个过程假设所有队列都是空的。

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

用Bitnami RabbitMQ升级x射线(禁用RabbitMQ- ha)。

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


使用现有队列迁移

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

  1. 在Artifactory中分离(禁用)x射线。
  2. 使用RabbitMQ (RabbitMQ- ha和Bitnami RabbitMQ)升级Xray,并将Xray服务缩小到0 (replicaccount: 0)。

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

    yaml xray: replicaccount: 0 rabbitmq-ha: enabled: true replicaccount: 1 rabbitmq: enabled: true replicaccount: 1 auth: username: guest password: guest
  3. 进入Bitnami RabbitMQ pod并运行以下命令。

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


    之间数据同步的过程
    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: username: guest password: guest
  6. 最后,从Bitnami RabbitMQ中移除旧节点。

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

HA升级

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

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

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

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

执行热升级时,请确保HA集群中所有节点的版本一致。例如,一个节点的版本为3.31.0,另外两个节点的版本为3.31.1,不支持热升级。升级过程中不能进行DB同步操作。热升级过程中,禁止重启节点。如果在此过程中重新启动节点,则该节点将无法重新加入集群。升级过程中,JFrog平台界面显示警告信息。不能通过热升级过程降级到以前的版本

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

从3.31.0以上版本升级

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

  1. 停止待升级节点上的Xray服务。


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

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

    Linux Archive/Docker Compose
    。/ config.sh
  4. RPM或Debian
    。/ install.sh
  5. 启动x射线服务。

    Linux存档
    $ JFROG_HOME / x光/ app / bin / xray.sh开始
    码头工人组成
    Docker-compose -p x射线向上-d
    RPM或Debian
    Systemctl启动x射线
从3.31.0以前的版本升级

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

Linux和本机安装程序

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

码头工人组成

对于Docker Compose,您将需要运行

Docker-compose -p xray-rabbitmq -f Docker-compose -rabbitmq。yaml下来

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

    重要的

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

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

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

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

    Linux Archive/Docker Compose
    。/ config.sh
  5. RPM或Debian
    。/ install.sh
  6. 在主节点上启动Xray服务。

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

    Linux Archive/Docker Compose
    。/ config.sh
    RPM或Debian
    config.sh / install.sh
  8. 在辅助节点上启动Xray服务。

    Linux存档
    $ JFROG_HOME / x光/ app / bin / xray.sh开始
    码头工人组成
    Docker-compose -p x射线向上-d
    RPM或Debian
    Systemctl启动x射线


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