有问题吗?想要报告问题?联系JFrog技术支持

跳到元数据的末尾
转到元数据的开始

概述

升级Artifactory的过程取决于您当前安装的版本。

请根据您当前的版本查看以下说明。

升级人工HA?

如果您正在升级人工高可用性集群,请参考升级人工HA

升级前

我们强烈建议你做一个完整的系统出口在开始升级过程之前。如果在任何时候决定回滚到当前版本,可以使用导出完整地再现当前系统。

从OSS升级到Pro

即使您只是将当前版本的Artifactory OSS切换到相同版本的Artifactory Pro,也请根据您运行Artifactory的方式遵循本页指定的相同升级说明(独立的rpm码头工人)。

页面内容


从v3升级。X或v4。x到最新版本

从版本3升级。X或4。X到最新版本需要您升级到Artifactory 6.10,然后升级到最新的Artifactory版本.这是一个简单的过程,无论您是否运行独立的安装,一个RPM的安装或者在集装箱码头工人

在你继续之前

在继续之前,有几点需要解决:

  1. JDK版本
    从4.0版本开始,Artifactory需要JDK 8。如果当前版本是v3。x,在升级到Artifactory 4之前。请确保安装了JDK 8,并更新JAVA_HOME环境变量以指向JDK 8的安装。详情请参阅系统需求

  2. 具有多种包类型的存储库
    从4.0版本开始,Artifactory将只对单个包类型存储库的相应客户端进行索引和处理。如果当前版本是3。X和安装包含支持多种包类型的存储库,您需要将它们迁移到单个包类型的存储库。您可以在升级之前或之后这样做。有关详情,请参阅单一包类型存储库
  3. Servlet容器
    从4.0版本开始,Artifactory只支持自带的内部servlet容器。如果您目前正在使用外部servlet容器,请首先阅读有关使用的内容使用外部Servlet容器时进行升级

  4. '斜杠'字符编码用于NPM构建
    NPM对'斜杠'字符编码的处理已从artifactory.system.properties存档到catalina.propertiesTomcat的文件。详情请参阅Npm作用域包

作为独立安装运行

  1. 解压缩Artifactory发行版归档文件。
  2. 如果ARTIFACTORY_HOME美元/ / conf / tomcat server.xml已被修改,保存在临时位置。
  3. 如果Artifactory被配置为使用非Derby的数据库,请保留ARTIFACTORY_HOME美元JDBC / tomcat / lib / < >司机在临时位置。
  4. 从您的文件中删除以下文件和文件夹ARTIFACTORY_HOME美元文件夹:
    • webapps / artifactory.war

    • tomcat

    • 箱子

  5. 将删除的文件和文件夹替换为新解压缩版本中的相应文件和文件夹。
  6. 存储在临时位置的任何文件现在都应该返回到新安装下的原始位置。
  7. 如果您将Artifactory作为服务安装,那么现在需要运行该服务
    1. 对于Linux服务,浏览到美元ARTIFACTORY_HOME / bin并执行以下命令作为根$ARTIFACTORY_HOME/bin/installService.sh [USER [GROUP]]

    2. 对于Windows服务,浏览到% ARTIFACTORY_HOME % \ bin和运行InstallService.bat

misc文件夹

misc文件夹包含专用环境的配置文件,例如将Artifactory作为独立安装运行或在IBM Websphere(Artifactory 4.0以下版本支持此功能)。

虽然运行时不需要这些文件,但建议也替换这个文件夹。

作为RPM安装运行

确保从v3.6或更高版本升级

当作为RPM安装运行时,您只能升级到v4。如果您当前的版本是3.6或更高版本。如果有必要,首先将当前版本升级到3.6,然后再升级到4.x。

如果您尝试升级3.6以下的版本,请使用rpm——力你可能最终会删除你所有的数据。


  1. 以root身份登录(或使用Sudo su -)。
  2. 执行如下命令:

    jfrog-artifactory--4.y.z.rpm

    从Artifactory OSS切换到Pro

    如果你只是用相同的版本号从Artifactory OSS切换到Pro,你需要添加命令——force——nodeps,如下所示:
    jfrog-artifactory--4.y.z.rpm--force --nodeps

在RPM安装的升级过程中,可能会备份不同的文件,其中备份文件会附加一个.rpmorig或者一个.rpmnew扩展。

一个.rpmorig扩展意味着安装中的原始文件,即在执行升级之前存在的文件,在升级过程中被替换之前进行了备份。

一个.rpmnew扩展名表示安装中的原始文件是在升级中替换,取而代之的是备份具有相同文件名的新文件。

在这两种情况下,Artifactory都将显示如下消息:

警告:/etc/opt/jfrog/artifactory/default保存为/etc/opt/jfrog/artifactory/default.rpmorig

在这些情况下,我们建议将升级完成后安装的文件与备份文件进行比较,看看哪个最适合您的需求,并在最终设置中使用该文件。

如果您进行了任何更改,您可能需要重新启动Artifactory以应用更改。

使用YUM升级

从版本3升级Artifactory的简单方法。X或4。升级到最新版本是使用YUM和Bintray Artifactory存储库。下面的代码片段显示了如何根据当前版本是低于3.6还是高于3.6来执行此操作。

Artifactory Pro

Curl https://bintray.com/jfrog/artifactory-pro-rpms/rpm -o bintray-jfrog-artifactory-pro-rpm。Repo && sudo mv bintray-jfrog-artifactory-pro-rpm。回购/etc/yum.repos.yum安装jfrog-artifactory-pro

用于人工OSS

Curl https://bintray.com/jfrog/artifactory-rpms/rpm -o bintray-jfrog-artifactory-rpm。Repo && sudo mv bintray-jfrog-artifactory-rpm。回购/etc/yum.repos.安装jfrog-artifactory-oss

Artifactory Pro

Curl https://bintray.com/jfrog/artifactory-pro-rpms/rpm -o bintray-jfrog-artifactory-pro-rpm。Repo && sudo mv bintray-jfrog-artifactory-pro-rpm。回购/etc/yum.repos.yum install jfrog-artifactory-pro

用于人工OSS

Curl https://bintray.com/jfrog/artifactory-rpms/rpm -o bintray-jfrog-artifactory-rpm。Repo && sudo mv bintray-jfrog-artifactory-rpm。回购/etc/yum.repos.yum install jfrog-artifactory-oss

在Docker容器中运行

Artifactory在Docker容器中作为RPM服务运行。要升级Artifactory,请按照作为RPM安装运行

作为Debian安装运行

  1. 以root身份登录(或使用Sudo su -)。
  2. 执行如下命令:

    DPKG -i $jfrog-artifactory--4.y.z.deb

管理配置文件

升级时DebianRPM安装升级过程会覆盖以下配置文件集:

  • system.properties
  • config . xml
  • 默认的
  • logback.xml
  • mimetypes.xml
  • 所有档案opt / jfrog / artifactory / misc
  • 所有档案opt / jfrog / artifactory / webapps

如果这些文件中的一个被更改,将自动创建一个备份文件,并在升级日志中发出通知。如果需要恢复配置更改,可以从创建的备份中恢复。


单一包类型存储库

单包类型

要使用版本4。X,您需要确保您的存储库只包含具有相同包类型的工件。可以在JFrog GitHub

在版本3中。x Artifactory支持具有多种包类型的存储库。您可以将不同类型的包上传到同一个存储库,Artifactory将计算这些包的元数据。尽管如此,维护每个存储库的单一包类型始终是优化性能并在系统中产生更有组织的存储库结构的最佳实践。从4.0版本开始,您需要指定一个包类型为存储库创建时创建的。Artifactory只会为工件计算元数据,并被相应的客户端软件识别为工件包类型为该存储库指定的。(Artifactory不会阻止您上传不同类型的包,但是,它不会计算这些包的元数据,并且不同包类型的客户机将无法识别存储库)。

如果您当前的存储库被配置为支持多种包类型,那么您需要将它们迁移到单个包类型的存储库,但是,您可以在运行升级过程之前或之后这样做。

要在升级之前迁移存储库,请参考迁移到单一包类型存储库

如果您希望在升级后迁移存储库,或者已经升级,请参考修复多个包类型存储库

通用存储库

在版本4中。如果您需要一个存储库来保存几种不同类型的包,您可以指定它的包类型为通用的。Artifactory不计算通用存储库的元数据,并且有效地,它们的行为就像一个简单的文件系统来存储包。

迁移到单一包类型存储库

要将包含多个包类型的存储库迁移到单个包类型的存储库,请执行以下步骤:

  1. 更改原始存储库的配置,使其只支持一种包类型。
  2. 对于所需的每个附加打包类型,创建一个具有相应包类型的新存储库
  3. 使用REST API或UI将包从原始存储库移动到创建的新存储库,直到所有存储库只包含相同类型的包。
    在使用REST API时,请确保包含suppressLayouts = 1查询参数,以防止工件路径转换。

Npm存储库

如果您将数据移动到Npm存储库,请确保包含。npm文件夹中。这将保留在使用npm客户端部署包时可能存储的额外信息。

修复多个包类型存储库

如果您在没有迁移到单个包类型存储库的情况下进行了升级,那么Artifactory将正常启动,但是,包含多个包类型的存储库将正常启动随机从原始存储库中分配单个包类型之一,并将相应的消息输出到美元ARTIFACTORY_HOME /日志/ artifactory.log文件。

例如,如果lib -release-local包含三个不同的包类型:RubyGems、Npm和NuGet,那么在升级之后,你的美元ARTIFACTORY_HOME /日志/ artifactory.log可能包含与以下类似的消息:

2015-06-28 10:10:47,663 [art-init] [ERROR] (o.a.v.c.v.SingleRepoTypeConverter:155)在仓库'lib -release-local'中禁用包'Gems',因为只允许一种打包类型!2015-06-28 10:10:47,664 [art-init] [ERROR] (o.a.v.c.v.SingleRepoTypeConverter:155)禁用lib -release-local的Npm包,因为只允许一种包类型!2015-06-28 10:10:47 . 664 [art-init] [INFO] (o.a.v.c.v.SingleRepoTypeConverter:128)设置存储库'lib -release-local'类型为NuGet 2015-06-28 10:10:47 . 664 [art-init] [INFO] (o.a.v.c.v.SingleRepoTypeConverter:128)设置存储库'lib -快照-local'类型为Maven 2015-06-28 10:10:47 . 664 [art-init] [INFO] (o.a.v.c.v.SingleRepoTypeConverter:128)设置存储库'plugins-release-local'类型为Maven 2015-06-28 10:10:47 . 664 [art-init] [INFO] (o.a.v.c.v.SingleRepoTypeConverter:128)设置存储库'plugins-快照-local'为Maven类型2015-06-28 10:10:47,665 [art-init] [INFO] (o.a.v.c.v.SingleRepoTypeConverter:128)设置存储库'ext-release-local'为Maven类型2015-06-28 10:10:47,666 [art-init] [INFO] (o.a.v.c.v.SingleRepoTypeConverter:128)设置存储库'ext-快照-local'为Maven类型2015-06-28 10:10:47,666 [art-init] [INFO] (o.a.v.c.v.SingleRepoTypeConverter:128)设置存储库'jcenter'为Maven类型2015-06-28 10:10:47,666 [art-init] [INFO](o.a.v.c.v.SingleRepoTypeConverter:128)设置存储库'远程-repo'为Maven类型2015-06-28 10:10:47,668 [art-init] [INFO] (o.a.v.c.v.SingleRepoTypeConverter:128)设置存储库'lib -snapshot'为Maven类型2015-06-28 10:10:47,668 [art-init] [INFO] (o.a.v.c.v.SingleRepoTypeConverter:128)设置存储库'p2'为p2类型2015-06-28 10:10:47,668 [art-init] [INFO] (o.a.v.c.v.SingleRepoTypeConverter:56)完成将存储库转换为单一包类型

在本例中,Artifactory设置包类型NuGet。

要解决这个问题,您可以简单地按照上面在迁移到单一包类型存储库,或在升级后使用packageType实用程序可以在JFrog Github上找到。x迁移


使用外部Servlet容器时进行升级

从4.0版本开始,Artifactory只支持自带的内部servlet容器。不再支持其他外部servlet容器(如Websphere、JBoss等)以及外部Tomcat。

如果你现在3。X安装在外部servlet容器中运行,升级到版本4的过程。X涉及以下基本步骤:

  1. 安装Artifactory 4。X在新位置,但不要启动它

    安装Artifactory 4。使用中描述的正常进程将X移到新位置安装Artifactory

    请确保在启动新安装之前完成以下步骤。

    美元ARTIFACTORY_HOME位置

    $ARTIFACTORY_HOME是您解压缩Artifactory安装文件的位置。

  2. 使用外部数据库时

    将JDBC驱动程序复制到您的新安装中,并将其放入$ ARTIFACTORY_HOME / tomcat / lib。

  3. 将$ARTIFACTORY_HOME中的旧数据复制或符号链接到新的$ARTIFACTORY_HOME目录

    复制或符号链接数据备份从旧的$ARTIFACTORY_HOME目录到新的$ARTIFACTORY_HOME目录。

  4. 关闭当前安装

    执行当前安装的有序关机。

  5. 启动Artifactory 4.x

从v3.0以下的任何版本升级

要从3.0之前的版本升级,首先需要升级到3.9版本。X,如在Artifactory 3文档中升级Artifactory

临时版本

根据您当前的版本,升级到3.9版本。X可能要求您首先升级到临时版本。


下调Artifactory

降级Artifactory的过程可能因您使用的版本而异。欲知详情,请联络JFrog支持


观看视频